Accessibility¶
Keyboard¶
Action | Key |
---|---|
Open a context menu | On Windows: shift-f10 or the Windows context menu key On Firefox on the Macintosh: ctrl-space. On Safari 4 on Mac: VO+shift+m (VO is usually control+opton) |
Navigate menu items | Up and down arrow keys |
Activate a menu item | Spacebar or enter |
Open a submenu | Spacebar, enter, or right arrow |
Close a context menu or submenu | Esc or left arrow |
Close a context menu and all open submenus | Tab |
Known Issues¶
When reading a menu item on Firefox 2, JAWS 8 may say “submenu” for an item that does not have a submenu. This will be fixed in Firefox 3.
Implementation Notes¶
Focus¶
Context menus are focused as soon as they are opened, and focus follows the mouse (or the keyboard arrow keys)
For a static Menu/MenuBar, focus is deferred until user clicks it, or tabs into it. Once user clicks on a Menu/MenuBar, it focuses on it, and then (as with a context menu) any mouse movement or keyboard movement (via arrow keys) will change focus.
CSS Classes¶
There are separate CSS classes for indicating that a MenuItem is mouse hovered (dijitMenuItemHover), and to indicate which MenuItem is selected/active (dijitMenuItemSelected). In tundra/nihilo/soria they look exactly the same, although that could be customized by a user, including removing the hover effect altogether.
“Selected/active” is in the sense of the selected tab, and is controlled by the mouse or keyboard. Implementation-wise, it means that either the MenuItem has focus, or focus is on a submenu of that MenuItem.
The Menu/MenuBar domNode has a dijitMenuPassive/dijitMenuActive class so that CSS rules for hover can be customized based on whether or not the menu has focus. Once the menu gets focus the dijitMenuHover effect is disabled in favor of the dijitMenuSelected effect, so that the dijitMenuHover effect won’t linger on “File” if user moved the mouse over “File” but then used the keyboard arrows to move to the “Edit” MenuBarItem. (This is a setting in tundra/nihilo/soria and can be changed if desired.)