a11yTips — Bind complex images to long descriptions using…

Bind complex images to long descriptions using aria-describedby

no. 060

Make sure aria-describedby is used to explicitly associate long descriptions to complex images

Complex images require two levels of information to be considered fully accessible: first, a descriptive ALT attribute value explaining the purpose or nature of the complex image, and second, a full text description of the complex image’s content, properly structured using HTML markup. But when both levels of information are independently set, another mechanism needs to be provided, so assistive technologies can explicitly associate both levels of information in a way that can be programmatically determined.

To do so, simply rely on the aria-describedby property to bind the complex image with its adjacent long description, or the link leading to this long description. Doing so will automatically connect the two components together, ensuring that when focus is set on the image, users of assistive technology also hear about the existence of a second, much more detailed level of information, which may otherwise be missed.

User Story

As a non-sighted user using assistive technology, I want to rely on a reliable mechanism to inform me whenever long descriptions are provided for complex images, so that I never miss the complementary information.

Simple Code [...]

Read article at dboudreau.tumblr.com

Article Taxonomies

Categories: ,
Fatal error: Uncaught Error: Object of class WP_Error could not be converted to string in /home/webable/www/www/wp-content/themes/webable/content-mcm.php:65 Stack trace: #0 /home/webable/www/www/wp-includes/template.php(812): require() #1 /home/webable/www/www/wp-includes/template.php(745): load_template('/home/webable/w...', false, Array) #2 /home/webable/www/www/wp-includes/general-template.php(206): locate_template(Array, true, false, Array) #3 /home/webable/www/www/wp-content/themes/webable/single-mcm_article.php(15): get_template_part('content-mcm') #4 /home/webable/www/www/wp-includes/template-loader.php(106): include('/home/webable/w...') #5 /home/webable/www/www/wp-blog-header.php(19): require_once('/home/webable/w...') #6 /home/webable/www/www/index.php(17): require('/home/webable/w...') #7 {main} thrown in /home/webable/www/www/wp-content/themes/webable/content-mcm.php on line 65