Extended Description Analysis

The tables below relate information about requirements and implementations of etended descriptions. This is intended to help the community settle on a path. Known relevant resources from which this draws:

Technological Approaches

The following table outlines proposed approaches to provide extended descriptions. Along with a brief description, the table presents pros, cons, and possible ways of mitigating the cons. Whether an approach meets use cases comprehensively enough is a pro / con but that is addressed in the following table, use cases and technological approaches. Approaches also only work if they are implemented, detailed in the third table.

Description Pro Con Mitigation
description links Author provides a link to a desciption near the object. Link text is by convention but not requirement "[D]".
  • Requires no special implementation
  • Long-established technique
  • Simple for authors
  • Creates undesired visible links
  • Desciption not programatically associated with object
  • User must follow link and potentially lose place
  • CSS can hide links from default display, but erases universality benefit
  • Description could be associated via an attribute, though the obvious aria-describedby has been ruled out
longdesc URI to a description is provided in the "longdesc" attribute of the <img> element.
  • Long-established technique
  • Only works for <img>
  • Not liked by implementers
  • Usually (though not inherently) still requires user to follow link
  • Indeterminate processing model for URIs to a description on the same page, yet many advocate this pattern
aria-describedby Pointer to a description on the same page provided on any object via the "aria-describedby" attribute. This is automatically exposed to the accessibility API.
  • Description in same page
  • Description available to all users
  • Description lacks rich exposure to user
  • Description bloats page if it's not considered primary content
  • Specify that UA can follow arc to rich description (but massively changes how this has been implemented)
  • Allow a URI in the value (but creates big processing confusion potential)
aria-describedat URI to a description is provided in the "aria-describedat" attribute of any object.
  • Description not loaded if not needed
  • Not liked by some implementers
figure with details <figure> contains a <figcaption> which contains a <details> providing the description.
  • Leverages existing proposed HTML feature
  • Feature still in proposal stage
  • Overloads the details element
  • Doesn't support external descriptions
  • Comparatively complex to author
  • May be complex to implement or depend on script support long-term for optimal user experience
  • Add role attribute to clarify overloading
  • Add src attribute to allow external descriptions
figure with details and embedded iFrame <figure> contains a <figcaption> which contains a <details> which contains an <iframe> that loads the description.
  • Leverages existing HTML features
  • Supports external description
  • External description always loads
  • May require special support to get desired user experience
figure with details with src and role attributes <figure> contains a <figcaption> which contains a <details> which loads an external description from the "src" attribute and clarifies it's a description with the "role" attribute
  • Leverages existing HTML features with some modification
  • Supports external description
  • Less overloading of <details>
  • Requires additional engineering of an already only proposed element (<details>)
  • Comparatively complex to author
accessible SVG Native SVG features provide description.
  • Most closely associates description with image
  • Not all describable objects are in SVG
SVG wrapping bitmap SVG with description loads a raster image for the presentation.
  • Keeps description with image
  • Requires SVG and bitmap processing
link in figure caption Description link provided in <figcaption>.
  • Simple for authors
  • Description available to all
  • Not all describable objects have captions
hidden iframe
  • Uses existing technology
  • Kludges the iframe
client-side image map
  • Uses existing technology
web annotations Description treated as an annotation, externally stored and related to the object.
  • Description completely separate from object, yet clearly associated with it
  • Multiple descriptions (languages, level of detail) easily supported
  • Nascent technology
  • Requires an annotation server?

Use cases and technological approaches

The grid below is intended to map known extended description requirements to technological ways to meet them. Approaches that meet more use cases will generally be preferred, though the other pros and cons also need to be considered.

description links longdesc aria-describedby aria-describedat figure with details figure with details and embedded iFrame figure with details with src and role attributes accessible SVG SVG wrapping bitmap link in figure caption hidden iframe client-side image map web annotations
Not restricted to images yes no yes yes ? ? ? no no ? no no yes
Can hold rich content yes yes no yes yes yes yes yes yes yes yes ? yes
Same technique for different objects yes no yes yes ? ? ? no no ? ? ? yes
Reusable in multiple content yes yes no yes no yes yes no no yes yes ? yes?
Description clearly associated with object no yes yes yes yes yes yes yes yes yes no yes yes?
Clear which associated object is the description no yes yes yes no no yes yes yes no no yes? yes?
Not bloat primary content page yes yes no yes no yes yes no no yes yes ? yes
Not required to be visible in standard content view yes yes ? yes ? ? ? ? ? yes ? ? yes
Discoverable by AT no yes yes yes yes yes yes yes yes ? ? yes ?
Available on demand to AT users no yes yes yes yes yes yes yes yes ? ? yes yes?
Skippable by AT yes yes ? yes yes yes yes ? ? yes ? yes yes
Able to pass structured content to an additional specialized user agent yes yes no yes yes yes yes yes yes yes yes ? ?
Easily usable by non-AT users yes no no no no no no ? ? yes ? yes? yes?

Technological Approaches Implementation

Information about the known implementation of particular approaches is provided here. An approach that has, or is expected soon to have, more implementation will tend to be preferred. Note: implementation information below refers to implementation needed to make the description available to assistive technology, not simply implementation of the base feature in mainstream user agents.

Webkit Blink Gecko IE Edge
description links N/A N/A N/A N/A N/A
longdesc No ? ? ? ?
aria-describedby ? ? ? ? ?
aria-describedat No ? ? ? ?
figure with details ? ? ? ? ?
figure with details and embedded iFrame Yes? Yes? ? ? ?
figure with details with src and role attributes No ? ? ? ?
accessible SVG ? ? ? ? ?
SVG wrapping bitmap ? ? ? ? ?
link in figure caption ? ? ? ? ?
hidden iframe ? ? ? ? ?
image map ? ? ? ? ?
web annotations ? ? ? ? ?

Implementation Complexity

Information about how difficult it is likely to be to implement, both for authors (who must implement a lot) and user agents (who must implement once, but with attention to impacts).

Authors UA
description links low N/A
longdesc med low
aria-describedby med med
aria-describedat med low
figure with details med low
figure with details and embedded iFrame high med
figure with details with src and role attributes high med
accessible SVG high high
SVG wrapping bitmap med high
link in figure caption low low
hidden iframe med low
image map med low
web annotations high high

Implementation Approach

Information about how difficult it is likely to be to implement, both for authors (who must implement a lot) and user agents (who must implement once, but with attention to impacts).

Uses AAPI Requires Script
description links no no
longdesc yes no
aria-describedby yes no
aria-describedat yes no
figure with details no ?
figure with details and embedded iFrame no ?
figure with details with src and role attributes no ?
accessible SVG yes no
SVG wrapping bitmap yes no
link in figure caption no no
hidden iframe no ?
image map no no
web annotations no yes?