Update: 3/1/18
I still think ARIA menus can be used for navigation. But they have to be implemented perfectly, which may not be worth the effort vs. using a bunch of standard HTML links. See https://www.levelaccess.com/challenges-mega-menus-standard-menus-make-accessible/.
Some think that ARIA menus should not be used for navigation.
They typically cite the following definitions from ARIA 1.1.
- menu (role)
A menu is often a list of common actions or functions that the user can invoke. The menu role is appropriate when a list of menu items is presented in a manner similar to a menu on a desktop application. - menubar (role)
The menubar role is used to create a menu bar similar to those found in Windows, Mac, and Gnome desktop applications. A menu bar is used to create a consistent set of frequently used commands. Authors should ensure that menubar interaction is similar to the typical menu bar interaction in a desktop graphical user interface. - menuitem (role)
An option in a set of choices contained by a menu or menubar.
But these definitions do not say that choices offered by an ARIA menu cannot represent navigation. For example, look at the menu from JAWS below and notice the Web Resources option. It opens a sub-menu that performs navigation to several different pages.
So it’s my opinion that ARIA menus can be used for navigation as long as they are implemented correctly. See the examples below.
ARIA Navigation Menu Examples
- https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html
- https://staff.washington.edu/tft/tests/menus/simplyaccessible/index.html
- http://whatsock.com/test/ARIA%20Menubar/ARIA%20Menubar/menubar.html
- http://whatsock.com/test/ARIA%20Menubar/index.html
- http://staff.washington.edu/tft/tests/menus/html5/index.html
- https://gist.github.com/GaryJones/3685285
- https://codepen.io/grayghostvisuals/pen/ltjDa
- http://pauljadam.com/demos/aria-menubar.html
Although these examples are ARIA 1.1 compliant this is the best assistive technology support at this time.