Closed Bug 1721979 Opened 4 years ago Closed 2 years ago

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)

Firefox 89
defect

Tracking

()

RESOLVED DUPLICATE of bug 995064

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.

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.

Component: Untriaged → Disability Access APIs
Product: Firefox → Core

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>

Flags: needinfo?(saroha.priyank)

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.

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.

Blocks: aria
Severity: -- → S4
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: JAWS screen reader reads items with role="menuitem" as "1 of 1" → JAWS screen reader reads items with role="menuitem" and a parent div with aria-expanded as "1 of 1"

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.

Flags: needinfo?(saroha.priyank)

Fixed by bug 995064.

Status: NEW → RESOLVED
Closed: 2 years ago
Duplicate of bug: 995064
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.