FreedomScientific/standards-support

JAWS requires two enter key presses to activate a button

Closed this issue · 10 comments

Summary

JAWS requires two enter key presses to activate a button.

Example:

  1. Go to https://kloots.github.io/jaws-application-mode-bug-6.html
  2. Use tab to navigate to the button labeled "Forward message"
  3. Observe JAWS instructs you: "...to activate press enter"
  4. Press enter
  5. Observe JAWS switches to forms mode
  6. Press enter again
  7. Observe focus is moved within an ARIA dialog
  8. Use tab to navigate to the close button within the dialog
  9. Observe JAWS instructs you: "...to activate press enter"
  10. Press enter
  11. Observe JAWS switches to forms mode
  12. Press enter
  13. Observe the dialog is closed

Expected result

JAWS shouldn't require two enter key presses to click/activate a button

Actual result

JAWS requires two enter key presses to click/activate a button

Additional Information

JAWS version and build number

JAWS 2024.2403.3

Operating System and version

Windows 11

Browser and version:

Chrome 124.0.6367.61

Here's a demo of how the same example works in NVDA: only a single enter key press is require to click a button
https://github.com/FreedomScientific/standards-support/assets/40818/5a98a41e-178e-43ea-a6ed-f2bca5b8a9b1

Thanks @kloots, can reproduce with JAWS 2024.2403.3 and Chrome 124.0.6367.61

Imported into ADO as bug 80493

@BrettLewisVispero in case it helps you in debugging, here's two variations of the example I provided where this bug does not manifest.

Example 1

  1. Go to https://kloots.github.io/jaws-application-mode-bug-7.html
  2. Use tab to navigate to the button labeled "Forward message"
  3. Observe JAWS instructs you: "...to activate press enter"
  4. Press enter
  5. Observe the alert opens on the first enter key press

The difference with this example is the "Forward message" button is not inside a list.

Example 2

  1. Go to https://kloots.github.io/jaws-application-mode-bug-8.html
  2. Use tab to navigate to the button labeled "Forward message"
  3. Observe JAWS instructs you: "...to activate press enter"
  4. Press enter
  5. Observe JAWS switches to forms mode
  6. Press enter again
  7. Observe focus is moved within a dialog built with the HTML <dialog> element
  8. Use tab to navigate to the close button within the dialog
  9. Observe JAWS instructs you: "...to activate press enter"
  10. Press enter
  11. Observe the dialog is closed

The difference with this example is the dialog is built using the <dialog> element vs a <div> with role="dialog" button is not inside a list.

And here's a screen recording demonstrating how these subtle variations get JAWS working as expected:

Screen.Recording.2024-04-23.at.2.14.15.PM.mov

The problem seems to be that despite role=application, JAWS switches to VPC mode when the focus is on button, which should not happen

This will be fixed in the July JAWS release.

Fixed in July JAWS release.