nvda
nvda copied to clipboard
Aria-live "polite" not reading at all
Steps to reproduce:
- Insert new html element to the DOM having aria-live="polite" property
- Screen reader should announce newly added element as soon as user is idle.
Actual behavior:
Newly added element is never announced
Expected behavior:
Should announce newly element with as soon as user is idle (expected behaviour of arial-live="polite")
System configuration
NVDA installed/portable/running from source:
Installed on windows 10 machine
NVDA version: 2020.4
Windows version: Windows 10 Pro
Name and version of other software in use when reproducing the issue:
Google chrome - Version 90.0.4430.212
Other information about your system:
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.
No
If add-ons are disabled, is your problem still occurring?
Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?
Hi,
Have you checked the status of NVDA Plus 5?
Thanks!
NVDA Plus 5
Hi,
I don't know what that is but, I have download latest NVDA from nvaccess.org.
Hi @nattri. "NVDA+5" refers to pressing your NVDA key and 5. Usually the NVDA key is mapped to capslock and/or insert.
Do we have solution for this ?
I've also seen this issue, please let me know if additional reproduction steps would be helpful.
Same, having the issue also
I do wonder if this is a bug or intended behaviour. Since the content of the element isn't changing (the whole element changes) perhaps not announcing the content is intentional (the same as when a page loads with existing content inside aria-live containers 🤔
To work around this issue, we've created an aria-live element that exists on every page and we update that with our updates. It's not perfect but it gets around this issue (which is especially common when we're using React and a whole section of the DOM gets swapped out.
This is the expected behavior, live regions must be announced only when they are updated, not when created. Announcing a live region when it is inserted in the DOM would be catastrophic.
I will put an example to illustrate this: you have a chat window where the messages are list items (LI) inside a list (UL) with aria-live="polite", so new messages are announced when they are inserted into the list. Then, you change to another tab, so the list is temporarily removed from the DOM. Then you switch again to the chat tab and the list is again re-inserted into the DOM. If the contents of the live region were announced now, NVDA would read the whole list of messages in the chat, and not only new messages that would arrive from now.