Set of ARIA Test Cases
From CodeTalks
Introduction
For each example we test the "Expected" results with assistive technologies, for each browser that AT supports WAI-ARIA in. Where a failure occurs we will test the browser for API incorrectness, using tools such as MSAA Inspect. This must be done in order to determine where to file a bug (browser or AT).
There are several purposes for providing this information:
- Help browser vendors provide correct implementations
- Help AT vendors provide correct implementations
- Inform authors as to what actually works reliably
In general we're testing with the latest public releases. However, where things don't work we may test with nightly builds if they are available, in order to show what is already fixed in upcoming releases.
We can add more screen readers if people are willing to step up and provide test results for them.
Tested UA/AT Combinations:
- JAWS 9 & 10 with Firefox 3
- JAWS 9 & 10 with IE beta 2
- NVDA 0.6p2 with Firefox 3
- Orca with Firefox 3
- Window-Eyes 7 with IE 8 beta 2 and Firefox 3
- ZoomText 9.1 with Firefox 3 and IE 8 beta 2
- Dragon 10 with Firefox 3 and IE 8 beta 2
Documenting and Filing Bugs
Review the information on how to file a bug on an ARIA implementation. When documenting an issue, please list it in the relevant table below. When possible provide a link to the bug in the database so that its status can be reviewed.
Test Cases
Test cases are organized as follows:
- Test Case Links
- Test Details
- Expected AT Behavior
- Markup
- Notes
- Results Table
AT Firefox IE Opera Safari JAWS 9 - - - - JAWS 10 - 1. pass 2. fail
- - Window-Eyes - - - - NVDA - - - - ZoomText - - - - Orca - - - -
Table Legend - no info/test yet n/a not applicable (not supported technically) pass expected behaviour met fail expected behaviour notmet 1. 2. reference to link example
Note Regarding Dojo/Dijit Test Files
The main purpose of Dojo's Dijit test files are for Dojo developers to exercise and debug the code. As such, they are used to test a variety of features, such as styling, behavior, mouse, and keyboard interactions, to name few. These test files are not specifically for testing ARIA. Still, Dojo's widgets implement ARIA, and the noted test files could be used as an "ARIA test file".
Alert
- Simple alert
- Complex Alert
- Real alert example with aria-required and aria-invalid -- type in a email address without an at sign to test the alert
Expected AT Behavior:
- A screen reader or screen magnifier must speak an alert when it becomes visible.
- A screen magnifier should zoom to the alert.
- Optional, but desired: if there are widgets within the alert, their role and any keyboard mnemonic (accesskey) should be spoken. For example, "Options, button, Alt+Shift+T" should be spoken if there is an options button in the alert with Alt+Shift+T as an accesskey.
Markup used:
- role="alert"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | Passed | Fail | n/a | n/a |
| JAWS 10 | Passed | Fail | - | - |
| Window-Eyes | Passed- not announced as "alert" | Fail | - | - |
| NVDA | Passed | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Alertdialog
Expected AT Behavior:
- AT should speak the fact that this is an alert, the title and contents of the dialog, then place virtual focus or the real focus on the desired control (like a button).
- Screen magnifier should show the focused button or emulate any other standard behavior found in notification dialogs in Windows or respective operating systems.
Markup used:
- role="alert"
- aria-labeledby
Notes:
In the UIUC test example, the 'close' button cannot recieve focus.
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | 2 PASS, 1 PASS with known focus of the Close button problem. | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | Fail- announced as 'alert' | Pass | - | - |
| Orca | - | - | - | - |
Application
Expected AT Behavior:
- If AT supports virtual buffers (probably all Windows screen readers), this should be turned off and the user should interact via the keyboard commands built into the web app.
Markup used:
- role="application"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | Fail | Fail | n/a | n/a |
| JAWS 10 | Pass with slight problems in the menu bar (wrong order of events or missing ones, sometimes making JAWS believe it is still in a menu when the menu has actually closed) | Fail | - | - |
| Window-Eyes | Fail | Fail | - | - |
| NVDA | Fail | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Autocomplete
Expected AT Behavior:
- Screen reader should announce the fact that this is a control supporting autocomplete. When suggestions appear, if the AT supports it elsewhere in the operating system (e. g. the Run dialog), suggestions should be supported inside the web app as well.
- Screen magnifiers should indicate AutoCompletes as they do elsewhere in the operating system.
Markup used:
- aria-autocomplete
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | Fail | Fail | n/a | n/a |
| JAWS 10 | Fail - Does not announce the presence of AutoComplete possibilities, does not do this anywhere in Windows. Reads autocomplete suggestions through its ordinary highlight color mechanism. | Fail | - | - |
| Window-Eyes | Fail | Fail | - | - |
| NVDA | Pass | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Buttons
Basic buttons
Expected AT Behavior:
- When focus falls on a button, a screen reader speaks the text of the button plus alternative text of any images within the button (the accessible name of the button). The word "button" is also spoken before or after the accessible name.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | Pass in non-V-PC mode, pass in V-PC-mode also if the button's text is not provided via labelledby or label. | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Toggle button
Expected AT Behavior:
- Same as basic button above, plus if the state is pressed, AT should indicate that when focus lands on the button and when toggling.
- AT should indicate that it is a toggle button (not a regular button)
Markup used:
- role="button" aria-pressed="false" (or true)
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | Pass in non-V-PC-mode, button's state is announced when pressed, or when toggling it to pressed. Fail in V PC mode. No indication is given that a button is pressed, or that it is pressed after activating it. | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Menu button
Expected AT Behavior:
- Screen readers should indicate that this button has an associated menu.
- Screen magnifiers should give indication (if this is not done visually anyway).
- When the button is pressed, the menu should be tracked like any other menu.
- When closing the menu, this should be indicated, and focus should be repeated for the menu button the menu was opened from, or the new focus location if the activated menu item results in that.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | Pass in Non-V-PC-mode. Buttons are indicated as menu buttons. Menus are tracked, closing menus also results in correct focus tracking. Partial fail in V-PC-Mode. The fact that a button is a menu button is not indicated with the virtual cursor. Menus and focus are properly tracked upon activation. | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Checkboxes
Simple Checkboxes
Testcases:
- Set aria-checked="false" for unchecked
- Both remove or set attribute for unchecked case -- also includes an invalid and required checkbox
- Hierarchical (newly added test not in test results yet)
- dojo nightly build
Expected AT Behavior:
- Screen reader should speak the accessible name followed by both the type being checkbox and the state (checked, unchecked, partially checked). When pressing Space, new state should be announced automatically.
- Screen magnifier: Treat these as normal checkboxes and indicate state changes as usual.
Markup used:
- role="checkbox"
- aria-checked="true" or "false"
Notes:
Need testcase where aria-checked attribute is removed instead of set to false
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | Pass | Fail (changes not spoken) | Fail | Fail |
| Window-Eyes | Pass |
| Fail | Fail |
| NVDA | Fail on #2 -- repetitive text spoken, first checkbox toggle speaks incorrect state | n/a | Fail | Fail |
| ZoomText | Pass | - | Fail | Fail |
| Orca | Pass | n/a | - | - |
Tristate Checkbox
Testcases:
Expected AT Behavior:
- Screen reader should announce accessible name, role and state. When toggling, new state should be announced (not checked, partially checked, checked).
Markup used:
- role="checkbox"
- aria-checked="true" | "false" | "mixed"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | Partial pass. The state of tristate checkboxes is not announced when initially focusing. It is announced when toggling. | Fail - changes not spoken | Fail | Fail |
| Window-Eyes | Pass | Fail (unchecked presented as checked, IE exposing incorrect state for no aria-checked attribute) | Fail | Fail |
| NVDA | Fail -- for change from mixed to fully checked, nothing spoken | n/a | Fail | Fail |
| ZoomText | Pass | - | Fail | Fail |
| Orca | - | n/a | - | - |
Comboboxes
Testcases:
Expected AT Behavior:
- On focus, screen reader announces the label, the role and the current content of the combobox. Content changes and, if the pull down list is opened, list items as they receive focus, should all be spoken.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | Fail. Label and current content as well as role are spoken, also when typing in a new value, that gets reflected. But when dropping down the lists of states in either example, after the second or so list item, JAWS turns off Forms Mode, and the user has to turn off V Cursor to be able to make selections or tab to anything useful. | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Drag and Drop
Expected AT Behavior:
- JAWS - TBD.
Markup used:
- aria-grab
- aria-dropeffect
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Description
Expected AT Behavior:
When any control is focused inside the groupbox, where focus was previously outside of the groupbox, the description for the entire groupbox should be read by a screen reader.
When the button is focused, the description of the button should be read after the button's label and role are read by the screen reader.
Regression testers should test both tabbing forward and back, to make sure that the groupbox description and button description are both read when the button is the first item focused in the groupbox.
- JAWS -
- If described by is used on a fieldset (group box), JAWS speaks the description when focus is placed on a control within the group box for the first time.
- If described by is used on a control, JAWS displays the description when the user presses JAWSKey+F1.
Markup used:
- role="description" and aria-describedby
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Dialog
Expected AT Behavior:
- JAWS - JAWS announces the title and role of the dialog as it appears followed by the focus widget.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Directory
(no examples yet)
Expected AT Behavior:
- JAWS - TBD.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Document
(no examples yet)
Expected AT Behavior:
- JAWS - TBD.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Grids
See various grid and table examples on the example page for grid variants.
- Illinois Grid Example -- multi select
- Grid in an application -- single select
Expected AT Behavior:
- Screen reader should read column and row headers as the grid is traversed with arrow keys (in forms mode). Screen readers should continue to respect any special table reading modes while the user traverses the grid. For example, while in the grid in forms mode, the user should be able to configure the screen reader to read row headers only.
- JAWS -
- Virtual Cursor - JAWS treats a grid as if it were an HTML table. All table keys are active. Header behavior is not yet defined.
- PC Cursor - TBD.
Markup used:
- role="grid", "gridcell", "rowheader", "columnheader"
- aria-selected, aria-readonly
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Tree Grid
(no examples yet)
Expected AT Behavior:
- JAWS - TBD.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Group
(no examples yet)
Expected AT Behavior:
- JAWS -
- JAWS speaks the group name when focus is placed on a control within the group for the first time.
- If described by is used on a fieldset (group box), JAWS speaks the description when focus is placed on a control within the group box for the first time.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Landmarks
- Illinois Navigation Example
- Test all landmarks -- very minimal test, not a real world case. The page includes some nested landmarks as well.
- Juicy Studio -- real world example
Expected AT Behavior:
- Screen readers should not include the root accessible object in a page in the list of landmarks
- Screen readers should provide keys to allow users to traverse a list of landmarks or next/prev landmark keys
- Screen readers should support nested landmarks, and multiple landmarks of the same time
- Screen readers should announce the number of landmarks at page load, if they exist on the page
- Screen readers should announce landmarks as users navigate into them (test in all screen reader modes)
- JAWS -
- JAWS announces landmarks as they are encountered in the virtual page.
- JAWSKey+Ctrl+SemiColon keystroke displays a list of landmarks in the current page.
- SemiColon and SHift+SemiColon move to Next Landmark and Move to Previous Landmark respectively.
Markup used:
- role = (one of the following): "application", "article", "banner", "complementary", "contentinfo", "directory", "document", "log", "main", "note", "navigation", "region", "search", "status"
Notes:
- Screen readers may wish to provide some landmark-specific conveniences such as automatically starting at "main" when reading the page after page load, or providing a special key to get to the search bar, etc.
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Img
Expected AT Behavior:
Screen readers should treat the entire image as one, even though it is built from sub-images.
- JAWS - Announced as a single graphic element along with its associated alt text or label.
Markup used:
- role="img"
Notes:
If the screen reader does not provide the required behavior, then most likely it is a browser issue, for not respecting "Children Presentational: true" for that role. The accessible hierarchy should contain no children for the img.
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
List
Expected AT Behavior:
- JAWS - Announces the list and how many items its contains. As the user reads the list items, each is announced in turn along with level changes.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Link
(no examples yet)
Expected AT Behavior:
- JAWS - On focus, JAWS announces the link text or alternative text along with the role.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Listbox and option
- dojo nightly build
- Single select listbox using aria-activedescendant
- Listbox in an iframe -- this is an important case as it's an example of how a mashup widget can be built (the widget source simply comes from another url, and is tied in using an iframe)
- YUI "Carousel" listbox -- a more advanced test case
Expected AT Behavior:
- JAWS - On focus, JAWS announces the title and role of the list along with the number of items. If a list item has focus, JAWS announces that item and its position in the list. As focus moves within the list, JAWS announces the focus list item.
Markup used:
- role="listbox", "option" (listitem should only be used with list, which is for static document structures, could someone please make sure our examples follow this rule)
- aria-activedescendant
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Live Regions
Thank you to Charles Chen for developing the live region examples.
aria-live
- aria-live="off"
- aria-live="polite"
- aria-live="assertive"
- aria-live="rude"
- aria-live attribute is missing
- nested live regions: "assertive" inside "off"
Expected AT Behavior:
- JAWS - Announces updates to live regions.
Markup used:
- aria-live
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Labelled or Described Live Region
Expected AT Behavior:
- JAWS - Announces updates to live regions.
Markup used:
- aria-live, aria-labelledby, aria-describedby
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
aria-atomic="true"
Expected AT Behavior:
- JAWS - Announces updates to live regions.
Markup used:
- aria-atomic="true" aria-live="polite"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
aria-controls
- aria-controls -- activating button makes live region change
- aria-controls and live="polite" changes -- live region with a combination of polite real world changes and button-controlled changes
Expected AT Behavior:
- JAWS - Announces updates to live regions.
Markup used:
- aria-relevant, aria-live="polite"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
aria-relevant tests
- aria-relevant="additions" aria-live="polite"
- aria-relevant="removals" aria-live="polite"
- aria-relevant="text" aria-live="polite"
- aria-relevant="all" aria-live="polite"
- aria-relevant="additions removals text"" aria-live="polite -- should have same behavior as "all"
- aria-relevant="additions text" aria-live="polite"
- aria-live="polite" -- aria-relevant is not set, so should act the same as "additions text"
Expected AT Behavior:
- JAWS - Announces updates to live regions.
Markup used:
- aria-relevant, aria-live="polite"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Live roles: Log + Timer
- Illinois Log and Timer example
- CLC Chat -- see the accompanying notes
- Chatzilla (this is a real app but uses ARIA in an HTML area for chat)
Expected AT Behavior:
- JAWS - Announces updates to live regions.
Markup used:
- role="log", "timer"
- aria-relevant="additions removals text" (for Chatzilla buddy list)
- aria-channel="notify" for Chatzilla lines with your name in the text
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Live role: Marquee
(no examples yet)
Expected AT Behavior:
- JAWS - TBD.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Live role: Status
(no examples yet)
Expected AT Behavior:
- Screen readers often provide a special key to announce the current status. This key should present the contents of any "status" region.
- JAWS - TBD.
Markup used:
- role="status"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Live HTML table
Expected AT Behavior:
- JAWS - Still under development.
Markup used:
- aria-live="polite"
- role="timer"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Menubar and Menu
Expected AT Behavior:
- JAWS - On focus, JAWS announces that it the role and the current menu item. As focus moves, JAWS announces each menu item.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Popup Menu
Expected AT Behavior:
- JAWS - On focus, JAWS announces that it the role and the current menu item. As focus moves, JAWS announces each menu item.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Progressbar
Expected AT Behavior:
- The progress updates should be treated as the screen reader treats any progress updates. The live region markup should not affect how the progress updates are presented.
- JAWS - JAWS announces the level of progress at each time interval the user selects in JAWS configuration.
Markup used:
- role="progressbar", aria-valuemin, aria-valuenow, aria-valuemax
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Radiogroup and Radiobutton
Expected AT Behavior:
- JAWS - On focus, JAWS announces the group name followed by the current radio button and its position. Movement between radio buttons is announced along with the current position.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Separator
(no examples yet)
Expected AT Behavior:
- JAWS - TBD.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Slider - Single
- Slider using in-line images for thumb
- dojo nightly build
- Simple slider
- Pretty slider
- MINDTROVE Rating Widget
- Paciello Group slider
Expected AT Behavior:
- The user can navigate to the slider control in all modes
- When not in a virtual buffer mode, the user can control the slider using keys such as the arrow keys, home and end.
- In virtual buffer mode, the slider exists in the virtual buffer as a single entity, and any images or text that create the sliders appearance are not presented to the user separately. Note: if this does not work, it means the browser is exposing the children instead of respecting the "Children Presentational: true" rule for sliders
- As the user moves the slider, the new value is spoken
- JAWS - On focus, JAWS announces the role and position of the slider. As the user moves the slider, its new position is announced.
Markup used:
- role="slider"
- aria-valuemin, aria-valuenow, aria-valuemax
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Slider - Multi-Thumb
Expected AT Behavior:
- JAWS - On focus JAWS announces the role and focus slider position. As the user moves the slider, JAWS announces the new position. The same is true for the second thumb (slider).
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Spinbutton (Spinner)
Expected AT Behavior:
- JAWS - On focus, JAWS announces the label, the role and the content of the spinner. As the user changes the content, new content is announced.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Tabpanel
- Illinois Tabpanel Example
- dojo nightly build
- Another tab panel example
- YUI Tab Panel example with live regions (using YUI ARIA plug-in).
Expected AT Behavior:
- JAWS - Still under development.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Textbox
Expected AT Behavior:
- JAWS - On focus, JAWS announces the label, the role, and whether the box contains content. As the cursor is moved about, JAWS announces lines, word, or characters based on the type of cursor movement.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Toolbar
- Example to test ARIA live region and toolbar
- dojo nightly build
Expected AT Behavior:
- JAWS - JAWS announces each toolbar button as it receives focus.
Markup used:
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Tooltip
- dojo nightly build (tooltip)
- Simple tooltip -- the tooltip for the link contains the text "Some tooltip"
Expected AT Behavior:
The tooltip text should be spoken as the user navigates to the widget with the tooltip.
- JAWS - JAWS announces tooltips as they appear. This is dependent on the user's JAWS configuration setting.
Markup used:
- role="tooltip"
- aria-describedby
- aria-hidden
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Tree
- dojo nightly build
- Simple tree -- uses document structure to create hierarchy
- We need an example that uses aria-level, aria-setsize and aria-posinset to create the hierarchy
- We also need one that uses aria-owns to create the hierarchy / structure
- We need one that uses the document to create structure, but uses nested ULs with links inside, and role="presentation"
Expected AT Behavior:
- JAWS - On focus, JAWS announces the current tree view item followed by the role. As the user interacts with the tree structure, JAWS announces each item including level changes. If items have sub items, JAWS announces its open or closed state as well as state changes.
Markup used:
- role="tree", "treeitem", "group", "presentation"
- aria-level, aria-setsize, aria-posinset
- aria-expanded
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Property-only test cases
These testcases involve ARIA properties used to enhance HTML controls (as opposed to JavaScript-built widgets).
Describedby
- aria-describedby
- aria-describedby with display: none
- aria-describedby with visibility: hidden
- aria-describedby on img's with role="button"
Expected AT Behavior:
When the textfield is focused, this description should be spoken after the label "Minutes": "Allows you to specify the number of minutes of inactivity after which your computer should shut down."
- JAWS -
- If described by is used on a fieldset (group box), JAWS speaks the description when focus is placed on a control within the group box for the first time.
- If described by is used on a control, JAWS displays the description when the user presses JAWSKey+F1.
Markup used:
- aria-describedby
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Label
Expected AT Behavior:
- JAWS - Announces the aria-label information instead of screen text.
Markup used:
- aria-label="My something-or-other"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Labelledby
Expected AT Behavior:
- JAWS -- Announces the aria-labelledby information instead of screen text.
Markup used:
- aria-labelledby
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |
Required
Expected AT Behavior:
- JAWS - If field is required, JAWS announces that.
Markup used:
- aria-required="true"
Notes:
Results:
| AT | Firefox | IE | Opera | Safari |
|---|---|---|---|---|
| JAWS 9 | - | - | n/a | n/a |
| JAWS 10 | - | - | - | - |
| Window-Eyes | - | - | - | - |
| NVDA | - | n/a | - | - |
| ZoomText | - | - | - | - |
| Orca | - | - | - | - |

