FreedomScientific / standards-support

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

JAWS does not support navigating to disabled options and fails to announce them as disabled or dimmed or unavailable. #736

Closed AH106586Harika closed 1 year ago

AH106586Harika commented 1 year ago

Summary

JAWS does not focus on disabled options of HTML Select element and fails to announce them as disabled or dimmed or unavailable.

Example:

  1. Go to https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_option_disabled
  2. Tab till select field and click space to open the select dropdown.
  3. Navigate through the options with arrow keys.

Expected result

JAWS should properly focus on disabled options and announce them as disabled or dimmed.

https://github.com/FreedomScientific/standards-support/assets/126655256/0a9a1abc-857d-47b3-93dd-652344e8d3e0

Actual result

JAWS fails to focus on disabled options and does not announce their disabled status. It behaves as if the disabled options are not present.

Additional Information

JAWS version and build number

JAWS 2023.2306.38

Operating System and version

Windows 10 Enterprise

Browser and version:

Edge Browser Version 115.0.1901.188 (Official build) (64-bit)

stevefaulkner commented 1 year ago

Tested test case with JAWS 2023.2307.37 can reproduce The number of options is announced as 4, but there is no way to navigate or have the option announced <option disabled>

JAWS-test commented 1 year ago

This will be difficult to fix as the browsers have decided that disabled options do not receive keyboard focus. Since in a select JAWS and NVDA are in forms mode, the question would be how to output an option that does not receive focus? This would require changing the whole screen reader concept, as it works with Narrator, which would be a lot of work and would also result in a completely different user experience.

ARIA therefore takes the approach that disabled options should receive the focus. Then it also works correctly with JAWS and NVDA: https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#focusabilityofdisabledcontrols

stevefaulkner commented 1 year ago

@ggordon-vispero @BrettLewisVispero your input appreciated

ggordon-vispero commented 1 year ago

This is one of those issues for which we can’t conceive of an elegant fix. In JAWS virtual cursor mode, we only expose the selected option to prevent users from being overwhelmed by available options when the goal is to read the page as a whole.

When in forms mode and arrowing through options, the browser controls which options gain focus. It never moves focus to disabled options which is why JAWS doesn’t announce them.

stevefaulkner commented 1 year ago

This is one of those issues for which we can’t conceive of an elegant fix. In JAWS virtual cursor mode, we only expose the selected option to prevent users from being overwhelmed by available options when the goal is to read the page as a whole. When in forms mode and arrowing through options, the browser controls which options gain focus. It never moves focus to disabled options which is why JAWS doesn’t announce them.

thanks @ggordon-vispero closing this as wontfix