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 switches the Virtual PC Cursor on when focus moves to an interactive list #868

Open kloots opened 2 months ago

kloots commented 2 months ago

Summary

JAWS toggles the Virtual PC Cursor on when focus is moved to an ARIA list made interactive via use of the tabIndex attribute and the roving tabindex pattern. This appears to be a regression, as previously the Virtual PC Cursor was toggled off in such cases as demonstrated in this Reading Messages In Slack video.

Steps to reproduce:

  1. Go to https://codepen.io/toddlr/pen/QWXXmPB
  2. Move focus to the element with role="textbox".
  3. With focus in the input press the up arrow key to move focus to the ARIA list that precedes it.
  4. Focus should move to the last ARIA listitem in the ARIA list.
  5. With focus on the last ARIA listitem, press the up arrow key to move focus to the previous ARIA listitem.
  6. Focus should move to the previous ARIA listitem.

Expected result

When the ARIA list is focused JAWS allows the up and down arrow keys to move focus between the ARIA listitem elements.

Actual result

When the ARIA list is focused JAWS seems to toggle the Virtual PC Cursor on and the up and down arrow keys cannot be used to move focus between the ARIA listitem elements.

Example

https://codepen.io/toddlr/pen/QWXXmPB

Additional Information

JAWS version and build number

JAWS 2024.2409.2

Operating System and version

Windows 11 Pro Version 23H2 OS Build: 22631.4169

Browser and version:

Chrome: 128.0.6613.138 Firefox: 130.01

kloots commented 2 months ago

This video demonstrates the issue with JAWS (version 2024.2409.2) using Chrome (128.0.6613.138)

https://github.com/user-attachments/assets/994da31d-bf6e-4a4d-9443-1361f08ab826

kloots commented 2 months ago

This video demonstrates how the same example works with NVDA using Chrome. This is the desired behavior and how things used to work in JAWS.

https://github.com/user-attachments/assets/87d7d1d7-362b-44da-a867-8a35c8c9d54b

BrettLewisVispero commented 1 month ago

Imported into ADO as bug 97555

JAWS-test commented 1 month ago

I would consider the switch to form mode for lists to be more of a JAWS bug. Other screen readers do not switch to form mode for lists either (e.g. NVDA). Lists are not control elements like selection lists (select or listbox, option).

JAWS-test commented 1 month ago

See: https://github.com/w3c/aria/issues/1325 and https://github.com/w3c/aria/issues/2036

I therefore advise against re-implementing the JAWS bug. It would be better to wait until ARIA offers such operable lists

JAWS-test commented 1 month ago

See https://github.com/FreedomScientific/standards-support/issues/334

kloots commented 1 week ago

Verified this has been fixed in JAWS 2025. Thank you!