WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Priming live regions

for

From: Patrick H. Lauke
Date: Nov 6, 2023 2:18AM


I've generally found that as long as you have a short delay between
dynamically generating a live region container, and actually populating
it the first time (i.e. don't generate a fully-formed and populated
aria-live="..." thing, but split it into a) generate the container first
b) then put the message/content in after a few milliseconds), this also
works fine in JAWS/NVDA/etc.

The flakiness generally comes from the rather unpredictable timing
involved in the browser/AT realising there's now a new live region that
they need to keep watching for content changes, and the first message
being actually added inside it.

On 06/11/2023 08:58, Mark Magennis wrote:
>
> I'm finding that when a <span aria-live="polite"> is created dynamically it isn't being read by JAWS in Chrome but it is read by MacOS VoiceOver in Chrome. I've always believed that for aria-live to work the element has to exist in the DOM on page load, but this doesn't appear to be the case for VoiceOver which seems to be able to detect the addition.
>
> Now I'm wondering why JAWS doesn't do the same. Is it that it simply can't do this? Is there something to do with VoiceOver being more tightly integrated into MacOS that makes this possible and which can't be replicated in Windows screen readers?


--
Patrick H. Lauke

https://www.splintered.co.uk/ | https://github.com/patrickhlauke
https://flickr.com/photos/redux/ | https://www.deviantart.com/redux
https://mastodon.social/@patrick_h_lauke | skype: patrick_h_lauke