In response to an AccessibleWeb@U discussion where we listed the following variables and menuing systems, I've filled out this matrix to the best of my ability. This is intended to generate discussion.
WebAIM conducted a survey of people who use screen readers. 74% of the respondents use Jaws and over 60% of the respondents upgrade their browser within the first 6 months of a new release. About 15% of respondents update their screen reader every 2 or more years. This means that some portion of folks are still using Jaws 8 which was initially released in November 2006 with an update in June 2007. However, at the time of this testing, I only had access to Jaws 10 and NVDA 0.6p3.1. While these should cover the majority of people who responded to the WebAIM survey.
The menus that implement ARIA seem to have the best usability for someone using a screen reader if you know to toggle the virtual cursor or if you have the latest versions of screen readers and browsers (which pass-through keyboard commands to the browser automatically). The WebAIM survey indicates that it's likely that over half of the respondents are having the most usable experience, but what about the rest of the folks? I would love to see a follow-up survey and usability testing of menus--are people who use screen readers expecting system-like behavior from within web applications? If not, what sort of education and support is needed to help people have the best experience?
While I performed most of the tests, I did observe a few people using the menus and was surprised at how few issues they had.
| Son of suckerfish | PVII Tree Menu Magic | UDM4 | Huskie Menus | CSS-only | YADM | YUI menu | Dojo menu | |
|---|---|---|---|---|---|---|---|---|
| Test file | Local test file | Basic theme TMM2 | Office XP Theme | Using Flyout menus simplified | pure css menus | YADM (2004) |
Menu Family: using the Menu ARIA Plugin | Dijit Menu System Test |
| Uses Javascript? Is the Javascript unobtrusive? | No, n/a | Yes, unobtrusive | Yes, unobtrusive | Yes, obtrusive | No, n/a | Yes, unobtrusive | Yes, Not in this example | Yes, No |
| Uses progressive enhancement? | Yes | Yes | Yes | No | Yes | Claims to, but not in this example | No | |
| Keyboard access to sub-menus? | Yes | Yes | Yes | No | No | Yes | Yes | Yes |
| If yes, which keys are used to access? Escape key supported? (i.e., does it work like a system menu?) | Tab/enter | Tab/enter | Tab/enter? Turning off virtual cursor does not work on these examples in Jaws 9 (to make them work like system menus...like did with yui and dojo)--test again?? Testing on a different machine, toggling virtual cursor allows arrow-key navigation but can not skip from submenu item to next menubar menu. In Jaws 10/FF3, does not automatically toggle virtual cursor. Does not announce how to interact with. In Jaws 10/IE8, does not seem possible to move from submenu to the next menu. Have to go back to top-level before can go left/right? |
n/a | n/a | Tab/enter | In Jaws 9/FF3 have to press insert+z to turn off virtual cursor to make the menu work like a system menu. In Jaws 10/FF3, it automatically turns off the virtual cursor and it tells me it's a menu and how to navigate through it (w/arrow keys). It isn't doing it in IE8 yet. I have to press ins+z to turn virtual cursor off. |
In Jaws9&10/FF3 and IE8 same behavior has YUI. |
| Keyboard access to skip submenus? | No | Yes | No | No | No | Yes | Yes | |
| Cross-browser/device support? Additional tests for: IE6/XP, Opera7/Mac, FF2/Win, WebKit/iPhone, Chrome/Mac | @@ | @@ | @@ | @@ | @@ | @@ | @@ | @@ |
| Screen reader support--other than keyboard access, does it announce menus? Provide navigation cues? i.e., does it seems screen reader "aware?" Jaws 9/FF2/XP, Jaws10/FF3&IE8/XP (Did not test, but want to: Window-Eyes6/XP, NVDA/XP) | No | No - When a submenu opens, the status of the menu is not announced (e.g., open vs closed). | No | No | No | Yes - Since it uses ARIA, menu bar is announced as "menu." submenus are identified. keyboard keys for navigation are announced (in Jaws). greyed options are announced as "disabled." |
Yes - similar behavior as YUI. | |
| Screen magnifer support? ZoomText 9/XP | No | No | No | No | No | Yes - when click on a menu, if it can scroll up to bring all of the choices into view, it does. | Yes - same behavior as YUI. | |
| Touch screen support? (iTouch, Dynavox) | @@ | @@ | @@ | @@ | @@ | Yes | Yes | |
| Handle font-size increase? (FF3 zoom text size 8 steps) | No. Fixed height/width. But could be built to handle. | Text size increases, but width of menu does not. Something can tweak on an install? Plus, open/close icons are centered vertically and I expect them to be top-aligned. Seem out of place. | Yes (demo only overlaps on About...kind of funny) | Yes | Text increases, but get weird behavior when try to focus on one of the submenu items (using the mouse). | Yes, and creates a scrollbar when the menu becomes too long for the page (nice!). | Yes | |
| Handle user color combinations? (Opera high contrast mode) | Display works, but can't mouse over to submenu items to activate them. (opera styling bug?) | Yes. Although because it is a tree structure, it is difficult to determine which menu items have submenus. But, can see and interact with everything. | Yes. Although the submenu arrows are a little funky and only seems to change color after mouseover? | Yes. Works better now since has focus indicator. :) | Yes. | Yes. | Yes. | |
| Handle screen size changes? (IE8/WAT/640x480) | Yes. Doesn't break but doesn't do anything special. | Yes. Doesn't break but doesn't do anything special. User has to scroll to see more options. | Yes. Nicely displays left or right depending on where there is room. | Yes. Doesn't break but doesn't do anything special. User has to scroll to see more options. | Yes. Doesn't break but doesn't do anything special.User has to scroll to see more options. | Yes. Although, there are not enough menu options to force options offscreen. | Yes. Although, there are not enough menu options to force options offscreen. | |
| ARIA support? | No. | No. | No. | No. | No. | Yes | Yes | |
| Price? | Free | $95.00 | Free for non-commercial use. Commercial: several options ranging from $30 for a single site to $300 for unlimited site license. | ?? | Free | Free | Free | |
| License? | None? | ?? | The number of sites you can apply it to varies. You must visibly link to the UDM4 site with a provided image or text link and you must include the UDM4 copyright statement in any code that uses it. | ?? | None. | YUI BSD - code must include copyright notice. | Dual-licensed under the BSD License and the Academic Free License | |
| Comments? Questions? | Only usable from within Dreamweaver? | Old. Similar issues to son of suckerfish. Didn't fully test. |