W3C

HTML Image Description Extension

W3C First Public Working Draft 12 March 2013

This version:
http://www.w3.org/TR/2013/WD-html-longdesc-20130312/
Latest published version:
http://www.w3.org/TR/html-longdesc/
Latest editor's draft:
http://dvcs.w3.org/hg/html-proposals/raw-file/default/longdesc1/longdesc.html
Editor:
Charles McCathie Nevile, Яндекс.

Abstract

This specification defines a longdesc attribute to link extended descriptions with images in HTML5-based content.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document was developed through the HTML Accessibility Task Force, and is published by the HTML Working Group with approval by the Protocols and Formats Working Group.

Bugs can be filed directly into the W3C Bug tracker for this specification.

This document was published by the HTML Working Group as a First Public Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to public-html-a11y@w3.org (subscribe, archives). All comments are welcome.

Publication as a First Public Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Table of Contents

Introduction

HTML 4 provided a longdesc attribute for the img element. This enabled a machine-discoverable description of an image to be linked to the image. This extension specification defines the same functionality for HTML5-based content.



<!-- The description is somewhere on the same page as the image --> <img src="http://example.com/graph1" alt="(The trend is for drinks to get sweeter)" title="Figure One" longdesc="#graph1"> <!-- The description is a page on its own --> <img src="figure1" alt="figure 1" longdesc="http://example.com/desc1"> <!-- The description is one of several within an external page --> <img src="ExampleImage" alt="example" longdesc="http://example.com/descs#item3">

1. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words must, should, and may in this specification are to be interpreted as described in [RFC2119].

1.1 Dependencies

The IDL fragments in this specification must be interpreted as required for conforming IDL fragments, as described in the Web IDL specification. [WEBIDL]

Some of the terms used in this specification are defined in [DOM4], [HTML5].

2. Use Cases and Requirements

There are many ways users can successfully interact with content even if they cannot see, or see well, images included in that content. The alt attribute is designed to ensure that for everyday work, a user has enough information to replace an image, and often this is more helpful than a detailed description of every image. The longdesc attribute is designed to complement this functionality, to meet the following use cases.

Use Cases

Describing a well-known image
There are many well-known images which are widely reproduced - Mona Lisa, Washington crossing some river, the Da Vinci picture of the guy in a square and a circle, Gerníka, Cubbin's "Lost", Leunig's "ramming the shears". While different people know the images by different titles, and some images have no widely known titles, visually recognising the image is often an important part of framing a discussion. Where the image itself cannot be seen, a description can often be used to offer the same recognition.
Requires: Discoverability
Helped by: Inline, Reuse
Describing a complex diagram
In many environments diagrams are used to explain a concept or transmit information efficiently. Where a user has a reduced ability to see the image (poor contrast vision and other conditions are as relevant here as a complete lack of vision), a description can enable that user to understand the information being presented
Requires: Structured Markup, Inline, Reuse, Simple Return
Teaching Accessible Development
In many environments producing content that is accessible to users regardless of disability is a legal and/or market requirement.
Requires: Maintenance, Backwards compatibility
A self-describing artistic work
For many pages the visual design of the page is an important part of the message it conveys to a fully-sighted user, but the author would like to convey as much of that design as possible to a user with low or no vision available.
Requires: No visual encumbrance, Structured Markup
Helped by: Reuse, Simple Return
Referring to an existing description
Many well-known images are already described by other sources. The copyright on those sources may not be compatible with re-publishing the description, but there is little value in making a new one.
Requires: Reuse, Structured Markup, Simple Return, Optional Consumption
Helped by: No Visual Encumbrance
Linking to a description included within a page
In some cases an image already has a description included within a page. Making the linkage explicit can provide further clarity for a user navigating the page who is not able to interpret the default layout, e.g. because they have forced a re-layout of the page elements, or because they do not see the default visual relationship between the element and its description.
This practice also enables description to be provided for all users.
By keeping the association clear the content maintainer can more easily check that the description and link are actually correct.
Requires: Inline, Simple Return, Structured Markup, Optional Consumption

