WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Aria Live announcements and .Net Pages

for

From: Bryan Garaventa
Date: Oct 11, 2017 1:53PM


Why are you including aria-live and aria-atomic in combination with role=alert? The alert role includes all supporting attributes automatically and combining it with others may conflict with the role.

I just tested this using NVDA in Firefox on Win7 with role=alert as documented here, and it works as expected.
http://whatsock.com/training/#hd26
The test page referenced in this section includes a Test button for validating this functionality.

Also, live regions should not be nested. The JS method being used to add content to the container may also yield differing results as well.

Bryan Garaventa
Accessibility Fellow
Level Access, Inc.
<EMAIL REMOVED>
415.624.2709 (o)
www.LevelAccess.com

-----Original Message-----
From: WebAIM-Forum [mailto: <EMAIL REMOVED> ] On Behalf Of Greg Gamble
Sent: Wednesday, October 11, 2017 11:48 AM
To: WebAIM Discussion List < <EMAIL REMOVED> >
Subject: Re: [WebAIM] Aria Live announcements and .Net Pages

Yes ... I've tried that already. No difference, but I'll update it to the correct way.

Thanks

Greg Gamble
p - 360-704-4376


-----Original Message-----
From: WebAIM-Forum [mailto: <EMAIL REMOVED> ] On Behalf Of Ugurcan Kutluoglu
Sent: Wednesday, October 11, 2017 10:42 AM
To: WebAIM Discussion List < <EMAIL REMOVED> >
Subject: Re: [WebAIM] Aria Live announcements and .Net Pages

Hi Greg,

The "alert" role should be on the live container, not the message.

<div class="text-center" role="alert" aria-live="assertive"
aria-atomic="true">
<asp:Literal runat="server"></asp:Literal> </div>

Ugi

On Wed, Oct 11, 2017 at 10:26 AM, Greg Gamble < <EMAIL REMOVED> > wrote:

> I have a Web Site, created under .Net 4.5 with C#. For the front end
> we're using the Bootstrap framework and jQuery. This is a Web Forms
> site, not MVC.
>
> My issue is in getting aria-live regions to announce an alert under NVDA.
>
> I have the following page markup.
>
> <div class="text-center" aria-live="assertive" aria-atomic="true">
> <asp:Literal runat="server"></asp:Literal> </div>
>
> The control asp:Literal is where I am injecting the following html:
>
> <p class='bg-success' style='padding: 4px;' role='alert'> <span
> class='glyphicon glyphicon-ok' aria-hidden='true'></span>;" + sMessage
> + "
> </p>
>
> NOTE: The literal control is like a place holder for content, but
> without any markup ... it simply shows the content you add to it as is
>
> The markup when I add the message looks like this:
>
> <div class="text-center" aria-live="polite" aria-atomic="true">
> <p class='bg-warning' style='padding: 4px;' role='alert'>
> <span class='glyphicon glyphicon-ok'
> aria-hidden='true'></span>
> record saved
> </p>
> </div>
>
> Prior to adding the message, the generated markup looks like this:
>
> <div class="text-center" aria-live="polite"
> aria-atomic="true">
>
> </div>
>
>
> It should announce the text, but I get nothing. I even tried
> injecting the text via JavaScript, but I get the same results ... or lack of.
>
> Any .net developers that have gotten this to work?
>
>
>
>
>
> Greg Gamble
> SBCTC - Olympia | Information Services
>
> > > archives at http://webaim.org/discussion/archives
> >