Daniel Dardailler (danield@w3.org)
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, and in addition to the usual device
independence issues, we need to pay attention to the issue of
conveying semantics for otherwise unknown grammar.
XML is a meta-syntax, used to declare grammars (called DTDs - 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). These DTDs can be classified along two different axis:
Definitions:
Details on these definitions are provided at the end of this document.
An XML DTD is accessible if it enables and promotes the creation of accessible documents
A document is accessible if it can be equally understood by its targeted audience regardless of the device used to access it.
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 are not directly conveying 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 of course, 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 committee was a pioneer in this topic, for SGML accessibility and ways to convey arbitrary DTD semantics (using SDA or LPD mechanisms). A few years later, ICADD has not really been adopted and we're still trying to solve the same problem, albeit with more experience in the field of HTML accessibility, and applied to XML this time.
The next section provides a list of abstract guidelines, checkpoints and techniques that DTD designers should follow to achieve accessibility when designing new UI XML DTDs.
The techniques are meant to point at existing or new mechanisms used to implement these guidelines through reuse and modularization of XML parts. A note at the end of this document explains why distinguish guidelines and techniques.
As with the other WAI guidelines, we provide "abstract" guidelines, and associated checkpoints and techniques.
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 they introduce (be it for the document themselves or reader/editor of the language). See the SVG specification for an example of both practices.
In our 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: 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 (it's flexible)
For instance, we might want to have the XML designer indicate what constitute "list" elements 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.
Definitions:
DTD: 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.
An XML DTD is accessible if it enables and promotes the creation of accessible documents
A document is accessible if it can be equally understood by its targeted audience regardless of the device used to access it.
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.
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.
Graceful transformation is a key concept in the area of accessibility. Let's define it.
Definition:
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.