[jawsscripts] Re: Object/element identification in html land? was The problematic highlight bar non-reading of an HTML-based "dropDown," that isn't identified as an editCombo box?

  • From: Scott Huey <shuey@xxxxxxxxx>
  • To: "jawsscripts@xxxxxxxxxxxxx" <jawsscripts@xxxxxxxxxxxxx>
  • Date: Mon, 2 Dec 2013 17:12:51 +0000

I've been building some scripting for an AJAX based web application, which 
includes specific behavioral modification based on conditionals of HTML element 
type as you're describing.  In the context of my scripting, I was co-opting the 
arrow key navigation to behave uniquely when the "focused" section of the page 
was built with specific components which did not behave "naturally" (i.e. the 
bane of my existence, the "ajax__tab_xp ajax__tab_container ajax__tab_default" 
interactive tab container DIV object). It took me about a couple days to sort 
it all out, but in the end I was able to build out a nested conditional 
statement which could accurately check for details of the object in question. 
The steps required are radically different depending on which cursor is active. 
In the context of the web app I'm working with, JAWS and Invisible Cursors 
return wildly inaccurate data, so I was able to constrain my cases to a binary 
choice between either the PC Cursor ("IF IsFormsModeActive() THEN") and the 
Virtual Cursor ("IF isVirtualPCCursor() THEN").

If the active cursor is the PC cursor (i.e. Forms Mode is active), the process 
is a relatively straightforward one using pure Document Object Model (DOM) 
level interactions. The DOM contains a method for instantly returning the 
current object with focus, "document.ActiveElement", which can then be queried 
directly for its specific details. JAWS code to retrieve the information would 
look as follows:  

/* --- Start Code Segment --- */
Var object oDocument, object oFoc, string sElementID 
let oDocument = IEGetCurrentDocument()
let sElementID = oDocument.activeElement.ID
let oFoc = oDocument.getElementByID(sElementID) 
; From here, I could now manipulate the object directly further in the 
scripting, including directly extract data about its class, tag, and style.
/* --- End Code Segment --- */

If the VirtualPC cursor is active and the user is traversing the OSM, I think 
we're stuck using the GetElementDescription function and extracting the 
relevant substring from its return. Conceptually, I'm absolutely certain that 
GetElementDescription itself is using more targeted sub-functions to find the 
individual parts it returns (id, class, etc., which it then concatenates 
together), but I haven't found any documentation indicating what they might be 
so I've relied on delimiting the return using the newline ("\n") character as 
the delimiter. The results are fairly reliable, under the assumption that 
elements of interest will ALWAYS have the attribute I'm checking (i.e. when I 
check for IDs, I already know in the specific web tool I'm working on that 
everything with text content drawn into the OSM has a programmatically assigned 
ID value in the DOM). For this, the code looked something like below:

/* --- Start Code Segment --- */
Var string sDelimited, int iIndex, object oFoc, object oDocument
Let oDocument = IEGetCurrentDocument()
let sDelimited = GetElementDescription (1, FALSE) ; Returned only information 
regarding the specific element, as Ancestor data is here irrelevant.
let iIndex = StringSegmentIndex (sDelimited, "\n", "id=", False) ;Delimit the 
string by the NewLine character, return the index of the one for the ID via the 
tag "id=" 
let sDelimited = StringSegment (sDelimited, "\n", iIndex) ;Pare down the string 
to just the single segment
let sDelimited = StringReplaceSubstrings (sDelimited, "id=", "")        ;At 
this point, sDelimited is now purely the ID
let oFoc  = oDocument.getElementByID(sDelimited) 
; From here, I could now manipulate the object directly further in the 
scripting, including directly extract data about its class, tag, and style.
/* --- End Code Segment --- */

A basic example adapted from my existing code, where I would be trying to 
extract the "current element's" Class for the purposes of a validation check, 
altogether looks like so. For reference, oDocument was set with 
IEGetCurrentDocument much higher in the function.

/* --- Start Code Segment --- */
IF FormsModeActive() Then
        Let sClass = oDocument.activeElement.className
ELIF IsVirtualPCCursor() Then
        Let sDelimited = GetElementDescription(1, FALSE) ; Returned only 
