Is XML accessible?

XML is short for Extensible Markup Language and is a specification from the World Wide Web Consortium (W3C). It is not a replacement for HTML but is one level up: It is a meta-syntax, used to define new markup languages. XML's key benefits are its extensibility (XML-based languages can be extended with new custom tags) and its portability (XML-based languages can be used across different platforms and devices).

XML can be good for accessibility. With XML, content is entirely independent from structure. Therefore, a single content file in an XML language can be rendered differently to different users, so users of screen readers, Braille output devices, graphic browsers, and small hand-held computers, for example, can all receive the same information but have it presented in ways that make the most sense for their unique devices.

XML is already having a significant impact on web-based business. Historically, there have been major limitations in the content that could be displayed with HTML. Mathematical notation, for example, could not be displayed with HTML, so developers would rely on workaround techniques such as GIF images of mathematical formulas, which blur when enlarged and usually aren't accompanied by alternate text. Many languages have been developed with XML that are eliminating these types of barriers. The following are a few examples, including the accessibility implications of each:

  • XHTML— A reformulation of HTML using the more rigid XML syntax. The result is Web pages that are written with well-formed and valid code (contrast with the sloppy HTML of many current Web pages). Better code often translates to better accessibility. This reformulation of XML to XHTML is not possible without the use of an Extensible Stylesheet Language (XSL). 
  • MathML— Provides a standard logical structure for the communication of mathematical expressions, allowing them, for example, to be displayed on Web pages and (potentially) read by screen readers.
  • CML (Chemical Markup Language)— The chemistry equivalent to MathML.
  • Synchronized Multimedia Integration Language (SMIL)— Enables authoring of interactive audiovisual presentations. This is the language by which captions and audio descriptions are typically synchronized with a web-based multimedia presentation.
  • Scalable Vector Graphics (SVG)— A language for describing two-dimensional graphics. SVG includes a number of features that make graphics on the Web more accessible than is otherwise possible. For example, users can enlarge a graphic without loss of clarity. For more information, consult Accessibility Features of SVG.
  • Voice Extensible Markup Language (VoiceXML)— A markup language for structuring interactive voice response applications. In order to make these applications accessible to users who are deaf or hard of hearing, the language provides a mechanism for including text alternatives to audio content. Additional VoiceXML accessibility guidelines are provided in an appendix of the specification document.
  • MusicXML— A markup language for musical scores. Client software that is currently available interprets the markup and displays a musical score visually on the computer screen. However, the potential also exists for conversion into unified Braille Music Code, giving blind musicians easy access to the same online scores as their sighted peers.
  • DAISY— (Digital Accessible Information System)—A standard by which digital talking books are marked up in order to provide structure and facilitate navigation.

The IMS Global Learning Consortium, an organization that is developing and promoting open specifications for online distributed learning activities, strongly recommends XML in its IMS Guidelines for Developing Accessible Learning Applications and devotes an entire section (section 4) to using XML for accessibility.

However, XML is not without potential accessibility problems. The primary accessibility issue is that developers can use XML to create inaccessible languages. HTML, for example, provides a tremendous variety of accessibility features in its specification ("alt" attributes for images, title attributes for frames, etc.). Web designers don't always use these features, but at least it's possible to design an accessible Web page with HTML. XML gives developers tremendous freedom to develop their own languages, and with this freedom there is the possibility that some new languages will provide no means of making content accessible. To address this issue, the W3C's Web Accessibility Initiative (WAI) has developed guidelines for designing accessible applications with XML. The XML Accessibility Guidelines is currently a work in progress. It's a reasonable assumption, however, that not all XML developers will create accessible languages. In Section 4.2 of the IMS Accessibility Guidelines (cited in the preceding paragraph), IMS recommends that authors "seek to confine their selection of special-purpose XML languages to those already in general use, especially those languages designed with accessibility provisions."