Seeking Best Accessibility Practices

Results for JavaScript - Part 2: Navigating forms

These results refer back to a quiz and test case from some weeks ago. . The test case is considerably more complex than the first JavaScript tests. Testing and compiling the results has been a yeoman’s job, one very nicely done by James Edwards.

As you examine the results tables, be aware that most cells contain additional descriptive information within a title attribute. Clicking the cell will display the full text for that cell in a floating block. Here we go…

Explanation - Summary of Results for Part 2: Navigating forms

For the most part, the results for navigating forms are better and more consistent between devices, than for navigating links. However there are still variations to be noted in devices according to mode, where the events that are reported will vary according to whether a user is reading, manually tabbing past, or fully interacting with a particular form element. Variations between different types of form elements are predictable, in most cases following the same patterns as the host browser.

As before, the first table shows results for browser-based screenreaders.

The second table shows results for the speaking/voicing capabilities of Opera 8 with Voice, Safari with VoiceOver, and Firefox with the FoxyVoice extension. These devices are designed to provide supplementary speech output/control to users who are not (or not completely) blind, rather than the fully-fledged screenreading functionality needed by those who are. These devices mostly generate the same events as their vanilla browser, but with noted exceptions.

With all devices, there were no differences in the results when comparing static HTML links, with links that were generated in JavaScript. No differences in event-bubbling behavior were observed between readers and their vanilla browser. These results are for keyboard, voice and reader-specific browsing mechanisms only; data for using a device while navigating with the mouse are not included.

Results for browser-based screenreaders
Event Internet Explorer 6 Firefox 1
Vanilla HPR 3.02 HPR 3.04 JAWS Connect Outloud Hal 6.5 WE 5.0 WE 5.5b Vanilla JAWS WE 5.5b
onsubmit submitting yes yes yes yes yes yes yes yes yes yes yes
onreset resetting yes yes yes yes yes yes yes yes yes yes yes
onchange changing yes >no >no yes yes yes yes yes yes yes yes
onselect reading - <yes* <yes* no no no no no - no no
navigating <yes* <yes* <yes* <yes* <yes* no <yes* <yes* <yes+ <yes+ <yes+
selecting yes* no no yes* yes* yes* yes* yes* yes yes! yes
onclick actuating yes yes yes yes yes yes yes yes yes yes yes
custom - no yes+ no no no no no - no no
ondblclick custom - no yes+ no no no no no - no no
onfocus reading - no >no! no no no no no - no no
navigating yes no >no! <yes <yes no <yes <yes yes yes <yes
actuating no no yes >no >no yes+ >no >no no no >no
custom - no yes+ no no no no no - no no
onblur reading - no >no! no no no no no - no no
navigating yes no >no! <yes <yes no <yes <yes yes yes <yes
actuating no no no no no <yes+ no no no no no
custom - no yes+ no no no no no - no no
onactivate reading - >no >no no no no no no - no no
navigating yes >no >no <yes <yes no <yes <yes no no no
actuating no no no >no >no yes >no >no no no no
ondeactivate reading - >no >no no no no no no - no no
navigating yes >no >no <yes <yes no <yes <yes no no no
actuating no no no no no <yes no no no no no
onselectstart reading - <yes+ <yes+ no no no no no - no no
navigating <yes <yes+ <yes+ <yes <yes no yes yes no no no
selecting yes no no yes yes yes yes yes no no no
actuating no no >no+ no no no no no no no no
onkeydown navigating yes no >no! <yes <yes >no <yes <yes yes yes <yes
typing yes no >no! yes yes yes yes yes yes yes yes
actuating yes no no <yes <yes >no yes yes yes <yes yes
onkeyup navigating yes no >no! <yes <yes >no <yes <yes yes yes <yes
typing yes no >no! yes yes yes yes yes yes yes yes
actuating yes no no <yes <yes >no yes yes yes <yes yes
onkeypress navigating no no no no no no no no yes yes yes
typing yes no no yes yes yes yes yes yes yes^ yes
actuating yes no no <yes <yes >no yes yes yes <yes^ yes
custom - no yes+ no no no no no - no no
onmouseover navigating no no no no no no no no no no no
actuating no no yes no no <yes+ no no no no no
custom - no yes <yes+ no no no no - <yes+ no
onmousemove navigating no no no no no no no no no no no
actuating no no no no no <yes+ no no no no no
custom - no yes >no no no no no - >no no
onmousedown navigating no no no no no no no no no no no
actuating no no yes no no <yes no no no no no
custom - no >no no no no no no - no no
onmouseup navigating no no no no no no no no no no no
actuating no no yes no no <yes no no no no no
custom - no >no no no no no no - no no
onmouseout navigating no no no no no no no no no no no
actuating no no no no no <yes+ no no no no no
custom - no yes >no no no no no - >no no
yes
The event is reported
yes*
The event is reported with additional data
yes^
The event may be reported without expected additional data
yes+
The event may be reported more than once, or generate or be generated by other events at the same time
<yes
The event is typically reported, but not in particular circumstances
>no
The event is not typically reported, but is in particular circumstances
no
The event is not reported
-
[this device/mode combination doesn’t exist]
…?
[wholly or partly inferred from other data]
…!
[results are ambiguous or inconsistent, or the analysis is inconclusive]

