WebAIM - Web Accessibility In Mind

E-mail List Archives

Thread: Aria Alert and Progress Loaders

for

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

From: jpi4a11y
Date: Thu, Sep 10 2020 6:29AM
Subject: Aria Alert and Progress Loaders
No previous message | Next message →

Hi all,

We're using an aria alert in a progress loader.

We're finding inconsistencies in the browsers:
. In Firefox desktop, the screen reader (NVDA) announces the full
progress from 1 to 100% even after the loader has completed and focus has
moved to the main content.
. Again in Firefox, there is a 1-2 sec delay in announced percentage
changes. Adjusting the delay doesn't seem to affect the output
. Viewing in other browsers (Chrome/Edge) with NVDA and other screen
readers announces a percentage and jumps to main as expected
Any thoughts on workaround or similar experience?

Thanks,
== Joel Isaac

From: Birkir R. Gunnarsson
Date: Thu, Sep 10 2020 6:47AM
Subject: Re: Aria Alert and Progress Loaders
← Previous message | Next message →

I've found a similar issue in that content of elements with
role="alert" gets announced on page load in Chrome (I have not tested
Edge), but does not get announced in Firefox.
In fact, in Firefox, you have no idea what alerts are on the page,
unless they get dynamically injected.

There is some lack of clarity in the ARIA spec in this regard and
overly verbose alerts can be an accessibility barrier, but I still
believe that the alert role should trigger an announcement.
I think the only thing to do is to file Firefox bugs and take the
discussion there.


On 9/10/20, = EMAIL ADDRESS REMOVED = < = EMAIL ADDRESS REMOVED = > wrote:
> Hi all,
>
> We're using an aria alert in a progress loader.
>
> We're finding inconsistencies in the browsers:
> . In Firefox desktop, the screen reader (NVDA) announces the full
> progress from 1 to 100% even after the loader has completed and focus has
> moved to the main content.
> . Again in Firefox, there is a 1-2 sec delay in announced percentage
> changes. Adjusting the delay doesn't seem to affect the output
> . Viewing in other browsers (Chrome/Edge) with NVDA and other screen
> readers announces a percentage and jumps to main as expected
> Any thoughts on workaround or similar experience?
>
> Thanks,
> == Joel Isaac
>
>
> > > > >


--
Work hard. Have fun. Make history.

From: Patrick H. Lauke
Date: Thu, Sep 10 2020 6:59AM
Subject: Re: Aria Alert and Progress Loaders
← Previous message | Next message →

On 10/09/2020 13:47, Birkir R. Gunnarsson wrote:
> I've found a similar issue in that content of elements with
> role="alert" gets announced on page load in Chrome (I have not tested
> Edge), but does not get announced in Firefox.
> In fact, in Firefox, you have no idea what alerts are on the page,
> unless they get dynamically injected.

And this (alerts announcing after page load, once content is actually
injected into the container) is how they generally should behave. The
fact that some browser/AT combos fire an explicit announcement already
on page load is more a bug/inconsistency than a feature. In general, the
process should be:

- have a container that's empty on page load, with aria-live="..." or a
relevant (implicit or explicit) live region role.
- once the page is loaded, you can update the content dynamically, and
this change will trigger an announcement by AT.

Getting back to the thread starter: it would obviously be good to see
this in action, as it's difficult to debug/offer advice on this purely
theoretically.

P
--
Patrick H. Lauke

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

From: Birkir R. Gunnarsson
Date: Thu, Sep 10 2020 7:04AM
Subject: Re: Aria Alert and Progress Loaders
← Previous message | Next message →

Well, I used to think so too, but sometimes you need to mark up an
important announcement on a page, one that gets aggressive visual
treatment (imagine an emergency closure alert).
You can do the right things, place it at the top of the page or the
main content, mark it with an h1, but ultimately sometimes you want it
announced. The alert role would work well in this scenario, and I
think there is a role or attribute that should trigger announcement on
page load (doing it by hacking delays and injection with Javascript is
not super reliable).
Then again I am maybe just temporarily being swayed by dealing with a
specific practical problem.


