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.