FreedomScientific / standards-support

Contains documentation for Vispero software support of Web standards
https://freedomscientific.github.io/standards-support/
GNU General Public License v3.0
105 stars 11 forks source link

JAWS mislabels combobox as 'mnu' and fails to announce listbox item positions when nested in menubar on Chrome or Edge #831

Open YunHanBai opened 1 month ago

YunHanBai commented 1 month ago

Summary

When navigating a web page with JAWS screen reader, combobox elements inside a menubar are incorrectly labeled as 'mnu' in the Braille Viewer instead of 'cbo'. Additionally, JAWS does not announce the position of items in a listbox if the listbox is inside a menubar, despite having role="listbox" on the container and role="option" on the child elements.

combobox and listbox function correctly if they are not inside a menubar.

This issue occurs in Chrome/Edge but not in Firefox.

Steps to reproduce:

  1. Open Chrome or Firefox with JAWS screen reader enabled.
  2. Navigate to the provided CodeSandbox example: https://codesandbox.io/p/sandbox/comboboxa11y-simplified-hyt9h6
  3. Focus on the combobox inside the menubar and observe the labeling in the Braille Viewer.
  4. Navigate the items within the listbox inside the menubar and listen for the announcement of item position and total count.

Expected result

Similar to combobox and listbox when placed outside a menubar, the following behaviors are expected:

Actual result

In Chrome/Edge, the combobox is labeled as 'mnu' in the Braille Viewer, and the screen reader does not announce the position and total count of items within the listbox. In Firefox, the combobox is correctly labeled as 'cbo', and the position and total count are announced.

Example

The issue can be replicated using the following CodeSandbox example: https://codesandbox.io/p/sandbox/comboboxa11y-simplified-hyt9h6

Additional Information

JAWS version and build number

JAWS 2024.2403.3 (also tested with JAWS 2022.2211.7)

Operating System and version

Windows 11 Enterprise 23H2

Browser and version:

Chrome: 124.0.6367.119 Edge: 124.0.2478.80 Firefox: 125.0.3

JAWS-test commented 1 month ago

A menubar must not contain a comobox or listbox, so there is no JAWS error here, but an error in your example.

See https://www.w3.org/TR/wai-aria-1.3/#menubar

JAWS-test commented 1 month ago

If you want listbox and combobox in an area that can be operated with arrow keys, please use role=toolbar instead of menubar

YunHanBai commented 1 month ago

Hello @JAWS-test,

Thank you for the timely response.

I've been reviewing the WAI-ARIA 1.3 documentation you mentioned, it doesn't seem to explicitly state that a combobox or listbox cannot be included within a menubar or menuitem.

Would you be able to point me towards any specific documentation that clearly outlines that a menubar must not contain controls like combobox or listbox? Or could you confirm whether JAWS will definitely not support combobox or listbox when they are in a menubar?

I'd really appreciate your help in clarifying this!

JAWS-test commented 1 month ago

Or could you confirm whether JAWS will definitely not support combobox or listbox when they are in a menubar?

No, because I am not from Freedom Scientific

Would you be able to point me towards any specific documentation that clearly outlines that a menubar must not contain controls like combobox or listbox?

Yes. See "Allowed Accessibility Child Roles"