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.