WebAIM - Web Accessibility In Mind

E-mail List Archives

Thread: Priming live regions

for

Number of posts in this thread: 4 (In chronological order)

From: Mark Magennis
Date: Mon, Nov 06 2023 1:58AM
Subject: Priming live regions
No previous message | Next message →

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?

Mark

From: Patrick H. Lauke
Date: Mon, Nov 06 2023 2:18AM
Subject: Re: Priming live regions
← Previous message | Next message →

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

From: Mark Magennis
Date: Mon, Nov 06 2023 3:13AM
Subject: Re: Priming live regions
← Previous message | Next message →

great info. Thanks Patrick
From: WebAIM-Forum < = EMAIL ADDRESS REMOVED = > on behalf of Patrick H. Lauke < = EMAIL ADDRESS REMOVED = >
Sent: Monday 6 November 2023 09:18
To: = EMAIL ADDRESS REMOVED = < = EMAIL ADDRESS REMOVED = >
Subject: [EXTERNAL] Re: [WebAIM] Priming live regions

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://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.splintered.co.uk%2F&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=VXD3DGZcIZg%2BSfPzFkCM6XnwzvE0sIeYqHu95Lrh%2FCM%3D&reserved=0<https://www.splintered.co.uk/> | https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpatrickhlauke&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=YzxpQCT3OB43QzuJnCcIHuHzG%2BLEp6CKgrtDrh6EV0E%3D&reserved=0<https://github.com/patrickhlauke>
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fflickr.com%2Fphotos%2Fredux%2F&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=5tWnzuFOlHRTG4ZCdDRIvglYh8myWE8FzE7DA9zkKQ4%3D&reserved=0<https://flickr.com/photos/redux/> | https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.deviantart.com%2Fredux&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ah0%2BwHvllbOMJZuDUpG3ScZUS0%2Fg%2BhxKxHr4DDwNor8%3D&reserved=0<https://www.deviantart.com/redux>
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmastodon.social%2F%40patrick_h_lauke&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=eorgD%2FCuXrCuIxyORzH4m5VcEU9Gur%2FmOuyNDpoeByY%3D&reserved=0<https://mastodon.social/@patrick_h_lauke> | skype: patrick_h_lauke

From: Jon Gunderson
Date: Tue, Nov 07 2023 10:41AM
Subject: Re: Priming live regions
← Previous message | No next message

Mark,

You may also want to try using the role=status on the element, instead of
aria-live=polite attribute. Using the role attribute is sometimes more
reliable.
https://www.w3.org/TR/wai-aria/#status

Jon


On Mon, Nov 6, 2023 at 4:13 AM Mark Magennis < = EMAIL ADDRESS REMOVED = >
wrote:

> great info. Thanks Patrick
> > From: WebAIM-Forum < = EMAIL ADDRESS REMOVED = > on behalf of
> Patrick H. Lauke < = EMAIL ADDRESS REMOVED = >
> Sent: Monday 6 November 2023 09:18
> To: = EMAIL ADDRESS REMOVED = < = EMAIL ADDRESS REMOVED = >
> Subject: [EXTERNAL] Re: [WebAIM] Priming live regions
>
> 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://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.splintered.co.uk%2F&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=VXD3DGZcIZg%2BSfPzFkCM6XnwzvE0sIeYqHu95Lrh%2FCM%3D&reserved=0
> <https://www.splintered.co.uk/> |
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpatrickhlauke&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=YzxpQCT3OB43QzuJnCcIHuHzG%2BLEp6CKgrtDrh6EV0E%3D&reserved=0
> <https://github.com/patrickhlauke>
>
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fflickr.com%2Fphotos%2Fredux%2F&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=5tWnzuFOlHRTG4ZCdDRIvglYh8myWE8FzE7DA9zkKQ4%3D&reserved=0
> <https://flickr.com/photos/redux/> |
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.deviantart.com%2Fredux&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ah0%2BwHvllbOMJZuDUpG3ScZUS0%2Fg%2BhxKxHr4DDwNor8%3D&reserved=0
> <https://www.deviantart.com/redux>
>
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmastodon.social%2F%40patrick_h_lauke&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=eorgD%2FCuXrCuIxyORzH4m5VcEU9Gur%2FmOuyNDpoeByY%3D&reserved=0
> <https://mastodon.social/@patrick_h_lauke> | skype: patrick_h_lauke
>
> > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flist.webaim.org%2F&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=YOuclQIjbhWcDHJzYZZmvZJ5CfL2%2FjvkiR57kVt%2BkVQ%3D&reserved=0
> <http://list.webaim.org/>;
> List archives at
> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwebaim.org%2Fdiscussion%2Farchives&data%7C01%7CMark.Magennis%40skillsoft.com%7C0c26757596a64673788408dbdea95556%7C50361608aa23494da2332fd14d6a03f4%7C0%7C0%7C638348591109840492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ye%2BHXlGI2GqeqNvsZWfPYTe2NXReK9%2FhrKNkFsqY1Y8%3D&reserved=0
> <http://webaim.org/discussion/archives>;
> > > > > >