Results for speaking/voicing browsers
Event Firefox 1 Opera 8 Safari
Vanilla Foxy Vanilla Vox Vanilla Voice
onsubmit submitting yes yes yes yes yes yes
onreset resetting yes yes yes yes yes yes
onchange changing yes yes yes yes yes yes
onselect reading - no - no - no
navigating <yes+ <yes+ <yes+* <yes+* no no
selecting yes yes yes* yes* no no
onclick actuating yes yes <yes <yes yes yes
custom - - - - - -
ondblclick custom - - - - - -
onfocus reading - no - no - yes
navigating yes yes yes yes yes yes
actuating no no no no no no
custom - - - - - -
onblur reading - no - no - yes
navigating yes yes yes yes yes yes
actuating no no no no no no
custom - - - - - -
onactivate reading - no - no - no
navigating no no no no no no
actuating no no no no no no
ondeactivate reading - no - no - no
navigating no no no no no no
actuating no no no no no no
onselectstart reading - no - no - no
navigating no no no no no no
selecting no no no no no no
actuating no no no no no no
onkeydown navigating yes yes yes no yes <yes
typing yes yes yes yes yes yes
actuating yes yes yes no yes <yes
onkeyup navigating yes yes yes no yes <yes
typing yes yes yes yes yes yes
actuating yes yes yes no yes <yes
onkeypress navigating yes yes yes no yes <yes
typing yes yes yes yes yes yes
actuating yes yes yes no yes <yes
custom - - - - - -
onmouseover navigating no no >no >no no no
actuating no no no no no no
custom - - - - - -
onmousemove navigating no no >no >no no no
actuating no no no no no no
custom - - - - - -
onmousedown navigating no no no no no no
actuating no no no no no no
custom - - - - - -
onmouseup navigating no no no no no no
actuating no no no no no no
custom - - - - - -
onmouseout navigating no no >no >no no no
actuating no no no no no no
custom - - - - - -
yes
The event is reported
yes*
The event is reported with additional data
yes^
The event may be reported without expected additional data
yes+
The event may be reported more than once, or generate or be generated by other events at the same time
<yes
The event is typically reported, but not in particular circumstances
>no
The event is not typically reported, but is in particular circumstances
no
The event is not reported
-
[this device/mode combination doesn’t exist]
…?
[wholly or partly inferred from other data]
…!
[results are ambiguous or inconsistent, or the analysis is inconclusive]

There you have it. Do you see any recommendations you can make from seeing these results?



Bad Behavior has blocked 6302 access attempts in the last 7 days.