[contents]

W3C

XML Accessibility Guidelines [EDITOR draft]

W3C Working Draft 15 September 2002

This Version:
http://www.w3.org/WAI/PF/XML/xag-20020915
Latest Published Version:
http://www.w3.org/TR/xag
Latest Editor Draft:
http://www.w3.org/WAI/PF/XML
Previous Version:
http://www.w3.org/WAI/PF/XML/xag-20020617
Editors:
Daniel Dardailler, W3C (danield@w3.org)
Sean B. Palmer (sean@mysterylights.com)

Charles McCathieNevile (charles@w3.org)


Abstract

This document explains how to design accessible applications using XML, the Extensible Markup Language. Compared to the XHTML or MathML languages, XML is one level up: it is a meta syntax used to define these languages, as well as new ones. As a meta syntax, XML provides no intrinsic guarantee of device independence or textual alternate support. It is essential, therefore, that XML formats and tools designers are provided with guidelines that explain how to include basic accessibility features - such as those present in XHTML, SMIL, and SVG - in all their new developments.

Status of this document

This document is a Working Draft made available by the Protocols and Formats Working Group (PFWG), for review by W3C members and other interested parties. The PFWG operates as part of the WAI Technical Activity. The PFWG maintains a page about issues, errata and corrigenda for this specification, and feedback is particularly invited on those.

This draft is provided for review by the working group prior to releasing a Public Working Draft to the W3C Technical reports page. This draft is expected to be made obsolete by a new draft before the middle of October 2002, but there are not expected to be many changes between this draft and the next.

Please send comments about this document and how you would like to see it evolving to the publicly archived mailing 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.

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

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 called XHTML - 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 OpenEBook, 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), metadat, 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:

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".

There are also cases where guidelines rely on each other in what seems to be a circular dependency. For example, these guidelines require that documentation conforms to WCAG, and WCAG suggests that content (i.e. the documentation) is written in a format that can conform to XAG. Rather than attempt to reproduce every requirement of WCAG as requirements in the XAG document for documentation, we feel that it is easier to make these references. In any case, we feel that to implement XAG it is important to have enough familiarity with the other guidelines to recognise a mutual dependency and be able to apply the requirements successfully.

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:

One area of concern with the advent of XML is that the freedom of design it bringshas 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.


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:

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 and I. Jacobs, 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, and I. Jacobs, 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/2000/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 Provious draft

These changes were decided by the PFWG based on the XAG issues list

Editorial Changes
In the introductory material, a new section about this document's relationship to other WAI Guidelines was added, and the problem statement was significantly changed. The reference section was expanded and many references in the document now include pointers to the reference section.
Checkpoint 1.3 merged into checkpoint 2.9
There are still outstanding issues on the merged checkpoint, and it may either be changed from a checkpoint to a technique, or be augmented with a specific list of modules to be used.
Glossary Changed
The glossary is now copied from the WAI Glossary. This should mean that terms in this document are used in a way that is consistent with the way they are used in other WAI Guidelines.