Feature: #92704 - Improve keyboard navigation for module menus
See forge#92704
Description
The module menu implements the keyboard navigation suggested
by the ARIA Best Practices 1.1 for roles
menubar
and
menu
.
The first level menu has a
menubar
role, the second level
submenus have a
menu
role. The buttons have the
menuitem
role. Both the
menubar
and the
menu
are oriented
vertically for assistive technology matching the visual
representation which affects the keyboard navigation.
Space/Enter shows the module unless the item has a submenu. Space/Enter and Right Arrow open a submenu and move focus to the first item.
Up/Down Arrow and Home/End navigate within the current level of the menu. Ctrl + Home/End navigate within the first level of the menu (extension of the ARIA pattern).
Left/Right Arrow moves to the parent items predecessor/successor when on a submodule item. The submenu will not be closed (deviation from the ARIA pattern).
Escape moves to the parent item of a submodule item. The submenu will not be closed (deviation from the ARIA pattern).
Tab and Shift + Tab move to the next item outside of the module menu.
The help menu implements the keyboard navigation suggested
by the ARIA Best Practices 1.1 for the role
menu
. This
is the same as the module menu but limited to a single level.
Impact
The main module menu and the help menu are now usable with keyboard alone. This includes users that access the backend with a screen reader or other assistive technology.