2000 Conference Proceedings

Go to previous article 
Go to next article 
Return to 2000 Table of Contents

XML and Accessibility

Daniel Dardailler
Project Manager, Web Accessibility Initiative
INRIA, Sophia-Antipolis, France
World Wide Web Consortium
Email: danield@w3.org Website: http://www.w3.org/WAI

This document introduces concepts related to XML Accessibility and provides guidelines for new DTD/Schema/Profile designers and editing tool developers. Compared to HTML or SMIL, XML is one level up: it is a meta language used to describe new languages, and in addition to the usual device independence issues, we need to pay attention to the issue of conveying semantics for otherwise unknown grammar. The session will present the latest work in this area from the World Wide Web Consortium's (W3C) Web Accessibility Initiative (WAI).


XML (Extensible Markup Language) is a meta-syntax, used to declare grammars (called DTD, Document Type Definition - but see the caveat about our use of the term DTD in the definition section at the end of the paper) for new computer languages and formats (called markup languages). These DTDs can be classified along two different axes:

Details on these definitions are provided at the end of this document.

This document only addresses User-centric DTDs. This does not imply that the first type of DTD doesn't have accessibility issues or features (see how XSL can help Braille formatting, for instance). However, since they do not directly convey information presented to the end-user, they are out of our scope here. In a sense, machine-centric DTDs have no connection to user interface accessibility, and one might ask if the commutative proposition is true: DTDs with no accessibility issues are the ones that must reach the right level of machine-centricity.

For User-centric languages, the message is simple: be device independent and export your semantics as much as you can. While the priority is stronger on the first aspect (multi-modality), both aspects are important, as without the knowledge of the meaning of the XML elements and attributes, there is little chance that alternative user agents can do something intelligent with just the document bits.

This semantics knowledge can be provided through human readable documentation, but having machine readable assertions of some semantics that can then be used to present the document in various media is paramount for pervasive access (i.e., you don't need a programmer, you just need a program). The ICADD (International Committee on Accessible Document Design ) committee was a pioneer in this topic, for SGML accessibility and ways to convey arbitrary DTD semantics (using specific SGML binding mechanisms). A few years later, ICADD has not really been adopted, and people are still trying to solve the same problem, albeit with more experience in the field of HTML accessibility, and applied to XML this time.

Guidelines for designers of UI-oriented XML tagset

This section provides a list of abstract guidelines, checkpoints and techniques that DTD designers should follow to achieve accessibility when designing new UI XML DTDs. At the time of writing the article, this is still in draft stage ,and people are encouraged to check the WAI site for a mroe updated version.

The techniques are meant to point at existing or new mechanisms used to implement these guidelines through re-use and modularization of XML parts. A note at the end of this document explains why to distinguish guidelines and techniques.

As with the other WAI guidelines, we provide "abstract" guidelines, and associated checkpoints and techniques.
  1. Follow general principles of separation of structure/content and presentation
  2. Enable text-only presentation of your documents
  3. Provide rich native structural/navigational constructs
  4. Provide atomic semantic markup
  5. Support a key-based (discrete) input model
An additional advice we give to DTD designers is that in their specification itself (the documentation) they always emphasize the accessibility features of their new language and try to include accessibility as part of any conformance statement that they introduce (be it for the document themselves, or for readers/editors of the language). See the SVG specification for an example of both practices. Approach on Guidelines/Techniques separation In the presentation of guidelines for XML accessibility, we separate abstract guidelines from implementation techniques. This allows us to talk about the guidelines without spending the time up-front to solve the implementation issues. The fact is that there are several techniques for achieving the same result, and people's decision will be a function of time and products available, as well as their own commitment to access. For instance, we might want to have the XML designer indicate what constitutes a "list" element in a given markup, and this in turn can be implemented using various techniques: Along with the choice of the metadata mechanism and vocabulary comes the issue of semantics availability: how does one access the DTD and possible XSLT or schemata from an instance document? This is sometimes referred to as XML packaging or related-resource discovery and is a very important feature for accessibility. Conclusion

In this paper, we examined how to provide clear definitions and requirements related to XML accessibility. We believe abstract guidelines and verifiable checkpoints/techniques (using implementation mechanisms associated with abstract guidelines) are the best way to address this problem. Our primary message is: be device independent, and export your semantics as much as you can. We proposed five different guidelines for doing that:

  1. Follow general principles of separation of structure/content and presentation
  2. Enable textual presentation of documents
  3. Provide rich native structural/navigational constructs
  4. Provide atomic semantic markup (non structural/navigation)
  5. Support a key-based (discrete) input model
Appendix: Discussion of definitions related to XML accessibility Appendix: Discussion of definitions related to XML accessibility

Even though we use the acronym DTD, we don't want people to assume we are only talking about a DTD as defined in XML 1.0 but rather some document or collection of documents which contains all the references for interpreting a document which is encoded in accordance with the usage of some application or community of discourse. Schema or profile might be a better word for our usage.
Accessible DTD:
An XMl DTD is accessible if it enables and promotes the creation of accessible documents
Accessible document:
A document is accessible if it can be equally understood by its targeted audience regardless of the device used to access it.
Promoting vs. enabling:
The word "promote" is important as "enable" alone does not cover the case where a DTD could include some open string representation somewhere and claim minimal accessibility.
To take an example, suppose HTML didn't have an ALT attribute on IMG, it would still in theory "enable" the creation of accessible documents, since HTML files carry textual content and one could always describe images inline, as in

<IMG SRC="Tax.gif"> How pay your taxes 

but this doesn't "promote" accessibility as most author will not want to repeat "How to pay your taxes" if the logo already says "How to pay your taxes" (assuming CSS cannot be used for that). Having ALT "promotes" accessibility as it allows images to be described without performance loss - such as duplication - for image viewer.

In any case, accessibility is not just about alternative content, as the next section will show.
The word "device" is also important as it encompasses more than just media independence: it's both output (graphical, voice, braille, text-only) and input (mouse, keyboard, voice, keypad, one-touch). This term also potentially carries with it the issues related to high bandwidth availibility (or lack thereof), where access to data becomes impossible on slow connection because of their volume.
Equal understanding:
The term "equal understanding" is critical as it permits some form of graceful transformation when presenting in one media content primarily designed for another media.
Graceful transformation:
This is a property of a system that can still function relatively error free when the system is damaged or when the input stimuli is incomplete. In such systems, removing a symbol token only results in the loss of the information stored in that token, with no abrupt performance decline of the overall process.

For instance, suppose I need to check the online yellow line train schedule and I don't have visual access to the Web. If the train Web site uses a yellow wagon animated icon to point me at the schedule, and do not provide a label somewhere saying that this is for the yellow line, thus only relying on my capacity to see the color, I suddenly cannot understand this site: it does not degrade gracefully.

If the DTD designer hasn't provided a way to attach alternate content to some rich piece like an animated yellow wagon, the content provider will not be able to make an accessible document.

Suppose now in a different page this Web site provides a nice clickable 2D map with all the stops and ask me to select my start and destination. If a simple list of the line stops is provided in textual form, it does degrade gracefully: it's not as fast as a couple of mouse clicks, so there is some degradation in the system, but I can get to it.

Another aspect of "understanding" is that in order for a User Agent to make sense and gracefully degrade the content of an arbitrary DTD-based document some semantics have to be disclosed. By reusing or binding a priori unknown elements/attributes to well know ones (in XML core or HTML), this is achievable.


Go to previous article 
Go to next article 
Return to 2000 Table of Contents 
Return to Table of Proceedings

Reprinted with author(s) permission. Author(s) retain copyright.