XML Accessibility Guidelines (original) (raw)
Abstract
This document provides guidelines for designing Extensible Markup Language (XML) applications that lower barriers to Web accessibility for people with disabilities (visual, hearing, physical, cognitive, and neurological). XML, used to design applications such as XHTML, SMIL, and SVG, provides no intrinsic guarantee of the accessibility of those applications. This document explains how to include features in XML applications that promote accessibility.
Status of this document
This document is a Working Draft of the XML Accessibility Guidelines made available by the Protocols and Formats Working Group (PFWG). The PFWG operates as part of the WAI Technical Activity. ThePFWG maintains a page about issues, errata and corrigenda for this specification, and feedback is particularly invited on those.
This document is a W3C Working Draft made available for public review as per the W3C Process. This draft is expected to be updated or made obsolete within three months of its publication (3 October 2002). Intermediate updates (publicly archivedmailing list: wai-xtech@w3.org.
Translations of this specification, or of previous working drafts, are made available by volunteers. The PFWG thanks people who have provided translations, but notes that the original English version of any draft is the only authoritative version
Patent disclosures relevant to this specification may be found on the Working Group's patent disclosure page, in conformance with W3C policy. At the time of publication, there are no declarations specific to this document.
Publication of this document does not imply endorsement by the W3C, its membership or its staff. This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". A list of current W3C technical reports and publications, including working drafts and notes, can be found at http://www.w3.org/TR/.
Table Of Contents
Introduction
This document specifies requirements that, if satisfied by designers of XML applications, will lower barriers to accessibility. This document includes:
- This introduction, which provides context for understanding the requirements listed in section 2.
- Section 2 explains four general principles of accessible design, called "guidelines". Each guideline consists of a list of requirements, called "checkpoints", which must be satisfied in order to conform to this document.
- Section 3 explains how to make claims that XML Applications satisfy the requirements of section 2.
- An appendix lists all the checkpoints for convenient reference (e.g., as a tool for application developers to evaluate software for conformance)
XML (Extensible Markup Language) is a meta-syntax, used to create new languages. It can be seen as a simplification of SGML (Standard Generalized Markup Language), designed to promote a wider acceptance in Web markets, but serving the same functionality of extensibility and new language design. HTML (HyperText Markup Language), on the other hand, is one particular application of SGML, which covers one set of needs ("simple" hypertext documents) and one set of element and attributes.
For instance, in HTML, authors can write elements like:
<
title
>XML and Accessibility</
title
> ... <
address
lang="fr">Mas St Christophe</
address
> ... <
h1
>Background</
h1
>
and they can only use elements (title
, h1
, etc.) defined by the HTML specification (which defines about a hundred), and their attributes.
In SGML and XML, authors can define their own set of elements, and end up with documents like:
<
menu
>New England Restaurant</
menu
> <
appetizer
>Clam Chowder <
photo
url="clam.jpg">A large creamy bowl of clam chowder, with bread crumbs on top</
photo
> </
appetizer
>
which may fit more closely the needs of their information system.
Within W3C, the HTML language is now being recast as XML - this is calledXHTML - including a modularization of HTML to suit the needs of a larger community (mobile users, Web TV, etc).
XML is therefore not to be seen as a replacement of HTML, but as a new building layer on top of which HTML is to be placed, next to other languages designed by W3C, such as MathML (for representing mathematical formula), SMIL (for synchronizing multimedia), SVG (for scalable graphics), etc., and other new languages designed by other organizations (such as Open EBook, etc.).
Furthermore, it is important to understand that XML is not only a User Interface technology (like HTML), but can and is often used in protocol communication, to serialize and encode data to be sent from one machine to another.
XML Grammars, and The Scope Of XAG [[Note: this section may disappear or change significantly]]
The XML grammars (often called schema in this document) can be classified along different axes:
End-user-oriented:
Where the dialect is used to describe user-oriented data, such as structured textual oriented content in Docbook, HTML, MenuML, OEB, etc.; or specialized content - such as MathML, Scalable Vector Graphics (SVG), MusicML, Synchronized Multimedia Integration Language (SMIL); or any document storage format. An informal definition is 'anything for which the question "is there a textual equivalent of all rich media data bits?" makes sense'.
Process-oriented:
When the content being marked up is closer to a program than a document. Examples: For expressing data processing (for example XSL - Extensible Style Language), metadata, such as RDF (Resource Description Framework), XML Schema languages, etc.
According to this taxonomy, these guidelines only address End-user-oriented schema. This does not imply that there are not accessibility issues or features in a Process-oriented schema - see, for example, how XSL can assist in Braille formatting, but they are out of the scope of this particular document.
Relation to other WAI Guidelines
"XML Accessibility Guidelines 1.0" is part of a series of accessibility guidelines published by the Web Accessibility Initiative (WAI). The documents in this series reflect an accessibility model in which Web content authors, format designers, and software developers have roles in ensuring that users with disabilities have access to the Web. In this model:
- Format specifications (e.g., XHTML, SVG, SMIL, MathML) include features that support accessibility, such as elements and attributes for alternative text, navigation tools, semantics that respect user control over presentation, etc. The current document (XAG 1.0) explains how to design XML formats that include features to benefit accessibility. The principles of this document apply for the most part to non-XML formats as well.
- Authors make use of these features when creating Web pages and Web applications. The "Web Content Accessibility Guidelines 1.0" [WCAG10] explains how to create more accessible content through features offered by formats, and also through consistent design, clear writing, use of multimedia, and more.
- Authoring tools help authors create more accessible content through support of formats with accessibility features, and through interactive and automatic assistance (e.g., prompts for accessibility features, validity checking, reuse of accessible content, etc.). The "Authoring Tool Accessibility Guidelines 1.0" [ATAG10] explains the responsibilities of authoring tool developers. ATAG 1.0 addresses the accessibility of authored content but also the accessibility of the tool's user interface.
- User agents promote accessibility by implementing formats with accessibility features, and by providing an accessible user interface, allowing communication with assistive technologies, documenting accessibility features, following operating environment conventions, etc. The "User Agent Accessibility Guidelines 1.0 [UAAG10] explains to user agent developers how to create more accessible browsers, multimedia players, and other user agents.
Formats that conform to XAG 1.0 will support the features of the other WAI Guidelines. For instance, this document requires that formats include elements and attributes that:
- Will allow authors to associate text alternatives with non-text content;
- Will allow user agent developers to recognize these alternatives and provide easy access to them in a reliable manner;
- Will allow authoring tool developers to design tools that reuse recognized alternatives when the same non-text content (e.g., a corporate logo) is reused by the author.
The requirements of making the Web accessible to actual users do not always match this model perfectly. In all the guidelines there are cases where there is a need for overlapping requirements to ensure that people can in fact use the Web. These are sometimes due to particular problems in widely implemented and used technology, and sometimes are provided as a "safety net".
Note: The WAI Guidelines cross-reference one another. XAG 1.0 requirements to satisfy the requirements of other WAI Guidelines should be interpreted to mean "Follow the requirements of other guidelines EXCEPT for those that in turn require conformance to XAG 1.0." Thus, if XAG 1.0 requires that the documentation of an XML application conform to WCAG 2.0, and WCAG 2.0 states that conforming content must also conform to XAG, read this as: "Documentation of an XML application must conform to WCAG 2.0 except for WCAG 2.0 requirements that in turn require conformance to XAG 1.0."
Problem statement [[Note: This section is likely to be significantly revised]]
The WAI (Web Accessibility Initiative) has done extensive work in the HTML area, resulting in lots of new functionalities being added to the version 4.0 of the language (see the HTML4 Accessibility Improvements paper [HTML-access]).
These features includes:
- Improved structure (such as fieldset, optgroup in form)
- Support of separate Style Sheets
- Better alternate content (required alt, longdesc, caption, etc)
- Easier navigation (tabindex, link, etc)
One area of concern with the advent of XML is that the freedom of design it brings has and can result in a loss of accessibility features, present today because of HTML's pervasive presence and widely available specification.
For instance, one could design a new XML language that would make it much more difficult to create accessible documents, by not including in the element or attribute set a way to attach an alternate textual description for a photo:
<
menu
>New England Restaurant</
menu
> <
appetizer
>Clam Chowder <
photo
url="clam.jpg"/>
<!-- no alt attribute or_ _textual content model here -->
</
appetizer
>
In this example, the problem is not that the author of this document didn't put an alt attribute or textual equivalent attached to the photo element, it's that the designer of the language didn't put the attribute or the proper support in the language itself (that is, in the schema or the DTD). This means that there is no reliable way for a user to find how an author tried to explain a particular image in text form.
This document specifies requirements for XML languages to ensure that people can create documents in a given XML language which are as accessible as possible to people with disabilities, who use a variety of different techniques and tools to access the Web.
Guidelines for designers of XML dialects
This section provides a list of four guidelines, which are general principles of accessible design. Guidelines include rationale and checkpoints. Each checkpoint expresses a requirement, includes some informative text about the checkpoint and one or several Techniques, where implementations and examples of the checkpoint are discussed. Note that the checkpoints are not prioritized at that point.
Guideline 1. Ensure that authors can associate multiple media objects as alternatives
Web content providers must able to offer alternative versions of their content if they wish to do so (as the Web Content Accessibility Guidelines tell them to do so). Textual alternatives, like a caption for a movie, or a table summary, can be repurposed for many different output devices, whereas audio content for instance is confined to a certain set of devices (those that can play sound).
1.1 Provide a mechanism to explicitly associate alternatives for content or content fragments.
Authors using the elements/attributes in your language must have the ability to provide alternatives for any content, be it images, movies, songs, running text, whatever.
Techniques for 1.1
T1.1.1 In SVG, the desc
element can be used to describe a graphic.<svg width="6in" height="4.5in" viewBox="0 0 600 450"> <title>Network</title> <
desc
>An example of a computer network based on a hub</desc> </svg>
T1.1.2 Thesummary
and the caption
elements in theXHTML table module can be used to provide a rich textual description of a non-textual media. cf. WCAG 1.0 checkpoint 1.1.<table border="1"
summary
="This table gives some statistics about fruit flies: average height and weight, and percentage with red eyes (for both males and females)." /> <
caption
`>Statistics about fruit flies
eyes
Outline view
Appetizer:
`**` etc... ` **4.6** Document all features of the XML application that benefit accessibility. This is useful in order to foster the development of state of the art assistive technologies to identify all the features of a new language that make it more accessible. Techniques for 4.6 **T4.6.1** SVG has provided [a good example of this](/TR/2000/CR-SVG-20001102/access) \[[SVG10-access](#SVG10-acce)\] being a part of the recommendation. For W3C Working drafts, include and document those specific features which positively aid accessibility. **4.7** Include accessibility requirements in conformance requirements. This promotes the development of accessible content in the community caring about conformance. Techniques for 4.7 **T4.7.1** SVG has specific accessibility requirements as [a part](/TR/SVG/conform.html) \[[SVG10-access](#SVG10-acce)\] of the overall requirement document. When the requirements are drawn up, specific clauses need to be included which clearly state accessibility requirements **T4.7.2** A more detailed explanation is given in [section 3.3 of the User Agent Accessibility Guidelines](/WAI/UA/UAAG10/conformance#include-uaag-reqs) \[[UAAG10](#ref-UAAG10)\] **4.8** Document techniques for WCAG, ATAG, and UAAG with respect to the XML application. The WAI suite of accessibility guidelines \[[WCAG](#ref-WCAG10)\],\[[ATAG](#ATAG10)\],\[[UAAG](#ref-UAAG10)\] contain detailed descriptions as to how to satisfy each individual document's requirements. Therefore, it is important to review your XML application to ensure that you have implemented a relevant technique for each checkpoint in the WAI suite of accessibility guidelines. For example, you could show how a (hypothetical) instance of your application conforms to WCAG, how an authoring tool which implements your application would enable an author to create accessible content; how a user agent capable of supporting your application must conform to UAAG, etc. Techniques for 4.8 **T4.8.1** Still using the MenuML language, here are examples of WCAG technique_s_ * _WCAG checkpoint 1.1_: Provide a text equivalent for every non-text element _MenuML technique_: use the content of the`photo` element to indicate the textual equivalent of the picture. * _WCAG checkpoint 3.5_: Use header elements to convey document structure and use them according to specification. _MenuML technique_: use the `appetizer` element to introduce a new appetizer, not a `para` and some bigger font **4.9** Do not assume that element or attribute names provide any information about element semantics. An element named may have a fully contextualized meaning for the schema author, but is unlikely to mean much to someone who does not speak the language of the author. Equally, taken out of context, without semantic explanation, element names often lose their meaning. Simply naming an element is not enough to assure that document authors will utilize that element in semantic conformance with the schema authors intent. It is likely that confusion and misinterpretation will arise if element or attribute names are relied upon to document a schema. Techniques for 4.9 **TW4.9.1** For example, using TREX, avoid colloquial element names. Example: **Wrong** ``` paragraph ``` Here the element name has been described using the element name only, which adds no semantic value. **T4.9.2** Example: **Right** ``` The lowest level block container. ``` Here the element name has been described in an alternate form to clarify semantics rather than re-enforce the name by repeating it. **4.10** Document navigable structures. Describe how discrete, sequential, structured, and search navigation mechanisms should work. In order to navigate around a significant document, it is helpful to the reader if they know what elements are available for such navigation. Techniques for 4.10 **T4.10.1** Random access to any part of a document via a detailed table of contents, numbered headings which may be searched for, a hierarchical view enabling fast access to sought parts, and a search capability aid in this.Appendices
Appendix A: Techniques Rationale
In the presentation of guidelines for XML accessibility, we try to separate abstract guidelines from implementation techniques. This allows us to talk about the general guideline principles without spending the time up-front to solve the implementation issues.
In fact, there are several techniques for achieving the same result and people's decision will be a function of time and product available and their own commitment to access.
For instance, if an XML designer want to create some kind of "list" element in a given markup, this can be implemented using various techniques:
- using the XHTML namespace and its elements (e.g. xhtml:ul, xhtml:li)
- invent new constructs but provide an XSLT binding (e.g. to a HTML UL/LI pair of element)
- using XML/RDF Schema (if a list primitive is available; or through a new schema if a primitive is unavailable)
- using Architectural forms with support for list semantics
- etc
Appendix B: Glossary
The source of definitions used is the WAI Glossary [GLOSS]
Appendix C: Acknowledgments
In addition to the editors, the following people have contributed directly to the content of this document:
Kynn Bartlett , Astrid Callista, Geoff Freed, Al Gilman, Vijay Gummadi, Katie Haritos-Shea, Ian Jacobs, Chris Lilley, William Loughborough, Jim Ley, Dave Pawson, Gregory J. Rosmaita, Michael Shaefer, Aaron Swartz and Carlos A. Velasco.
Appendix D: References
[ATAG10]
"Authoring Tool Accessibility Guidelines 1.0", J. Treviranus, C. McCathieNevile, I. Jacobs, and J. Richards, eds., 3 February 2000. This W3C Recommendation is http://www.w3.org/TR/2000/REC-ATAG10-20000203
[ATAG10-TECHS]
"Techniques for Authoring Tool Accessibility Guidelines 1.0," J. Treviranus, J. Richards, I. Jacobs, and C. McCathieNevile eds. The latest version is available at http://www.w3.org/TR/ATAG10-TECHS
[DC-elements]
"Dublin Core Metadata Element Set, Version 1.1: Reference Description" DCMI Recommendation, 2 July 1999, available at http://dublincore.org/documents/dces/
[DTB]
"Digital Talking Book" ANSI/NISO specification Z39.86. Available at http://www.loc.gov/nls/z3986/index.html
[GLOSS]
WAI Glossary. An internal working draft. K Haritos-Shea, C. McCathieNevile, eds. Available at http://www.w3.org/WAI/GL/Glossary/printable
[HTML-access]
"HTML 4.0 Accessibility Improvements", I. Jacobs, J. Brewer, D. Dardailler. Available at http://www.w3.org/WAI/References/HTML4-access
[HTML-style]
"A sample CSS style sheet for HTML 4.0" provided as an informative appendix to the CSS 2 specification. Available at http://www.w3.org/TR/CSS2/sample
[SMIL-anim]
"SMIL Animation", P. Schmitz, A. Cohen eds. W3C Recommendation 4 September 2001, available at http://www.w3.org/TR/2001/REC-smil-animation-20010904/
[SVG-ACCESS]
"Accessibility of Scalable Vector Graphics", C. McCathieNevile, M.-R. Koivunen, eds. W3C Note available at http://www.w3.org/TR/SVG-access. The latest editors' version is available at http://www.w3.org/1999/09/SVG-access.
[SVG10]
"Scalable Vector Graphics 1.0 Specification", J. Ferraiolo, ed., 4 September 2001. This W3C Recommendation is available at http://www.w3.org/TR/2001/REC-SVG-20010904/
[SVG10-access]
SVG 1.0 Appendix H - Accessibility Support. An appendix to the SVG 1.0 specification [SVG10] Available at http://www.w3.org/TR/2001/REC-SVG-20010904/access
[UAAG10]
"User Agent Accessibility Guidelines," J. Gunderson, I. Jacobs, E. Hansen eds. The latest version of the User Agent Accessibility Guidelines is available at http://www.w3.org/WAI/UA/UAAG10.
[UAAG10-TECHS]
"Techniques for User Agent Accessibility Guidelines 1.0," J. Gunderson, I. Jacobs, E. Hansen eds. The latest version of Techniques for User Agent Accessibility Guidelines 1.0 is available at http://www.w3.org/TR/UAAG10-TECHS/.
[WCAG10]
"Web Content Accessibility Guidelines 1.0," W. Chisholm, G. Vanderheiden, and I. Jacobs, eds., 5 May 1999. This Recommendation is http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505\. The latest version is available at http://www.w3.org/TR/WCAG10/.
[WCAG10-TECHS]
"Techniques for Web Content Accessibility Guidelines 1.0," W. Chisholm, G. Vanderheiden, and I. Jacobs, eds. The latest version is available at http://www.w3.org/TR/WCAG10-TECHS/.
[XLINK]
"XML Linking Language (XLink) Version 1.0", S. DeRose, E. Maler, D. Orchard eds. W3C Recommendation 27 June 2001, available at http://www.w3.org/TR/2001/REC-xlink-20010627/
[XPTR]
"XPointer Framework", P. Grosso, E. Maler, J. Marsh, N. Walsh eds. The latest version of this W3C Working draft is available at http://www.w3.org/TR/xptr-framework/
[XSCHEMA]
"XML Schema", D. Fallside ed. W3C Recommendation 2 May 2001, available at http://www.w3.org/TR/xmlschema-0/
[XSL10]
"Extensible Stylesheet Language (XSL)Version 1.0", S.Adler et al. W3C Recommendation 15 October 2001, available at http://www.w3.org/TR/2001/REC-xsl-20011015/
Appendix E: Changes from the 28 August 2001 Working Draft
These changes were decided by the PFWG based on the XAG issues list.
Editorial Changes
Changes were made to the text of several checkpoints:
- Checkpoint 2.8
- Checkpoint 2.11
- Checkpoint 3.1
- Checkpoint 4.2 (which was checkpoint 4.1)
- Checkpoint 4.6
Checkpoints 4.1, 4.2 and 4.3 were reordered
Major issues now noted in document
The Abstract, Introduction and Problem Statement sections were substantially rewritten
New Section in Introduction: relation to other WAI guidelines
Definition Section changed to reference to WAI glossary
Change History added
List of Checkpoints added as an appendix
New References section
Substantive Changes
Checkpoint 2.11 added
Checkpoint 1.3 merged into checkpoint 2.9
Appendix F: List of Checkpoints
Guideline 1: Ensure that authors can associate multiple media objects as alternatives
- 1.1 Provide a mechanism to explicitly associate alternatives for content or content fragments.
- 1.2 Define flexible associations, where a given kind of relationship can link to or from objects of varying types without constraint.
Guideline 2. Create semantically-rich languages
- 2.1 Ensure all semantics are captured in markup in a repurposable form.
- 2.2 Separate presentation properties using stylesheet technology/styling mechanisms.
- 2.3 Use the standard XML linking and pointing mechanisms (XLink and XPointer).
- 2.4 Define element types that allow classification and grouping (header, section, list, etc).
- 2.5 Provide for a full containment model with chunks of reasonable size.
- 2.6 Define element types that identify important text content.
- 2.7 Provide a mechanism for identifying summary / abstract / title.
- 2.8 Don't overload element and attribute names.
- 2.9 Reuse existing accessible modules, as originally specified / intended.
- 2.10 Allow association of metadata with distinct elements and groups of elements.
- 2.11 Specific checkpoint for Final-form applications.
Guideline 3. Design an accessible user interface
- 3.1 Provide default style sheets for multiple output modalities.
- 3.2 Define navigable structures that allow discrete, sequential, structured, and search navigation functionalities.
- 3.3 Use CSS or XSLT to describe a basic outline view
- 3.4 Use a device-independent interaction and events model / module.
- 3.5 Allow for user control of interaction timing - rate of change, external events triggering document changes, etc.
Guideline 4 Document and export semantics
- 4.1 Provide explicit human readable definitions for markup semantics.
- 4.2 Ensure that at least one version of the XML application's documentation conforms to at least level Double-A of the Web Content Accessibility Guidelines 1.0 [WCAG10].
- 4.3 Provide a machine-understandable means/mechanism to get from a document instance to the schema.
- 4.4 Use a schema language that can support explicit human-readable documentation or annotation of semantics.
- 4.5 Provide semantic relationships to other schema where appropriate and possible.
- 4.6 Document all features of the XML application that benefit accessibility.
- 4.7 Include accessibility requirements in conformance requirements.
- 4.8 Document techniques for WCAG, ATAG, and UAAG with respect to the XML application.
- 4.9 Do not assume that element or attribute names provide any information about element semantics.
- 4.10 Document navigable structures. Describe how discrete, sequential, structured, and search navigation mechanisms should work
[contents]