nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.1k stars 634 forks source link

NVDA + Chrome does not read role=progressbar updates when sibling content is set to display:none in the same event #13767

Open tzbarkan opened 2 years ago

tzbarkan commented 2 years ago

Note that this bug also reproduces previously reported issues for NVDA reading progressbars twice. That is tangential to this issue. But since two people could reproduce the doubletalk, you get two bugs for the price of one report. :)

Steps to reproduce:

Detailed steps to reproduce, with live code at https://codepen.io/fusilli/pen/QWQxrKw

Short story:

  1. Update the attributes of a div with role="progressbar" and aria-live="polite" via JS at the same time a sibling of the progress bar (or a sibling of the progress bar's ancestor) is set to display:none (via any means).
  2. The element which is toggled to display:none must contain a child whose display is currently also set to none. The child with display:none is the key to reproduce the bug.

Our company uses the same JS file on 7 forms with progressbars, with mild differences in the HTML and CSS. The bug only occurs on one of those forms with this specific set of circumstances

Actual behavior:

  1. NVDA only reads the progress bar updates when the sibling has not changed state from display:block to display:none. No speech is recorded in the speech viewer, either.
  2. When NVDA does read progress bar updates, it reads them twice. This is reflected in the speech viewer as well.

Expected behavior:

NVDA should politely read the progress bar once per update.

System configuration

NVDA installed/portable/running from source:

Installed and portable

NVDA version:

Late 2021 version, 2022, and 2022.1

Windows version:

21H2

Name and version of other software in use when reproducing the issue:

Chrome 102.0.5005.63, but it has happened in previous versions of Chrome. It does not happen in Firefox.

Other information about your system:

Reproducible on multiple windows computers

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

Yes. At least 2021 and 2022.1. I think one person reproduced it on 2022 too.

If NVDA add-ons are disabled, is your problem still occurring?

No addons are installed on the machines experiencing this problem.

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes.

Adriani90 commented 8 months ago

With NVDA 2024.1 Beta 6, Chrome and Edge 121 as wella s Firefox 122, NVDA reports everytime the progress updates in both cases. In chrome NVDA reports the updates twice. Beeps are playing only sometimes both in Firefox and Chromium, not sure if they have been set to play too fast so they are interupted by speech.

Conclusion:

@jcsteh do you think there is something NVDA should change here re beeps playing or double speaking?