Replies: 3 comments 1 reply
-
@Dikarev94 I think live regions are rendered differently in browsers since years, so this is a discussion that certainly can be opened with browser vendors. Actually applying a "polite" or an "assertive" atribute on the aria live region should add more consistency here. Did you test with these atributes? cc: @jcsteh maybe you have further thoughts on this. |
Beta Was this translation helpful? Give feedback.
-
Converting to a discussion as this is a discussion on standards rather than an explicit issue with NVDA |
Beta Was this translation helpful? Give feedback.
-
Coming into this old discussion with a naive question perhaps: unless I'm mistaken, what you're doing here
is completely hiding the body from being exposed to SRs. this likely also includes the element that acts as the live region? in this case, it would not be surprising that any live region change is generally not announced (barring quirks in different browser/SR implementations), and unless you're then later removing the |
Beta Was this translation helpful? Give feedback.
-
Steps to reproduce:
Hello. I have an old website with a form and "search" button. After submit user is being redirected to a page with results.
Redirecting may take a whole minute (using phpyaz for retrieving hundreds of records) and user is waiting on current page
until new page is fully rendered. I wanted to add a loading spinner with focus trapped for mainstream users and aria-live message for blind users. They are supposed to be shown and announced if loading is longer than 5 seconds.
But simple example below works completely different in different browsers:
Actual behavior:
In Mozilla any changes of the accessibility tree (before and after submit) are properly shown in Inspect tool and announced by NVDA
both in focus mode and browser mode. If I remove bodyElement change from the example above and add
setTimeout(() => {
aria_live_region.innerHTML = "Please wait";
}, 5000);
after search_form.submit(); then message is being announced.
In Edge any change after form submit is not announced but at least Edge has built-in message "Loading page".
If I hide body before submit NVDA browse mode does not see changes until manual refresh.
If I add small delay before submit then tree is updated
setTimeout(() => {
search_form.submit();
}, 100);
But it impossible to announce message from redirected page after 5 seconds of form submit.
Maybe it is not a bug and it is kind of optimization which causes focus mode to stop on the old page and does not send
tree change event from old page to NVDA.
Chrome works the same way as Edge but without built-in message "Loading page"-"Loading complete", i.e.
after form submit I have complete silence in focus mode and outdated tree in browse mode.
BUT using Chrome's screen reader extension works like Mozilla+NVDA.
Expected behavior:
Shouldn't Chrome+NVDA and Edge+NVDA work the same way as Mozilla+NVDA?
If not I would like to ask about best practices for traditional websites (with possibly long redirecting process)
to make sure that if loading takes some time then a message from the redirected page will be announced
by NVDA in all browsers.
NVDA version:
2023.1.0.27913
Name and version of other software in use when reproducing the issue:
Chrome 110.0.5481.104
Other questions
Have you tried any other versions of NVDA? If so, please report their behaviors.
No
If NVDA add-ons are disabled, is your problem still occurring?
No addons
Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?
Yes
Beta Was this translation helpful? Give feedback.
All reactions