Using aria-labelledby to provide a text alternative for non-text content

From WCAG WG


Status

User Agent Notes [To be published separately]

  • Jaws 13+ support Example 1 with IE and FF
  • NVDA 2012.3 supports both Example 1 and Example 2 with FF

Applicability

This technique applies to HTML with WAI-ARIA.


This technique relates to:

Description

The purpose of this technique is to provide a short description for an element that can be read by assistive technologies (AT) by using the aria-labelledby attribute. The aria-labelledby attribute associates an element with text that is visible elsewhere on the page by using an ID reference value that matches the ID attribute of the labeling element. Assistive technology such as screen readers use the text of the element identified by the value of the aria-labelledby attribute as the text alternative for the element with the attribute.

Note: When using aria-labelledby attribute on an img element, the absence of an alt attribute will cause validation failures for HTML 4 and earlier and XHTML. If alt is provided, it must contain the same text as the aria-labelledby target. Do not use alt="", which would cause some assistive techology to ignore the image completely.

Examples

Example 1

This example shows how to use the aria-labelledby attribute to provide a short text description for an image, using a piece of text that is visible on the page.

<img src="sunflowers.jpg" aria-labelledby="flower_id">

...

<span id="flower_id">Van Gogh's oil painting of sunflowers</span>
hangs in Amsterdam's Van Gogh museum.

Example 2

This example shows how to use the aria-labelledby attribute to provide a short text description for a read-only complex graphic of an star rating pattern; the graphic is composed of several image elements. The text alternative for the graphic is the label, visible on the page beneath the star pattern.

<div role="img" aria-labelledby="star_id">
<img src="fullstar.png" alt=""/>
<img src="fullstar.png" alt=""/>
<img src="fullstar.png" alt=""/>
<img src="fullstar.png" alt=""/>
<img src="emptystar.png" alt=""/>
</div>

<div id="star_id">4 of 5</div>

Resources

Related Techniques

Tests

Procedure

  1. Examine each element where the aria-labelledby attribute is present.
  2. Check whether the value of the aria-labelledby attribute is the id of an element on the web page
  3. Determine that the text of the element identified by the aria-labelledby attribute accurately labels the element, provides a description of its purpose, or provides equivalent information.

Expected results

  • Checks #2 and #3 are true.