Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow live regions to be disabled. #9077

Closed
derekriemer opened this issue Dec 16, 2018 · 3 comments · Fixed by #9079
Closed

Allow live regions to be disabled. #9077

derekriemer opened this issue Dec 16, 2018 · 3 comments · Fixed by #9079
Milestone

Comments

@derekriemer
Copy link
Collaborator

I am proposing allowing live regions to be disabled. I'm planning to control this with the report dynamic content changes setting, which could be set in profiles as well. Ideally, you'd be able to control on a per site | per region basis, but that isn't easy for us to do yet.
The idea would be to speak live regions when this setting is on, and nvda+5 will be finally able to stop monster pages (pages that read live regions incessantly). PR coming to plum live regions from IA2 through to a callback first, please comment on this proposal.

@bramd
Copy link
Contributor

bramd commented Dec 27, 2018

Sounds like a great idea and the behavior I expected in the first place. It would also be nice to provide callbacks on the Python level when a live region fires, so that appmodules or addons can decide if they should be spoken or not. A good case is the Windows 10 updates window in Settings. It floods NVDA with live region updates to indicate the status of every update multiple times, making it hard to see what is going on. With some more smart filtering, these message might be useful, but the logic would be very specific to this case.

@jscholes
Copy link

jscholes commented May 9, 2019

Any update on this? I came here to report this specifically. Live regions represent the very definition of dynamic content changes, but yet NVDA+5 has no impact on them at all.

@lukaszgo1
Copy link
Contributor

I've recently tried to send some accessibility feedback to Google using the following form
https://support.google.com/accessibility/contact/feedback
Unfortunately with each typed letter and each arrow movement in the edit field current amount of characters and amount of characters allowed were repeated. It looks like this info was placed in a live region below the field. The fact that companies as big as Google are not using Live regions correctly shows how badly needed is the feature proposed here.

feerrenrut added a commit that referenced this issue Nov 16, 2020
Updates to ARIA live regions are now suppressed when reporting of dynamic content changes is disabled.

### Summary of the issue:

The same logic was used for sending external applications speech to core and to send live region messages to core.

### Description of the Fix

NVDAControllerInternal_speakMessage used to be used to send live regions at NVDA, which made it impossible to differentiate them from messages sent from external applications through the controller client. This change separates the passage of live regions into another function, nvdaControllerInternal_reportLiveRegion(wchar_t* text, wchar_t* level); which is part of the NVDAControllerInternal interface instead of the NVDAController interface. This is because I don't see a reason for non NVDA specific DLL's to call into this. This function is then used in place of speakText in ia2LiveRegions.cpp.

Fixes #9077, 
Unblocks #7756, 
Closes #7743

Co-authored-by: Leonard de Ruijter <alderuijter@gmail.com>
Co-authored-by: Michael Curran <mick@nvaccess.org>
Co-authored-by: Reef Turner <reef@nvaccess.org>
@nvaccessAuto nvaccessAuto added this to the 2020.4 milestone Nov 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants