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).
Introduction
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:
- Machine-centric:
- when the content being marked up is only for machine
consumption.
Example: serializing/exchanging data (e.g. WebBroker,
EDIXML),
or expressing data processing (e.g. XSL - Extensible Style
Language).
- User-centric:
- for UI (User Interface) oriented structural textual
rendering (e.g. Docbook, HTML, MenuML),
or specialized rendering (e.g. MathML, SVG - Scalable Vector
Graphics, MusicML, SMIL - Synchronized Multimedia Integration
Language).
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 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.
-
Follow general principles of
separation of structure/content and presentation
-
Enable text-only presentation of your
documents
-
Provide rich native
structural/navigational constructs
-
Provide atomic semantic markup
-
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:
- providing an XSLT binding (to a HTML UL/LI pair of
element)
- using namespaces and attributes (xhtml:ul, xhtml:li)
- using XML/RDF schemas (if a primitive is available; or
through a new schema if a primative is unavailable)
- re-using XHTML modules directly
- using Architectural forms
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:
- Follow general principles of separation of
structure/content and presentation
- Enable textual presentation of documents
- Provide rich native structural/navigational
constructs
- Provide atomic semantic markup (non
structural/navigation)
- Support a key-based (discrete) input model
Appendix: Discussion of definitions related to XML
accessibility Appendix:
Discussion of definitions related to XML accessibility
- 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.
- 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.
- Device:
- 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.
References
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.