WebAIM - Web Accessibility In Mind

E-mail List Archives

Should references to non-existent IDs be called under WCAG success criterion 4.1.1?

for

From: Birkir R. Gunnarsson
Date: Nov 10, 2014 7:03AM


Greetings

WCAG SC 4.1.1 clearly states that duplicate IDs should be called under
that vilation

Usually they are causing issues that would also be called elsewhere,
such as labels that are connected with more than one form field.


What about references to non-existing IDs?
I frequently see misused of aria-labelledby like this:
<input aria-labelledby="Your phone number" type="number">
In other words, people confuse aria-label and aria-labelledby.
This raises 1.3.1 errors, but should it also be called under 4.1.1?

Both types of issues are identified during html validation, just like
a duplicate ID is.
Missing and duplicate IDs can cause issues under a myriad of success
criteria, especially with the existence of ARIA (aria-describedby,
aria-labelledby, aria-controls, aria-owns all expect a valid ID
string).
Think about aria-describedby used to disambiguate link texts.
<a href="#" aria-describedby="story">Read more</a>
If all news stories on the page have id="story" assistive technologies
will associate the first occurance of that text to all "read more"
links.
(and, yes, let us not go into programmatic context, this is just a
convenient example, I am not saying it should always be called, far
from it).
What if aria-labelledby on an image points to duplicate IDs, same will happen.

If, in either cas above, the id is missing.
This means no additional labeling or associatd info is available as intended.
Both could cause 2.4.4 an 1.1.1 vilations respectively.
But the first one (duplicates) is also 4.1.1 violation, while it is
not clear whether the second one (missing IDs) is.

So, the question:
Should missing IDs be included as examples of 4.1.1 violations?
If not, what is our justification for treating those two differently?
We need to make sure that these violations are clearly and
consistently called, because they can be detected during automated
testing and often are at fault for other WC violations.

Cheers
-Birkir

--
Work hard. Have fun. Make history.