FLUID-1821: Image Reorderer instructions for screen reader users

Joseph Scheuhammer clown at utoronto.ca
Mon Dec 15 22:32:20 UTC 2008


Hey everybody,

> The ARIA spec provides two roles, "application" and "document" 
> intended to provide cues for assistive technologies to change modes.

Indeed.  As it happens, a few weeks ago, I was testing the keyboard ally 
of dojo's slider with FF3 and IE8 beta, and JAWS10 to see if and when 
automatic mode changes occur.  The purpose was threefold:  (1) is dojo 
was marking things up correctly? (2) is the browser publishing the 
correct events to MSAA? and (3) is JAWS responding appropriately?  I've 
sent the results to dojo a11y, IBM JAWS testers, and Freedom Scientific.

In point form, the major features of the test page are:
- Two main divisions, one marked with role="document", the other with 
role="application".
- Two sliders within each division.
- The second slider in both cases has two associated text regions that 
update dynamically as the value of the slider changes.
- One of the dynamic text regions is an <input type="text">, while the 
other is a <span>.
- The sliders within the document division are, in turn, nested inside a 
<form> element.

Note: the reason for the dynamic text regions associated with a slider 
was to see if multiple events confused JAWS.  There was a claim that if 
an <input type="text"> changed as the slider itself changed, then JAWS 
would see two events and report both (which is a bad thing).  That 
didn't happen.

The test page is here:
http://clown.atrc.utoronto.ca/Fluid/dojo/dijitSliderTest.html

A summary of the results is that manually setting "virtual cursor auto" 
mode in JAWS works for both browsers, and manually setting "virtual pc 
cursor off" works in terms of keystrokes, but not speech.  This is true 
regardless of whether the slider is within a "document" or an 
"application" <div>.  Without manually setting a mode, starting in 
"virtual cursor auto" mode, and just tab navigating, the sliders work 
when within a <div> whose role is "application", but not within a <div> 
with role="document".

If you want the detailed results, let me know.

Finally, regarding automatic mode switching and aria roles, there should 
be a change in mode when tab navigating to a widget regardless of the 
surrounding markup.  The aria best practices guide states, "If your page 
has only a few isolated widgets, like pop-up calendars located on a Web 
page, it is not necessary to expressly set the role of application on 
the body. Screen readers, based on widget roles, must be able to provide 
access to these widgets without recognizing the entire page as an 
application."

-- 
;;;;joseph

'This is not war -- this is pest control!'
      - "Doomsday", Dalek Leader -




More information about the fluid-work mailing list