WebAIM - Web Accessibility In Mind

E-mail List Archives

Thread: NVDA - aria-live=polite not announced

for

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

From: Tomlins Diane
Date: Thu, Feb 21 2019 11:49AM
Subject: NVDA - aria-live=polite not announced
No previous message | Next message →

We have a health portal application (it's mostly a single-page app using Ember) and I do the accessibility testing for the developers. I primarily use Firefox and NVDA (ver 2018.4), and usually that's pretty reliable. Most of the developers, however, use Mac's with VoiceOver and we've run into this issue with aria-live - VoiceOver announces the message, NVDA does not for some reason.

The div that contains the message is present in the DOM to start with, it's only the text inside it that changes, in this particular section, it starts as:

<div id="readClinicalAlerts" aria-live="polite" class="sr-only">You are now viewing the health summary page.</div>

The steps then are:
1 - user is presented with a list of their health problems
2 - user selects a problem
3 - a modal opens up with a list of articles related to the selected problem
4- user selects an article from the list in the modal, the modal is dismissed and the article page is displayed
5 - The message in the div is changed from the above to this:

<div id="readClinicalAlerts" aria-live="polite" class="sr-only">You are now viewing the patient education page.</div>

Unfortunately, neither of the messages in the aria-live region is announced by NVDA. So, a sr user would have no idea the content has changed once the article is returned.

I've done quite a bit of digging around trying to see if I could figure out what is needed to get NVDA to reliably announce the change in the message, but I admit.. I'm a little lost. Would adding aria-atomic help? Clearly there's something we're missing :-/

Thanks!

Diane R Tomlins
HCA Healthcare ITG | UXCOE
Accessibility SME

From: Brian Lovely
Date: Thu, Feb 21 2019 12:26PM
Subject: Re: [External Sender] NVDA - aria-live=polite not announced
← Previous message | Next message →

Hey Diane,

In step 4, you say "the article page is displayed". That sounds like it
might be a new page being loaded. If the "same" div has text A on one page
and text B on another page, then the text has not changed as far as
aria-live is concerned. I don't know if that's the case here, but it would
account for the element not being announced.

On Thu, Feb 21, 2019 at 1:50 PM Tomlins Diane <
= EMAIL ADDRESS REMOVED = > wrote:

> We have a health portal application (it's mostly a single-page app using
> Ember) and I do the accessibility testing for the developers. I primarily
> use Firefox and NVDA (ver 2018.4), and usually that's pretty reliable. Most
> of the developers, however, use Mac's with VoiceOver and we've run into
> this issue with aria-live - VoiceOver announces the message, NVDA does not
> for some reason.
>
> The div that contains the message is present in the DOM to start with,
> it's only the text inside it that changes, in this particular section, it
> starts as:
>
> <div id="readClinicalAlerts" aria-live="polite" class="sr-only">You are
> now viewing the health summary page.</div>
>
> The steps then are:
> 1 - user is presented with a list of their health problems
> 2 - user selects a problem
> 3 - a modal opens up with a list of articles related to the selected
> problem
> 4- user selects an article from the list in the modal, the modal is
> dismissed and the article page is displayed
> 5 - The message in the div is changed from the above to this:
>
> <div id="readClinicalAlerts" aria-live="polite" class="sr-only">You are
> now viewing the patient education page.</div>
>
> Unfortunately, neither of the messages in the aria-live region is
> announced by NVDA. So, a sr user would have no idea the content has changed
> once the article is returned.
>
> I've done quite a bit of digging around trying to see if I could figure
> out what is needed to get NVDA to reliably announce the change in the
> message, but I admit.. I'm a little lost. Would adding aria-atomic help?
> Clearly there's something we're missing :-/
>
> Thanks!
>
> Diane R Tomlins
> HCA Healthcare ITG | UXCOE
> Accessibility SME
>
>
>
> > > https://urldefense.proofpoint.com/v2/url?u=http-3A__list.webaim.org_&d=DwICAg&c=pLULRYW__RtkwsQUPxJVDGboCTdgji3AcHNJU0BpTJE&r=nA3L5qBjLdo-DJ8qQBz88lq5Xb3jw-WFZTeJjcwjLdE&m=6Eumb2PzbJEokCPgb3dRZ2gAAqfQXnMHFMa36fkdlOY&s=RJn3rsuxPNaoGdNH_VI7vaP6fVHSGhkW3uFUFdYj2U8&e=
> List archives at
> https://urldefense.proofpoint.com/v2/url?u=http-3A__webaim.org_discussion_archives&d=DwICAg&c=pLULRYW__RtkwsQUPxJVDGboCTdgji3AcHNJU0BpTJE&r=nA3L5qBjLdo-DJ8qQBz88lq5Xb3jw-WFZTeJjcwjLdE&m=6Eumb2PzbJEokCPgb3dRZ2gAAqfQXnMHFMa36fkdlOY&s=XA7Bwh1Viy2EJwxFsR_quQSNZYOWV-_7MOAL_AtQXS8&e=
> >


--
*Brian Lovely*
Digital Accessibility
804.389.1064

The information contained in this e-mail is confidential and/or proprietary to Capital One and/or its affiliates and may only be used solely in performance of work or services for Capital One. The information transmitted herewith is intended only for use by the individual or entity to which it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any review, retransmission, dissemination, distribution, copying or other use of, or taking of any action in reliance upon this information is strictly prohibited. If you have received this communication in error, please contact the sender and delete the material from your computer.

From: Tomlins Diane
Date: Thu, Feb 21 2019 12:44PM
Subject: Re: [External Sender] NVDA - aria-live=polite not announced
← Previous message | Next message →

Hi Brian,
The whole thing is a single page application, so it's not actually changing pages, it's just changing the content in the container, and they're updating the message.


> In step 4, you say "the article page is displayed". That sounds like it might be a new page being loaded. If the "same" div has text A on one page and text B on another page, then the text has not changed as far as aria-live is concerned. I don't know if that's the case here, but it would account for the element not being announced.

Diane R Tomlins
HCA Healthcare ITG | UXCOE
Accessibility SME

From: Brian Lovely
Date: Thu, Feb 21 2019 12:58PM
Subject: Re: [External Sender] NVDA - aria-live=polite not announced
← Previous message | Next message →

Hmm...then there may be some attribute on a containing element that is
causing this. As long as the element with aria-live on it exists at page
load, and then the contents of that element is changed, it should announce.
It sounds like the element is visible, so I would look for
aria-hidden="true" on a containing element. Do you have a code snipped you
can provide?

On Thu, Feb 21, 2019 at 2:44 PM Tomlins Diane <
= EMAIL ADDRESS REMOVED = > wrote:

> Hi Brian,
> The whole thing is a single page application, so it's not actually
> changing pages, it's just changing the content in the container, and
> they're updating the message.
>
>
> > In step 4, you say "the article page is displayed". That sounds like it
> might be a new page being loaded. If the "same" div has text A on one page
> and text B on another page, then the text has not changed as far as
> aria-live is concerned. I don't know if that's the case here, but it would
> account for the element not being announced.
>
>

The information contained in this e-mail is confidential and/or proprietary to Capital One and/or its affiliates and may only be used solely in performance of work or services for Capital One. The information transmitted herewith is intended only for use by the individual or entity to which it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any review, retransmission, dissemination, distribution, copying or other use of, or taking of any action in reliance upon this information is strictly prohibited. If you have received this communication in error, please contact the sender and delete the material from your computer.

From: Aditya
Date: Thu, Feb 21 2019 2:51PM
Subject: Re: [External Sender] NVDA - aria-live=polite not announced
← Previous message | Next message →

So, first question is when view is rendered, is the live region also being rendered? Sometimes I noticed voiceover/safari being smart enough to react to a live region and it's change simultaneously.

First thing to make sure is that live region is not being re-rendered.

If the issue still exists, try setting focus on this live region programmatically. That way you are guaranteed to announce it.

In SPAs always manage focus programmatically by placing it on the first new/changed content.

Hope that helps.

Sent from my iPhone

> On Feb 21, 2019, at 1:44 PM, Tomlins Diane < = EMAIL ADDRESS REMOVED = > wrote:
>
> Hi Brian,
> The whole thing is a single page application, so it's not actually changing pages, it's just changing the content in the container, and they're updating the message.
>
>
>> In step 4, you say "the article page is displayed". That sounds like it might be a new page being loaded. If the "same" div has text A on one page and text B on another page, then the text has not changed as far as aria-live is concerned. I don't know if that's the case here, but it would account for the element not being announced.
>
> Diane R Tomlins
> HCA Healthcare ITG | UXCOE
> Accessibility SME
>
>
>
>
>
> > > >

From: Tomlins Diane
Date: Thu, Feb 21 2019 3:30PM
Subject: Re: [External Sender] NVDA - aria-live=polite not announced
← Previous message | Next message →

> So, first question is when view is rendered, is the live region also being rendered? Sometimes I noticed voiceover/safari being smart enough to react to a live region and it's change simultaneously.

The live region is already there when the health summary section is rendered, and it is not being re-rendered when the content changes, they just change the message in that live region div.

> In SPAs always manage focus programmatically by placing it on the first new/changed content.

And I believe that is part of the problem, because the focus is not shifting to the article title when it displays - and I told them that it should. Frankly, I don't think the message 'you are viewing xxxxxxxxxxxxxxxxx' is even necessary if they just shift focus to the article heading... or the first heading of the content that's being injected.

Thanks,

Diane R Tomlins
HCA Healthcare ITG | UXCOE
Accessibility SME



-----Original Message-----
From: WebAIM-Forum < = EMAIL ADDRESS REMOVED = > On Behalf Of Aditya via WebAIM-Forum
Sent: Thursday, February 21, 2019 3:52 PM
To: WebAIM Discussion List < = EMAIL ADDRESS REMOVED = >
Cc: Aditya < = EMAIL ADDRESS REMOVED = >
Subject: {EXTERNAL} Re: [WebAIM] [External Sender] NVDA - aria-live=polite not announced

So, first question is when view is rendered, is the live region also being rendered? Sometimes I noticed voiceover/safari being smart enough to react to a live region and it's change simultaneously.

First thing to make sure is that live region is not being re-rendered.

If the issue still exists, try setting focus on this live region programmatically. That way you are guaranteed to announce it.

In SPAs always manage focus programmatically by placing it on the first new/changed content.

Hope that helps.

Sent from my iPhone

> On Feb 21, 2019, at 1:44 PM, Tomlins Diane < = EMAIL ADDRESS REMOVED = > wrote:
>
> Hi Brian,
> The whole thing is a single page application, so it's not actually changing pages, it's just changing the content in the container, and they're updating the message.
>
>
>> In step 4, you say "the article page is displayed". That sounds like it might be a new page being loaded. If the "same" div has text A on one page and text B on another page, then the text has not changed as far as aria-live is concerned. I don't know if that's the case here, but it would account for the element not being announced.
>
> Diane R Tomlins
> HCA Healthcare ITG | UXCOE
> Accessibility SME
>
>
>
>
>
> >

From: Aditya
Date: Thu, Feb 21 2019 3:54PM
Subject: Re: [External Sender] NVDA - aria-live=polite not announced
← Previous message | Next message →

Then It is a violation of 1.3.2 and 2.4.3 because by not placing the focus on the article heading or live region message, screen reader users will hear random content which breaks meaningful sequence. Also key board users might have difficulties reaching the required section.

Not sure why NVDA is not reading if the live region is no re-rendered.

Sent from my iPhone

On Feb 21, 2019, at 4:30 PM, Tomlins Diane < = EMAIL ADDRESS REMOVED = > wrote:

>> So, first question is when view is rendered, is the live region also being rendered? Sometimes I noticed voiceover/safari being smart enough to react to a live region and it's change simultaneously.
>
> The live region is already there when the health summary section is rendered, and it is not being re-rendered when the content changes, they just change the message in that live region div.
>
>> In SPAs always manage focus programmatically by placing it on the first new/changed content.
>
> And I believe that is part of the problem, because the focus is not shifting to the article title when it displays - and I told them that it should. Frankly, I don't think the message 'you are viewing xxxxxxxxxxxxxxxxx' is even necessary if they just shift focus to the article heading... or the first heading of the content that's being injected.
>
> Thanks,
>
> Diane R Tomlins
> HCA Healthcare ITG | UXCOE
> Accessibility SME
>
>
>
> -----Original Message-----
> From: WebAIM-Forum < = EMAIL ADDRESS REMOVED = > On Behalf Of Aditya via WebAIM-Forum
> Sent: Thursday, February 21, 2019 3:52 PM
> To: WebAIM Discussion List < = EMAIL ADDRESS REMOVED = >
> Cc: Aditya < = EMAIL ADDRESS REMOVED = >
> Subject: {EXTERNAL} Re: [WebAIM] [External Sender] NVDA - aria-live=polite not announced
>
> So, first question is when view is rendered, is the live region also being rendered? Sometimes I noticed voiceover/safari being smart enough to react to a live region and it's change simultaneously.
>
> First thing to make sure is that live region is not being re-rendered.
>
> If the issue still exists, try setting focus on this live region programmatically. That way you are guaranteed to announce it.
>
> In SPAs always manage focus programmatically by placing it on the first new/changed content.
>
> Hope that helps.
>
> Sent from my iPhone
>
>> On Feb 21, 2019, at 1:44 PM, Tomlins Diane < = EMAIL ADDRESS REMOVED = > wrote:
>>
>> Hi Brian,
>> The whole thing is a single page application, so it's not actually changing pages, it's just changing the content in the container, and they're updating the message.
>>
>>
>>> In step 4, you say "the article page is displayed". That sounds like it might be a new page being loaded. If the "same" div has text A on one page and text B on another page, then the text has not changed as far as aria-live is concerned. I don't know if that's the case here, but it would account for the element not being announced.
>>
>> Diane R Tomlins
>> HCA Healthcare ITG | UXCOE
>> Accessibility SME
>>
>>
>>
>>
>>
>> >> >
> > > > > >

From: Isabel Holdsworth
Date: Fri, Feb 22 2019 2:24AM
Subject: Re: [External Sender] NVDA - aria-live=polite not announced
← Previous message | Next message →

Hi Diane,

You've hit the nail on the head. If the user is being presented with a
new page of content within the SPA, the focus needs to be moved to the
content heading, and the message is unnecessary and perhaps even
intrusive.

Cheers, Isabel

On 21/02/2019, Aditya via WebAIM-Forum < = EMAIL ADDRESS REMOVED = > wrote:
> Then It is a violation of 1.3.2 and 2.4.3 because by not placing the focus
> on the article heading or live region message, screen reader users will hear
> random content which breaks meaningful sequence. Also key board users might
> have difficulties reaching the required section.
>
> Not sure why NVDA is not reading if the live region is no re-rendered.
>
> Sent from my iPhone
>
> On Feb 21, 2019, at 4:30 PM, Tomlins Diane < = EMAIL ADDRESS REMOVED = >
> wrote:
>
>>> So, first question is when view is rendered, is the live region also
>>> being rendered? Sometimes I noticed voiceover/safari being smart enough
>>> to react to a live region and it's change simultaneously.
>>
>> The live region is already there when the health summary section is
>> rendered, and it is not being re-rendered when the content changes, they
>> just change the message in that live region div.
>>
>>> In SPAs always manage focus programmatically by placing it on the first
>>> new/changed content.
>>
>> And I believe that is part of the problem, because the focus is not
>> shifting to the article title when it displays - and I told them that it
>> should. Frankly, I don't think the message 'you are viewing
>> xxxxxxxxxxxxxxxxx' is even necessary if they just shift focus to the
>> article heading... or the first heading of the content that's being
>> injected.
>>
>> Thanks,
>>
>> Diane R Tomlins
>> HCA Healthcare ITG | UXCOE
>> Accessibility SME
>>
>>
>>
>> -----Original Message-----
>> From: WebAIM-Forum < = EMAIL ADDRESS REMOVED = > On Behalf Of
>> Aditya via WebAIM-Forum
>> Sent: Thursday, February 21, 2019 3:52 PM
>> To: WebAIM Discussion List < = EMAIL ADDRESS REMOVED = >
>> Cc: Aditya < = EMAIL ADDRESS REMOVED = >
>> Subject: {EXTERNAL} Re: [WebAIM] [External Sender] NVDA - aria-live=polite
>> not announced
>>
>> So, first question is when view is rendered, is the live region also being
>> rendered? Sometimes I noticed voiceover/safari being smart enough to react
>> to a live region and it's change simultaneously.
>>
>> First thing to make sure is that live region is not being re-rendered.
>>
>> If the issue still exists, try setting focus on this live region
>> programmatically. That way you are guaranteed to announce it.
>>
>> In SPAs always manage focus programmatically by placing it on the first
>> new/changed content.
>>
>> Hope that helps.
>>
>> Sent from my iPhone
>>
>>> On Feb 21, 2019, at 1:44 PM, Tomlins Diane
>>> < = EMAIL ADDRESS REMOVED = > wrote:
>>>
>>> Hi Brian,
>>> The whole thing is a single page application, so it's not actually
>>> changing pages, it's just changing the content in the container, and
>>> they're updating the message.
>>>
>>>
>>>> In step 4, you say "the article page is displayed". That sounds like it
>>>> might be a new page being loaded. If the "same" div has text A on one
>>>> page and text B on another page, then the text has not changed as far as
>>>> aria-live is concerned. I don't know if that's the case here, but it
>>>> would account for the element not being announced.
>>>
>>> Diane R Tomlins
>>> HCA Healthcare ITG | UXCOE
>>> Accessibility SME
>>>
>>>
>>>
>>>
>>>
>>> >>> >>> https://urldefense.proofpoint.com/v2/url?u=http-3A__list.webaim.org_&d=DwIGaQ&cŸZnZOgPWmHmvevlab4V4DSjtBMjorSlbQYfK_MauDg&r=XUJIZqLpwbvdWkWIC6JMexv3V64IzMTzZybhWfY7YUk&m=oQ7IMF8t5gSfJjTU_617Q6WsrIPcGRJP6OmnfSOiDtc&s=c_vzHYCvz4hyOe_-kjFiEs-0yBeZFjtnsCcXXvvItd0&e>>> List archives at
>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__webaim.org_discussion_archives&d=DwIGaQ&cŸZnZOgPWmHmvevlab4V4DSjtBMjorSlbQYfK_MauDg&r=XUJIZqLpwbvdWkWIC6JMexv3V64IzMTzZybhWfY7YUk&m=oQ7IMF8t5gSfJjTU_617Q6WsrIPcGRJP6OmnfSOiDtc&sKPX1yH6pU4u5SuEY5x8x6N7uoYzoQdMkjfbhZFgsU&e>>> >>
>> >> >> https://urldefense.proofpoint.com/v2/url?u=http-3A__list.webaim.org_&d=DwIGaQ&cŸZnZOgPWmHmvevlab4V4DSjtBMjorSlbQYfK_MauDg&r=XUJIZqLpwbvdWkWIC6JMexv3V64IzMTzZybhWfY7YUk&m=oQ7IMF8t5gSfJjTU_617Q6WsrIPcGRJP6OmnfSOiDtc&s=c_vzHYCvz4hyOe_-kjFiEs-0yBeZFjtnsCcXXvvItd0&e>> List archives at
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__webaim.org_discussion_archives&d=DwIGaQ&cŸZnZOgPWmHmvevlab4V4DSjtBMjorSlbQYfK_MauDg&r=XUJIZqLpwbvdWkWIC6JMexv3V64IzMTzZybhWfY7YUk&m=oQ7IMF8t5gSfJjTU_617Q6WsrIPcGRJP6OmnfSOiDtc&sKPX1yH6pU4u5SuEY5x8x6N7uoYzoQdMkjfbhZFgsU&e>> >> >> >> >> >
> > > > >

From: Brian Lovely
Date: Fri, Feb 22 2019 6:01AM
Subject: Re: [External Sender] NVDA - aria-live=polite not announced
← Previous message | No next message

There's an entire article being injected into the container? Then you don't
want to use aria-live anyway, you just want to shift focus to the new
content and let the user browse it at their own pace, or even decide not to
read it at all.

The information contained in this e-mail is confidential and/or proprietary to Capital One and/or its affiliates and may only be used solely in performance of work or services for Capital One. The information transmitted herewith is intended only for use by the individual or entity to which it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any review, retransmission, dissemination, distribution, copying or other use of, or taking of any action in reliance upon this information is strictly prohibited. If you have received this communication in error, please contact the sender and delete the material from your computer.