Requirements

No visual encumbrance
It must be possible to provide a description for an image without any visual encumbrance on the page.
Structured Markup
It must be possible to include rich markup (e.g. HTML5) in the description of the image.
Inline
It must be possible to associate a description in the body of a page with an image in that page.
Reuse
It must be possible to re-use a single description for multiple occurrences of an image.
Maintenance
It must be simple to maintain a library of images and descriptions for dynamic assembly, or dis-assembly and re-assembly, of content.
Discoverability
It must be simple for a user agent to automatically discover a description provided for a given image.
A user should be able to determine that there is a description available for a given image.
Optional consumption
A user must be able to choose not to read the long description of a given image.
Simple return
A user must be able to return from the description to the image.
Backwards Compatibility
It should be possible to use existing tools and techniques to associate an image with its description.

3. The longdesc attribute

The longdesc attribute must contain a valid URL potentially surrounded by spaces. The URL is a hyperlink to a description of the image that its parent img element represents.

Authors should put descriptions within an element which is the target of a fragment link (e.g. longdesc="example.html#description") if a description is only part of the target document.

User agents should make the link available to all users through the regular user interface.

User agents should expose the link to relevant APIs, especially accessibility-oriented APIs.

User agents should enable users to discover when images in a page contain a long description.

If a longdesc attribute has invalid content, user agents may make that content available to the user. This is because a common authoring error is to include the text of a description, instead of the URL of a description, as the value of the attribute.

This section is informative

Best practices for full descriptions of images are beyond the scope of this document, but there are many resources available.

Best practices for implementation are beyond the scope of this document. Since some images with long description are also normal link content, it is important for implementations to ensure that users can activate both behaviours. Likewise, it is generally helpful when the behaviour for finding, reading, and returning from a long description to the image described is a consistent experience.

3.1 Extension to the HTMLImageElement interface


partial interface HTMLImageElement {
             attribute DOMString longdesc;
};

3.1.1 Attribute

longdesc of type DOMString

The longdesc IDL attribute must be a valid non-empty URL potentially surrounded by spaces. It represents a hyperlink to a detailed description of the image its parent HTMLImageElement represents.

image.longdesc [ = value ]

Returns a DOMString that represents the attribute's contents.

Can be set, to replace the contents of the attribute with the given string.

//Make the first internal longdesc reference absolute

var baseURL = document.location.origin + document.location.pathname
var someImage = document.querySelector('img[longdesc^=#]');

someImage.longdesc = baseURL + someImage.longdesc;
//Open new windows for each longdesc found

var describedImages = document.querySelectorAll('img[longdesc]');

for (i in describedImages) {
if (i.longdesc) //there are a couple of extra things matched
window.open(i.longdesc);
}

A. Acknowledgements

Thanks to the HTML Working group of the late 1990s for the original specification of longdesc, and to many many people involved with the development of HTML5 (including but not limited to those who discussed "ISSUE-30" in the HTML Working Group, the Protocols and Formats Working Group, the W3C Advisory Board, and around countless dinner tables, coffee breaks, and elsewhere) for the discussions and contributions that led to this specification. With the exception of Laura Carlson, who did far more very valuable work than it took me to produce this specification, I haven't named them: the list might be larger than the content of the specification.

B. References

B.1 Normative references

[DOM4]
Anne van Kesteren; Aryeh Gregor; Lachlan Hunt; Ms2ger. DOM4. 6 December 2012. W3C Working Draft. URL: http://www.w3.org/TR/2012/WD-dom-20121206
[HTML5]
Robin Berjon et. al., eds. HTML5. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/html5
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Internet RFC 2119. URL: http://www.ietf.org/rfc/rfc2119.txt
[WEBIDL]
Cameron McCormack. Web IDL. 27 September 2011. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2011/WD-WebIDL-20110927/
[XML10]
C. M. Sperberg-McQueen et al. Extensible Markup Language (XML) 1.0 (Fifth Edition). 26 November 2008. W3C Recommendation. URL: http://www.w3.org/TR/2008/REC-xml-20081126/