Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-79157

Action menu > submenu Keyboard navigation not ARIA compliant



    • HQ 2023 Sprint I3.3 Moppies


      The action menu subpanel keyboard navigation does not follow the ARIA standards. According to  WAIARIA, menus should uses the following keyboard pattern:


      The standard does not explicitly cover submenus like subpanels but menu horizontal bars with vertical menus (similar to a typical desktop application top bar). However, the subpanel navigation should be at least consistent with the regular action menu.

      This is the summary of the missing keyboard navigation with quotes from the the WAI-ARIA pattern (the parenthesis parts are additions or omissions for better understanding):

      Tab, Shift+Tab and Enter

      When a menu opens, or when a menubar receives focus, keyboard focus should be placed on the first subpanel item. Because menubar and menu elements are composite widgets as described in the practice for Keyboard Navigation Inside Components, Tab and Shift + Tab do not move focus among the items in the menu. Instead, the keyboard commands described in this section enable users to move focus among the elements in a menubar or menu.

      • Move focus into a menubar (refering to TAB or ENTER): (...) focus is set on the first menuitem (first focusable element in the subpanel in this case).
      • When focus is on a menuitem in a menu or menubar (subpanel in this case), (the Shift+Tab) move focus out of the menu or menubar, and close all menus and submenus.

      Home + End

      When the focus is on a subpanel element, move the focus to the first (home) or last (end) subpanel focusable element.

      Home: (...) moves focus to the first item in the current menu or menubar (first subpanel link in this case).
      End: (...) moves focus to the last item in the current menu or menubar (last subpanel link in this case).


      Move the focus away from the subpanel and return it to the original action menu item. The spec also forces to close the subpanel.

      Escape: Close the menu that contains focus and return focus to the element or context, e.g., menu button or parent menuitem, from which the menu was opened.



        Issue Links



              tusefomal Ferran Recio
              dobedobedoh Andrew Lyons
              Mikel Martín Corrales Mikel Martín Corrales
              Ilya Tregubov Ilya Tregubov
              CiBoT CiBoT
              0 Vote for this issue
              7 Start watching this issue



                Time Tracking

                  Original Estimate - Not Specified
                  Not Specified
                  Remaining Estimate - 0 minutes
                  Time Spent - 3 days, 2 hours, 25 minutes
                  3d 2h 25m


                    Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.