information regarding the specific element, as Ancestor data is here irrelevant.
        Let iIndex = StringSegmentIndex(sDelimited, "\n", "class=", False)
        Let sClass = StringSegment(sDelimited, "\n", iIndex)
        Let sClass = StringReplaceSubstrings(sClass, "class=","")
Else
;Logic in this script assumed the JAWS and Invisible Cursors represent an 
invalid state (as they return anomalous results), so this branch simply did 
cleanup and then called the original implementation of the overridden script
EndIF
/* --- End Code Segment --- */

From that point, I would use sClass as part of an extended ELIF block, 
essentially working as a SELECT CASE construct, to branch the behaviors 
depending on the specific type of element on which the User had (virtual) 
focus. I think it fairly robust, in that my implementation has survived 
stability and reliability testing on the web-tool I've designed it for. That 
said, it's a scripting solution for a web tool we host in house. So while it's 
not one we wrote ourselves (if it was, I would have made it conform to WCAG so 
scripting wouldn't be necessary at all), it's on a server which won't be 
updated without our consent. I've admittedly designed around a specific edition 
of a designer tool, so YMMV of course but I also wouldn't recommend taking this 
sort of approach with any hosted tool that could be redesigned without warning. 
Just about any attribute you could reference for a Rich Internet Application is 
arbitrary in its specific string. The only things I would say really end up 
being set in stone (to the point that you could define them statically in a 
JAWS script) as far as a Web App is concerned are the flat Tag Names, and of 
course ARIA markups. Theoretically if there are ARIA markups in your web 
application, then scripting shouldn't be needed. 





-----Original Message-----
From: jawsscripts-bounce@xxxxxxxxxxxxx 
[mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Geoff Chapman
Sent: Sunday, December 01, 2013 4:42 PM
To: jawsscripts@xxxxxxxxxxxxx
Subject: [jawsscripts] Object/element identification in html land? was The 
problematic highlight bar non-reading of an HTML-based "dropDown," that isn't 
identified as an editCombo box?

Another perhaps even more basic question related to my issue though that occurs.

In Html land, where it seems we're not talking about identifying certain 
so-called windows, at the detection of which we might wish to alter certain 
default behaviour, but rather, elements? or Objects?"
How would one go about even setting up conditional statements to check if we 
were focused on a certain object or element, like these particular 
edit/list-box combo controls, to even introduce a solution? Once we've come up 
with one that works anyway?

E.g. in the element information, part of which I'll rePaste below, We read 
things like Class, and ID, and Tag DIV, etc.
So is it possible in Script land, to somehow code up conditional statements 
that might look for these identifiers, and to thus insert behaviour change when 
located?
How might one even begin to go about doing this?
Is such methodology in the least reliable/robust in a browser based situation 
such as this?

Or, if too onerous to answer directly, does anyone know just where I might even 
begin to go for study of such a situation where this might be being done 
somewhere already?

Here's a little code from the original element information on this particular 
control:



>> Element Information:

Tag INPUT has 7 parameters:

autocomplete=off

class= x-form-text x-form-field  x-form-focus

id=par-1C05555973514DF39BE96CF44694A3B2-d

size$

style
tabindex!002

type=text

MSAA Role*


Tag DIV has 3 parameters:

class=x-form-field-wrap x-form-field-trigger-wrap  x-trigger-wrap-focus

id=ext-gen437

style=

Tag DIV has 3 parameters:

class=x-form-element

id=x-form-el-par-1C05555973514DF39BE96CF44694A3B2-d

style=

Tag DIV has 3 parameters:

class=x-form-item

id=ext-gen434

tabindex=-1

Tag DIV has 3 parameters:

class= x-request-column x-request-column-out x-form-label-top x-column

id=ext-comp-1504

style=

----- Original Message ----- 
From: "Jim Snowbarger" <Snowman@xxxxxxxxxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Saturday, November 30, 2013 2:53 PM
Subject: [jawsscripts] Re: The problematic highlight bar non-reading of an 
HTML-based "dropDown," that isn't identified as an editCombo box?


> Does anybody know what window jaws will search for a custom highlight? 
> That
> isn't a applicaition-wide search, is it?
> Will it not search if a normal caret can be found?
> If not, how could one make it ignore the caret, and use highlight 
> searching
> only.
>
> ----- Original Message ----- 
> From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
> To: <jawsscripts@xxxxxxxxxxxxx>
> Sent: Friday, November 29, 2013 9:08 PM
> Subject: [jawsscripts] Re: The problematic highlight bar non-reading of an
> HTML-based "dropDown," that isn't identified as an editCombo box?
>
>
> Hi everyone.
>
> NO joy with any of the suggestions tried so far, except for Arder's below.
> haven't gotten to try that one yet, so keep any other suggestions on this
> coming.
>
> Jackie when I get a remote login to this system, I'll be able to trial a 
> few
> more things like HSC's GetColorAtPoint functionality, as opposed to the
> Jaws+TopRow5 Get TextColor Foreground/Bakground, the dude I'm working with
> was certainly surprised when what he thought was a blue highlight bar, got
> defined as Grey13 on lavender.
> Although I thought lavender was a type of blue, but ... hey, what would I
> know.
>
> Jim tested with the Jaws cursor tucked firmly out of the way, and 
> invisible
> cursor on highlighted text just with focus etc, still thinks it's grey13 
> on
> Lavender, whereas the non-highlighted text in the list is identified as
> Grey13 on white. so we tried setting the custom highlight as anything on
> Lavender, since it seemed to us that it was maybe the background that was
> doing the highlighting, but, still no joy. jaws doesn't track it as
> highlight is moved up and down.
> Sigh.
> ----- Original Message ----- 
> From: "Artur Räpp" <rtr@xxxxxxxxx>
> To: <jawsscripts@xxxxxxxxxxxxx>
> Sent: Friday, November 29, 2013 5:36 PM
> Subject: [jawsscripts] Re: The problematic highlight bar non-reading of an
> HTML-based "dropDown," that isn't identified as an editCombo box?
>
>
>> Hello,
>>
>> On a webpage I found following solution with a "edit-combo"
>>
>> I moved to edit field (edit part of the edit-combo), turned off the
>> virtual cursor, typed some letter, pressed once down arrow, pressed tab
>> once, landed on the listbox part and then moved down with down arrow.
>> After I found what I needed, I turned virtual cursor again on.
>>
>> On another such HTML editcombo I didn't found any solution and copied
>> the choices into a file and copi-pasted from the file the right choice
>> into edit field. With the full text system chose the right choice. The
>> coices were static. To get the choices, I used ins+ctrl+shft+f1 keyboard
>> command (Advanced Element Information).
>>
>> my 0.01$.
>>
>> Artur
>>
>> 29.11.2013 2:00, Geoff Chapman kirjutas:
>>> Hi Scripters.
>>> Ok, in relation to my query the other day, about a particular so-called
>>> "drop-down,"type element on a particular client's workPlace site that
>>> Jaws will not handle correctly,
>>> I now have more information about this, and would very much appreciate
>>> anyone's views on where I might even start to solve this problem, as 
>>> it's
>>> a dealBreaker for this poarticular employed person, re being able to do
>>> his job on the new system the company is rolling out in February.
>>> It's a bit of a lengthy query, but I'd appreciate those who're able, to
>>> stick with me whilst I try and elaborate what, I, think is so far going
>>> on here.
>>>
>>> Ok So, first, this is an html-based
>>> system, and everything else here seems to be beautifully accessible, 
>>> even
>>> the fields are all labelled properly.
>>>
>>> Second, I've turned off AutoForms mode, as I find this mode very
>>> problematic and just annoying to navigate, after years of using the
>>> manual forms mode modality.
>>> Also trying to eliminate as much of the so-called automatic smarts, as
>>> possible, to eliminate unknown and possibly erroneous behaviours etc.
>>>
>>> However there's this one particular totally problematic
>>> control-type/element, which consists of initially what Jaws identifies 
>>> as
>>> a straight ahead, edit, box.  However, this particular element, operates
>>> in practise, actually, more like what I understand to be often defined 
>>> by
>>> jaws as an "EditCombo", control.
>>> Whereby, as you start typing into the edit part of the field, a
>>> "drop-down" list appears,matching the entries it finds related to the
>>> letters in the text query entered so far.
>>>
>>> (Additionally, the field visually contains a little downpointing
>>> graphical triangle, which sighted users may click on to drop down the
>>> unfiltered list, and visually view it that way, if preferred, with no
>>> text query filtering applied.)
>>> But which is, not, activated at all by pressing Alt+DownArrow, as one
>>> would expect if Jaws handled the element as a proper EditCombo.
>>>
>>> Now. The major problem is, that even though pressing downArrow, does
>>> start to navigate the entries in this field, placing what it identifies
>>> as a Grey13 on Lavender highlight highlight color over each selected
>>> entry,
>>> Jaws does not read this highlight,, because it's locked into the fact
>>> that there's presumably still an iBeam edit cursor sitting in the edit
>>> box the whole time. So it just keeps reReading, "Edit," plus whatever 
>>> the
>>> current text query value has been typed in, and is thus populating that
>>> edit field, upon each arrow press.
>>>
>>> now another perhaps relevant aspect to understand about this particular
>>> controlType, as compared to some others I've seen, which although not
>>> identifying as EditCombos either, appear to behave in this very way, but
>>> which jaws does quite happily read,
>>> Is thatt in our version, the control doesn't immediately populate the
>>> edit field, with the entire selection one navigates to with the arrow
>>> keys.
>>> Whereas, the ones that jaws does happily appear to read properly, do 
>>> seem
>>> to do this.
>>> Therefore, in those fields where jaws does identify what one has arrowed
>>> to,
>>> it's probably not doing so by reading/tracking the highllight bar, but
>>> simply by reading what's appearing at the edit cursor.
>>>
>>> My first thought was to try and reClass the window, but, this didn't 
>>> have
>>> any good effect, since of course as ai realized later, what I want to do
>>> here, is reClass, as far as Jaws is concerned, these individual 
>>> elements,
>>> which are probably not the same as whole windows anyway.
>>> When I looked at the class of the window in focus, it just showed some
>>> basic high-level seemingly irrelevant class  such as
>>> Class = MozillaContentWindowClass etc.
>>>
>>> So no joy there.
>>>
>>>
>>>
>>> My second thought, was to try and identify the custom highlight color,
>>> and assign this as a custom highlight in jaws, hoping to attract it's
>>> attention to the fact that it should be checking for, and
>>> tracking/reading, anything in that highlight color.
>>>
>>> However, I have no joy doing that either.
>>>
>>> putting the jaws cursor on it, it reckons the highlight is Grey13 on
>>> Lavender, but, yep, this didn't work either.
>>>
>>>
>>>
>>> So has anyone got any bright ideas as to what I might try next?
>>> Is Custom Highlight tracking even working in jaws15 at present anywayz?
>>> Some way I can tell jaws how to properly handle this type of element?
>>> ignoring the edit box cursor, and tracking the highlight bar instead?
>>> Below I have included the rather comvoluted, but possibly helpful to
>>> someone who may know, element information from the jaws+Shift+f1, whilst
>>> over this particular field.
>>>
>>> Thanks much for any tips!
>>> See below for the tech stuff about the elemtn.
>>>
>>>
>>>
>>> Element Information:
>>>
>>> Tag INPUT has 7 parameters:
>>>
>>> autocomplete=off
>>>
>>> class= x-form-text x-form-field  x-form-focus
>>>
>>> id=par-1C05555973514DF39BE96CF44694A3B2-d
>>>
>>> size$
>>>
>>> style
>>> tabindex!002
>>>
>>> type=text
>>>
>>> MSAA Role*
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-form-field-wrap x-form-field-trigger-wrap  x-trigger-wrap-focus
>>>
>>> id=ext-gen437
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-form-element
>>>
>>> id=x-form-el-par-1C05555973514DF39BE96CF44694A3B2-d
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-form-item
>>>
>>> id=ext-gen434
>>>
>>> tabindex=-1
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-request-column x-request-column-out x-form-label-top x-column
>>>
>>> id=ext-comp-1504
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-column-inner
>>>
>>> id=ext-gen423
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-panel-body-noheader x-panel-body-noborder
>>> x-column-layout-ct
>>>
>>> id=ext-gen386
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen385
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel request-view-category x-panel-noborder
>>>
>>> id=ext-comp-1503
>>>
>>> style=
>>>
>>> Tag FORM has 5 parameters:
>>>
>>> class=x-panel-body ss-svc-form-body x-panel-body-noheader
>>> x-panel-body-noborder x-form
>>>
>>> enctype=application/x-www-form-urlencoded
>>>
>>> id=ext-gen184
>>>
>>> method=post
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen335
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel ss-svc-form x-panel-noborder x-form-label-left x-box-item
>>>
>>> id=ext-comp-1270
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-box-inner
>>>
>>> id=ext-gen334
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-box-layout-ct
>>>
>>> id=ext-comp-1272
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-panel-body-noheader
>>>
>>> id=ext-gen318
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen316
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel x-frs-sc-param-form ss-svc-form
>>>
>>> id=ext-comp-1268
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-panel-body-noheader x-panel-body-noborder
>>>
>>> id=ext-gen315
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen314
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class= x-panel tab-panel parameters-tpl x-flex-portal-child
>>> x-panel-noborder
>>>
>>> id=ext-comp-1283
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-flex-portal-child-frame
>>>
>>> id=ext-comp-1284
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-tab-panel-body x-tab-panel-body-top
>>>
>>> id=ext-gen224
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-tab-panel-bwrap
>>>
>>> id=ext-gen223
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-tab-panel x-frs-flex-portlet
>>>
>>> id=ext-comp-1239
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-panel-body-noheader x-panel-body-noborder
>>>
>>> id=ext-gen208
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen207
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel x-frs-flex-portal x-panel-noborder x-border-panel
>>>
>>> id=ext-comp-1223
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-panel-body-noheader x-panel-body-noborder
>>> x-border-layout-ct
>>>
>>> id=ext-gen206
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen205
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel x-panel-noborder
>>>
>>> id=ext-comp-1227
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-frs-flex-panel-body x-panel-body-noheader
>>>
>>> id=ext-gen187
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen185
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel x-frs-formview
>>>
>>> id=ext-comp-1222
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-panel-body-noheader x-panel-body-noborder
>>>
>>> id=ext-gen17
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen16
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel x-frs-content x-border-panel
>>>
>>> id=ext-comp-1002
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-panel-body-noborder x-border-layout-ct
>>>
>>> id=ext-gen12
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-mc
>>>
>>> id=ext-gen15
>>>
>>> Tag DIV has 1 parameters:
>>>
>>> class=x-panel-mr
>>>
>>> Tag DIV has 1 parameters:
>>>
>>> class=x-panel-ml
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen11
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel x-panel-noborder
>>>
>>> id=WorkspaceFrame
>>>
>>> style=
>>>
>>> Tag BODY has 3 parameters:
>>>
>>> href=https://kfchelp-stg.saasit.com/WorkspaceLoader.aspx?Id=ServiceReq&Profile=ObjectWorkspace&LayoutName=SDA-YAI&TabId=ext-comp-1101
>>>
>>> id=main_body
>>>
>>> rssúlse
>>>
>>> MSAA Role
>>>
>>> Tag IFRAME has 8 parameters:
>>>
>>> class=x-managed-iframe
>>>
>>> frameborder=0
>>>
>>> id=ext-gen112
>>>
>>> name=ext-gen112
>>>
>>> scrolling=auto
>>>
>>> src
>>> style
>>> title=Object Workspace
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-panel-body x-panel-body-noheader x-panel-body-noborder
>>>
>>> id=ext-gen111
>>>
>>> style=
>>>
>>> Tag DIV has 2 parameters:
>>>
>>> class=x-panel-bwrap
>>>
>>> id=ext-gen110
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-panel x-panel-noborder
>>>
>>> id=panelext-comp-1101
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-border-panel
>>>
>>> id=app-frame-body
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-box-item x-border-layout-ct
>>>
>>> id=app-content-wrapper
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class=x-box-inner
>>>
>>> id=ext-gen10
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-box-layout-ct
>>>
>>> id=ext-comp-1003
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-app-content x-border-panel
>>>
>>> id=AppBody
>>>
>>> style=
>>>
>>> Tag DIV has 3 parameters:
>>>
>>> class= x-app-frame x-border-layout-ct
>>>
>>> id=BorderWrapper
>>>
>>> style=
>>>
>>> Tag BODY has 3 parameters:
>>>
>>> href=https://kfchelp-stg.saasit.com/Default.aspx
>>>
>>> id=main_body
>>>
>>> rssúlse
>>>
>>> MSAA Role
>>>
>>> Press ESC to close this message.
>>>
>>>
>>> *****
>>>
>>>
>>>
>>>
>>>
>>>
>>> Also, today in IE, (haven't tried yet in other browsers) I ran across a
>>> Suburb/postcode field, at the below URL, which I wanted you to just
>>> eyeball as it
>>> *appeared* to work similarly to how I imagine our dropdowns on your site
>>> are working? which this one, jaws reads perfectly fine? but am unsure of
>>> course
>>> of the backEnd element/Javascript running ... etc.
>>>
>>>
>>>
>>> It's at the following URL:
>>>
>>> https://www.oxfam.org.au/my/donate/typhoon-haiyan-yolanda?utm_campaign=Typhoon_2nd_ask&utm_medium=Email&utm_source=Typhoon_2nd_ask
>>>
>>>
>>> Leaving virtual cursor enabled for the moment, After tabbing to the
>>> correct field, Hit enter to turn on forms mode, then type something that
>>> will bring
>>> up multiple entries in the list, then hit down arrow. Try it in your
>>> version of IE?
>>>
>>> For me here, in IE8, jaws reads each highlighted entry just fine as one
>>> arrows up and down in this list,
>>>
>>> without having to assign any custom highlight colors at all.
>>>
>>>
>>> For interest, though I know it won't mean much to you, here's the 
>>> backend
>>> stuff re the element that Jaws reports when doing a Control+Insert+F1 on
>>> that
>>> field in IE 8, without forms mode enabled.
>>>
>>> (note that this Insert+Shift+F1 keystroke doesn't work when either forms
>>> mode is enabled or virtual cursor is off, which are effectively the same
>>> thing
>>> anyway:)
>>>
>>>
>>> Element Information:
>>>
>>>
>>> Tag INPUT has 11 parameters:
>>> aria-autocomplete=list
>>> aria-haspopup=true
>>> autocomplete=off
>>> class=ui-autocomplete-input
>>> id=suburb_ac
>>> jquery172036613851847330175
>>> name=suburb_ac
>>> role=textbox
>>> tabindex!
>>> type=text
>>> value=EPPING,  NSW,  2121
>>> MSAA Role*
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> class=input
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> class=clearfix
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> id=autoggle-au
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> class=form-row
>>>
>>>
>>> Tag FIELDSET has 0 parameters:
>>>
>>>
>>> Tag FORM has 8 parameters:
>>> _submit_attached=True
>>> accept-charset=utf-8
>>> action=https://www.oxfam.org.au/my/donate/typhoon-haiyan-yolanda
>>> class=myform form-stacked
>>> enctype=application/x-www-form-urlencoded
>>> id=donation_form
>>> jquery172036613851847330175(
>>> method=post
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> class=span11 main-content
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> class=row
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> id=bootstrap
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> class=main-holder
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> id=main
>>>
>>>
>>> Tag DIV has 1 parameters:
>>> id=wrapper
>>>
>>>
>>> Tag BODY has 2 parameters:
>>> href=https://www.oxfam.org.au/my/donate/typhoon-haiyan-yolanda?utm_campaign=Typhoon_2nd_ask&utm_medium=Email&utm_source=Typhoon_2nd_ask
>>> rssúlse
>>> MSAA Role
>>>
>>>
>>>
>>>
>>> Press ESC to close this message.
>>>
>>> __________�
>>>
>>> View the list's information and change your settings at
>>> //www.freelists.org/list/jawsscripts
>>>
>>>
>> __________�
>>
>> View the list's information and change your settings at
>> //www.freelists.org/list/jawsscripts
>>
>>
>
> __________�
>
> View the list's information and change your settings at
> //www.freelists.org/list/jawsscripts
>
>
>
> __________�
>
> View the list's information and change your settings at
> //www.freelists.org/list/jawsscripts
>
> 

__________�

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts


__________�

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: