JAWS screen reader reads items with role="menuitem" and a parent div with aria-expanded as "1 of 1"
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
People
(Reporter: saroha.priyank, Unassigned)
References
(Blocks 1 open bug)
Details
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36
Steps to reproduce:
Created a list with role="menubar", gave the items role="menuitem", and navigated to the menu items.
Actual results:
JAWS 2020 screen reader reads "1 of 1" at the end of each item.
Expected results:
Screen reader should read "i of n" at the end each item, with i being the index and n being the total number of items.
Works correctly on Chrome and Safari. JAWS team informed that the bug is with Firefox after testing with JAWS and NVDA screen readers.
Comment 1•4 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Disability Access APIs' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.
Comment 2•4 years ago
|
||
Could you please provide a test case? The position info gets reported correctly for the following:
data:text/html,<ul role="menubar"><li role="menuitem">a</li><li role="menuitem">b</li></ul>
Reporter | ||
Comment 3•4 years ago
|
||
Hi James, please check the two menus I made here https://codepen.io/priyank12/pen/dyWdWpo use tab/shift+tab to navigate the menu items. The second menu is read incorrectly on Firefox with JAWS 2020. On Chrome and Safari it reads correctly.
Comment 4•4 years ago
|
||
The intervening divs in the second example have aria-haspopup="false" aria-expanded="false". That means they have semantic significance (since they have ARIA attributes). Since that effectively makes them a semantic container, Firefox counts within that container. Thus, this is an authoring error.
While other browsers behave differently here, I think this isn't something that is clearly defined by the spec. The spec is pretty clear that menuitems can be a descendant of menu (not just a child). However, in this case, an intervening element has semantics which don't fit within a menu.
I'm leaving this open because Firefox could perhaps try to detect this and work around it.
Reporter | ||
Comment 5•4 years ago
|
||
Hi James. I don't think the additional aria props should affect the browsers' counting of menuitems within a menu. Those additional props don't have any meaning in the context of a menu. I also noticed the same behavior with role="list" and children elements of role="listitem" as well - Firefox reads "1 of 1" for all listitems.
Comment 6•2 years ago
|
||
Fixed by bug 995064.
Description
•