WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: role="alert" not being read by NVDA

for

From: Dylan Barrell
Date: May 16, 2013 3:18PM


Angela,

getting aria-live to work correctly in a cross-browser and cross AT and
cross-platform way is quite complicated.

There are a few of rules you must adhere to

1) Make sure the elements withe the role(s) are not display:none and not
visibility:hidden, they can be off screen
2) Make sure you have a role (log, alert) as well as aria-live (polite,
assertive) (rude does not exist)
3) ensure you have the aria-atomic attribute set appropriately
4) Make sure that all elements that have aria-live applied are inserted at
or very near document ready

The ARIA spec states that some of the above is optional, but really if you
want it to work everywhere, you have to adhere to the above.

As an fyi - I would not suggest the use of aria-live for individual form
field error messages, in particular if there might be multiple simultaneous
errors. Sometime AT will just swallow the messages. I would suggest another
technique such as aria-describedby and focus management, or additional
label text and focus management. You can use aria-live for automatically
announcing the summary of the errors if you have one.

If you're still having issues, email me off list and I will help if I can.

--Dylan