aria-describedby and visibility, what is the expected spec behavior?

Greetings everyone.

 

Recently I have been reviewing forms where an error message is already on
the form, inside a p or a span tag, and associated with a form field using
aria-describedby.

As long as the user provides the expected/valid input the error message is
hidden using display: none CSS, but when user makes a mistake or input does
not validate the display: none is changed to display: block.

There is a problem with this approach from a screen reader interpretation
perspective.

In testing with both Jaws and NVDA on a form, the label associated with a
form field is read regardless of its visibility.

I tried to go over the top and add aria-hidden="true" to the error message,
but it is still being announced by these two screen readers when user moves
focus to the input field that points to the message with aria-describedby.

 

Is this expected behavior for aria-describedby, that assistive technologies
should communicate the value of the associated labelling elements regardless
of their visibility settings, or is this a misinterpretation by (at least
some) assistive technologies?

 

Looking at the ARIA spec I did not see a clearcut message either way, which
I would assume means that the visibility setting of these elements should be
taken into account, just like with any other element.

Cheers

-Birkir

 

Received on Thursday, 17 April 2014 17:44:11 UTC