On 9/10/20, Patrick H. Lauke < = EMAIL ADDRESS REMOVED = > wrote:
> On 10/09/2020 13:47, Birkir R. Gunnarsson wrote:
>> I've found a similar issue in that content of elements with
>> role="alert" gets announced on page load in Chrome (I have not tested
>> Edge), but does not get announced in Firefox.
>> In fact, in Firefox, you have no idea what alerts are on the page,
>> unless they get dynamically injected.
>
> And this (alerts announcing after page load, once content is actually
> injected into the container) is how they generally should behave. The
> fact that some browser/AT combos fire an explicit announcement already
> on page load is more a bug/inconsistency than a feature. In general, the
> process should be:
>
> - have a container that's empty on page load, with aria-live="..." or a
> relevant (implicit or explicit) live region role.
> - once the page is loaded, you can update the content dynamically, and
> this change will trigger an announcement by AT.
>
> Getting back to the thread starter: it would obviously be good to see
> this in action, as it's difficult to debug/offer advice on this purely
> theoretically.
>
> P
> --
> Patrick H. Lauke
>
> https://www.splintered.co.uk/ | https://github.com/patrickhlauke
> https://flickr.com/photos/redux/ | https://www.deviantart.com/redux
> twitter: @patrick_h_lauke | skype: patrick_h_lauke
> > > > >


--
Work hard. Have fun. Make history.

From: Patrick H. Lauke
Date: Thu, Sep 10 2020 7:11AM
Subject: Re: Aria Alert and Progress Loaders
← Previous message | Next message →

On 10/09/2020 14:04, Birkir R. Gunnarsson wrote:
> Well, I used to think so too, but sometimes you need to mark up an
> important announcement on a page, one that gets aggressive visual
> treatment (imagine an emergency closure alert).
> You can do the right things, place it at the top of the page or the
> main content, mark it with an h1, but ultimately sometimes you want it
> announced. The alert role would work well in this scenario, and I
> think there is a role or attribute that should trigger announcement on
> page load (doing it by hacking delays and injection with Javascript is
> not super reliable).
> Then again I am maybe just temporarily being swayed by dealing with a
> specific practical problem.

I'm not saying that there's no use case for doing that. I'm saying that
per the spec, browser/AT combos should not be announcing it on page
load. The fact that some browsers/ATs currently do is a bug that you're
currently relying on. Either the spec should be changed, or a new
attribute should be spec'd, because if browsers fix their bugs, you'll
end up with no announcements on page load which is what the spec says.

P
--
Patrick H. Lauke

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

From: Birkir R. Gunnarsson
Date: Thu, Sep 10 2020 9:04AM
Subject: Re: Aria Alert and Progress Loaders
← Previous message | Next message →

Yeap, you're absolutely right there.
I'm currently "stuck" in Mexico on vacation, I'll look itno it when I get back.

On 9/10/20, Patrick H. Lauke < = EMAIL ADDRESS REMOVED = > wrote:
> On 10/09/2020 14:04, Birkir R. Gunnarsson wrote:
>> Well, I used to think so too, but sometimes you need to mark up an
>> important announcement on a page, one that gets aggressive visual
>> treatment (imagine an emergency closure alert).
>> You can do the right things, place it at the top of the page or the
>> main content, mark it with an h1, but ultimately sometimes you want it
>> announced. The alert role would work well in this scenario, and I
>> think there is a role or attribute that should trigger announcement on
>> page load (doing it by hacking delays and injection with Javascript is
>> not super reliable).
>> Then again I am maybe just temporarily being swayed by dealing with a
>> specific practical problem.
>
> I'm not saying that there's no use case for doing that. I'm saying that
> per the spec, browser/AT combos should not be announcing it on page
> load. The fact that some browsers/ATs currently do is a bug that you're
> currently relying on. Either the spec should be changed, or a new
> attribute should be spec'd, because if browsers fix their bugs, you'll
> end up with no announcements on page load which is what the spec says.
>
> P
> --
> Patrick H. Lauke
>
> https://www.splintered.co.uk/ | https://github.com/patrickhlauke
> https://flickr.com/photos/redux/ | https://www.deviantart.com/redux
> twitter: @patrick_h_lauke | skype: patrick_h_lauke
> > > > >


--
Work hard. Have fun. Make history.

From: J Isaac
Date: Fri, Sep 11 2020 11:57AM
Subject: Re: Aria Alert and Progress Loaders
← Previous message | No next message

Thanks Patrick and Birkir,

Here's a sandbox version that shows the problem:
https://33979.csb.app/

We're aware of a couple of issues. The most obvious being NVDA?Firefox
announces "Alert" at the end once the loader is complete.

Best,
== J