adobe-accessibility / Accessible-Mega-Menu

A demonstration of how to implement a keyboard and screen reader accessible mega menu as a jQuery plugin.
Apache License 2.0
605 stars 199 forks source link

Fix mistargeting of topnav link when no panel #65

Closed maedi closed 3 years ago

maedi commented 4 years ago

When a megamenu doesn't have a sub panel, the current selectors get confused. The selector for topnavitempanel will select the top level link instead and add its sub panel classes to it. This pull request more specifically targets top level link and its panel.

While the megamenu still works when panel attributes are added top level link, it breaks VoiceOver on iOS. In mobile when using VoiceOver and you expand the megamenu by toggling the menu button, you will then be unable to swipe to the navigation links. "Swipe" in this context refers to a touch gesture that tabs to the next item. This is because those sub panel attributes make the top level link invisible to VoiceOver (aria-hidden="true", "aria-expanded="false", role="region").

maedi commented 3 years ago

Merged via pull request #66.