E-mail List Archives

Re: resolving conflict between JAWS and key-press events for navigating large drop-down menus


From: Mallory van Achterberg
Date: Aug 29, 2014 12:53AM

On Thu, Aug 28, 2014 at 01:26:37PM -0500, Michael Tangen wrote:
> One issue I found, though — I know that typically it's the <UL> tags that
> should be assigned the role="menu" attribute, but I noticed that JAWS would
> *not* announce "has submenu" on the *first level* menu items that have
> child menus — even if the actual first level menu item <A> tag has the
> attribute aria-haspopup="true". But beyond the first level, JAWS would
> announce "has submenu" to all subsequent child menus.
> I found that if I add "role="menu" to the *first level* <LI> tags in
> addition to (or instead of) the first <UL> tag, it would then announce "has
> submenu" to notify the user of subsequent menus. Is this the correct way
> to compensate for this?


This is old, as it states at the top, because it seems he came to the
same conclusion many of us did-- that the menu/menuitem setup sucks for
"normal" web navigation. But, if you follow the rules in his post and
on the ARIA spec page, you can get JAWS to announce everything correctly.

Basically if you make any little mistake, assign the wrong role to the
wrong thing, it'll break.

So anyway you were on the right track setting role=menu on the li, as the
ul gets "menubar".