As per WCAG 2.0 guidelines, any containers labeled as aria-live="assertive" or role="alert" should contain the aria-atomic="true" attribute to ensure that all assisstive technology devices will read the error.

When the password strength element shows on the page, this rule is broken. This patch ensures that the aria-atomic="true" attribute is applied to the container when it is presented.

More information on this accessibility requirement can be found here:

https://www.w3.org/TR/WCAG20-TECHS/ARIA19

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

jfurnas created an issue. See original summary.

cilefen’s picture

Is Drupal 8 affected? Also see the issue priority guidelines.

jfurnas’s picture

cilifen - Thanks for the reply. I wasn't aware of the guidelines for 'critical' issues and assumed that since accessibility should be a pretty important aspect of drupal core. I will change the priority to the correct one.

In looking at the Drupal 8 core, it appears this issue was resolved in Drupal 8. This patch only applies to Drupal 7.x.

jfurnas’s picture

Priority: Critical » Normal
mgifford’s picture

"The aria-atomic="true" attribute tells screenreaders to read out the entire element contents as one atomic unit, not just the bits that were updated." - from Mozilla.

It isn't clear to me that this is what we want to happen in this instance.

What is the whole thing that you think should be read out (and isn't) https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Liv...

There is lots written on this.
http://juicystudio.com/article/wai-aria_live-regions_updated.php

The W3C link states "The error container must be present in the DOM on page load for the error message to be spoken by most screen readers. aria-atomic=true is necessary to make Voiceover on iOS read the error messages after more than one invalid submission."

But I haven't seen that referenced anywhere else. @jfurnas have you tested this?

jfurnas’s picture

@mgifford From my understanding of the wcag guidelines, attaching the aria-atomic=true attribute ensures that when the form is submitted and validation errors occur, that the error message is read fully and completely by the screen reader or other AT device.

I have not tested this using a screenreader such as Jaws or iOS voiceover, however the accessibilty tool that we use in my organization tests for this and adding the aria-atomic attribute complies with the tool.

This patch has already been included in Drupal 8's .js file, so I do believe it is a relevant solution.

andrewmacpherson’s picture

Issue tags: -Web accessibility

Accessibility is the preferred tag. Cleaning up the tags so the maintainers don't have to monitor multiple tag queues.