ARIA alert support

book: electronic surveillance for dogs by B. A. LertBack in 2012 I did some testing of ARIA alert support across browsers, screen readers and operating systems. The results were not encouraging. Fast forward to yesterday, while in a discussion with my TPGi colleague Jonny ‘Bonny’ James I had cause to revisit the alert tests and consequently retested alert support using some of the latest screen reader and browser combinations.

The original research considered four different methods for coding role=alert messages and how well each was supported. These same 4 methods were tested again.

The four methods tested

  1. createElement(), insertAttribute(), createTextNode() and appendchild()
  2. innerHTML
  3. display:none to display:block, display:inline etc.
  4. createTextNode + constraints

Refer to original article for details

The results

Support for ARIA alert across selected browsers/screen readers/OS combinations
Chrome Firefox Internet Explorer microsoft edge Safari
NVDA + Windows 1, 2, 3 ,4 = supported 1, 2, 3 = supported 1, 2 = supported 1, 2, 3, 4 = not supported not applicable
JAWS + Windows 1, 2, 3 ,4 = supported 1, 2, 3 ,4 = supported 1, 2, 3 ,4 = supported not applicable not applicable
VoiceOver + macOS 1, 2, 3 ,4 = supported not applicable not applicable not applicable 1, 2, 3 ,4 = supported
VoiceOver + iOS 1, 2, 3 ,4 = supported 1, 2, 3 ,4 = supported not applicable not applicable 1, 2, 3 ,4 = supported
Narrator + Windows not applicable not applicable 3, 4 = supported 3, 4 = supported

Note: tested using latest versions of the browser/screen reader/OS. Combinations that are known not to work together for general HTML content access were not tested.

​Analysis

Support has improved considerably since the last round of tests in 2012. Methods 1, 2 and 3 are robustly supported by NVDA (1 and 2 only with IE), JAWS and VoiceOver. NVDA and JAWS with Edge are still not practical combinations. And unfortunately Narrator currently does not have the robust support one would expect when used with IE and Edge.

Categories: Development

About Steve Faulkner

Steve was the Chief Accessibility Officer at TPGi before he left in October 2023. He joined TPGi in 2006 and was previously a Senior Web Accessibility Consultant at vision australia. Steve is a member of several groups, including the W3C Web Platforms Working Group and the W3C ARIA Working Group. He is an editor of several specifications at the W3C including ARIA in HTML and HTML Accessibility API Mappings 1.0. He also develops and maintains HTML5accessibility and the JAWS bug tracker/standards support.

Comments

Things may have changed, but I remember a fifth triggering action as well: page load. It used to be that is the HTML markup contained an element with role="alert" assigned (such as a collection of form processing errors), the screen reader would chime and read the contents while the page was loading. I’ve noticed that some browser/screen reader combos seem to have dropped that functionality since I originally started using that pattern round about 2010/2011. But MDN still lists it as an option though and the spec doesn’t seem to preclude it.

Has something else changed? Have browsers and/or AT regressed? Did folks on WCAG determine this was not a desirable feature? It seems like taking this option off the table necessitates JavaScript to handle the use case of error alerts. I’d love your thoughts.

Steve Faulkner says:

Hi Aaron,

Has something else changed? Have browsers and/or AT regressed? Did folks on WCAG determine this was not a desirable feature? It seems like taking this option off the table necessitates JavaScript to handle the use case of error alerts. I’d love your thoughts.

I don’t think that the method you describe has been determined as undesirable or wilfully taken off the table. I will do some digging and get back to you. As an aside, I tried a CSS only method and works fine.

Joel Isaac says:

Is there a reason you left Android off of your matrix?

Steve Faulkner says:

Hi Joel, only reason is, I didn’t have an android device to hand, any data happily accepted!

Ajay Sharma says:

Does it hold true for aria-live as well?

Joe Watkins says:

Looks like they are all firing on Chrome 59 on Android 7.1.2 – A little chatty with how it announces the alert twice. https://www.screencast.com/t/tRp4J9e9dyEH

(Video description: Video demonstration of Android Chrome with Talkback testing the HTML5 Accessibility role=alert test page. Alerts for each test are announced when triggered, but are announced twice.)