10. Appendices
This section is informative.
10.1. Schemata
WAI-ARIA roles, states, and properties are available in a number of machine-readable formats to support validation of content using WAI-ARIA attributes. WAI-ARIA is not finalized, however, so these files are subject to change without notice.
It is not appropriate to use these document types for live content. These are made available only for download, to support local use in development, evaluation, and validation tools. Using these versions directly from the W3C server could cause automatic blockage, preventing them from loading.
If it is necessary to use schemata in content, follow guidelines to avoid excessive DTD traffic. For instance, use caching proxies to avoid fetching the schema each time it is used, or ensure software uses a local cache, such as with XML catalogs.
10.1.1. Roles Implementation
The taxonomy for WAI-ARIA expressed in RDF is available from http://www.w3.org/WAI/ARIA/schemata/aria-1.rdf.
10.1.2. WAI-ARIA Attributes Module
This module declares the WAI-ARIA attributes as a module that can be included in a modularized DTD. A sample XHTML DTD using this module follows. Note the WAI-ARIA attributes are in no namespace, and the attribute name begins with "aria-" to reduce the likelihood of collision with existing attributes.
This module is available from http://www.w3.org/MarkUp/DTD/aria-attributes-1.mod.
10.1.3. XHTML plus WAI-ARIA DTD
This DTD extends XHTML 1.1 and adds the WAI-ARIA state and property attributes to all its elements. In order to provide broader keyboard support and conform with the Focus Navigation section above, it also adds the tabindex
attribute to a wider set of elements.
This is not a formal document type and may be obsoleted by future formal XHTML DTDs that support WAI-ARIA.
The XHTML 1.1 plus WAI-ARIA DTD is available from http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtd.
Documents written using this XHTML Family markup language can be validated using the above DTD. If a document author wants to facilitate such validation, they can include the following declaration at the top of their document:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+ARIA 1.0//EN" "http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtd">
However, note that when this DOCTYPE is present in a document, most user agents treat the document as generic XML rather than HTML. This causes them to be unable to support named character entities defined by the DTD (e.g., ©). Therefore, authors need to avoid use of named entities outside of the predefined entities in XML ([XML], Section 4.6).
To avoid the above problem, authors can omit the above DOCTYPE statement. This causes user agents to treat the document as generic HTML with named character entity support as well as built-in ARIA support. However, it causes user agents to enter "quirks" mode which affects CSS rendering, and causes conformance checkers to fail the document due to the added ARIA attributes.
To avoid the issues of named character entity support and quirks mode, authors can instead use the following generic DOCTYPE declaration for HTML:
<!DOCTYPE html>
However, this still does not guarantee that documents will be validated by conformance checkers.
10.1.4. SGML Open Catalog Entry for XHTML+ARIA
This section contains the SGML Open Catalog-format definition [CATALOG] of the public identifiers for XHTML+ARIA 1.0.
-- .......................................................................... -- -- File catalog ............................................................ -- -- XHTML+ARIA Catalog Data File Revision: $Revision: 1.4 $ See "Entity Management", SGML Open Technical Resolution 9401 for detailed information on supplying and using catalog data. This document is available from OASIS at URL: <http://www.oasis-open.org/html/tr9401.html> -- -- .......................................................................... -- -- SGML declaration associated with XHTML .................................. -- OVERRIDE YES SGMLDECL "xml1.dcl" -- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -- -- XHTML+ARIA modules .............................................. -- PUBLIC "-//W3C//DTD XHTML+ARIA 1.0//EN" "xhtml-aria-1.dtd" PUBLIC "-//W3C//ENTITIES XHTML ARIA Attributes 1.0//EN" "aria-attributes-1.mod" -- End of catalog data ..................................................... -- -- .......................................................................... --
10.1.5. WAI-ARIA Attributes XML Schema Module
This module declares the WAI-ARIA attributes as an XML Schema module that can be included in a modularized schema. Note the WAI-ARIA attributes are in no namespace, and the attribute name begins with "aria-" to reduce the likelihood of collision with existing attributes.
This module is available from http://www.w3.org/MarkUp/SCHEMA/aria-attributes-1.xsd.
10.1.6. HTML 4.01 plus WAI-ARIA DTD
This standalone DTD adds WAI-ARIA state and property attributes to all elements in HTML 4.01, as well as a role
attribute. In order to provide broader keyboard support, it also adds the tabindex
attribute to a wider set of elements.
The DTD is based on the HTML 4.01 Transitional DTD, and includes all entity references needed to make it a standalone file. This is not an official W3C DTD and should be considered a derivative work of HTML 4.01.
Documents written using this markup language can be validated using the above DTD. If a document author wants to facilitate such validation, they can include the following declaration at the top of their document:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+ARIA 1.0//EN" "http://www.w3.org/WAI/ARIA/schemata/html4-aria-1.dtd">
However, note that when this DOCTYPE is present in a document, most user agents treat the document as generic XML rather than HTML. This causes them to be unable to support named character entities defined by the DTD (e.g., ©). Therefore, authors need to avoid use of named entities outside of the predefined entities in XML ([XML], Section 4.6).
To avoid the above problem, authors can omit the above DOCTYPE statement. This causes user agents to treat the document as generic HTML with named character entity support as well as built-in ARIA support. However, it causes user agents to enter "quirks" mode which affects CSS rendering, and causes conformance checkers to fail the document due to the added ARIA attributes.
To avoid the issues of named character entity support and quirks mode, authors can instead use the following generic DOCTYPE declaration for HTML:
<!DOCTYPE html>
However, this still does not guarantee that documents will be validated by conformance checkers.
The HTML Working Group is incorporating WAI-ARIA into HTML 5. Official support for WAI-ARIA in HTML will be provided in that specification. This DTD is made available only as a bridging solution for applications requiring DTD validation but not using HTML 5.
This module is available from http://www.w3.org/WAI/ARIA/schemata/html4-aria-1.dtd.
10.2. Mapping WAI-ARIA Value types to languages
Editorial note: The HTML 5 column of the table below is expected to be moved to the HTML 5 specification and become normative for that specification. Comments about ARIA lexicial processing in HTML 5 should be taken to the HTML Working Group, referencing ISSUE-129.
Editorial note: The suggested mappings for true/false values in HTML 5 use Keyword and enumerated attributes with allowed values of "true" and "false", instead of using the HTML 5 boolean value type. @@ can't rely on attribute absence because of default value in true/false/undefined case.
The table below provides recommended mappings between WAI-ARIA state and property types and attribute types from HTML 5, XML Schema Datatypes [XSD], SVG, and SGML.
Languages not listed below might have appropriate value types defined in the language. If they do not, we recommend XML Schema Datatypes for general purpose XML languages. Documents using DTDs instead of schemas will not be able to validate automatically and require additional processing on WAI-ARIA attributes.
WAI-ARIA type | HTML 5 | XML Schema |
---|---|---|
true/false | Keyword and enumerated attributes with allowed values of "true" and "false" | boolean |
true/false/undefined | Keyword and enumerated attributes with allowed values of "true", "false", and "undefined" | NMTOKEN with an enumeration constraint allowing values of "true", "false", and "undefined" |
tristate | Keyword and enumerated attributes with allowed values of "true", "false", and "mixed" | NMTOKEN with an enumeration constraint allowing values of "true", "false", and "mixed" |
number | Real number | decimal |
integer | Non-negative integer | integer |
token | Keyword and enumerated attributes | NMTOKEN with an enumeration constraint allowing values listed in the state or property definition |
token list | Space-separated tokens | NMTOKENS with an enumeration constraintallowing values listed in the state or property definition |
ID reference | The value of a defined id attribute on another element | IDREF |
ID reference list | The value of one or more defined id attributes on other element(s), represented as Space-separated tokens | IDREFS |
string | No value constraints | string |
10.3. WAI-ARIA Role, State, and Property Quick Reference
The following table provides a quick reference to the supported states and properties for all WAI-ARIA roles that may be used in markup.
In addition to the states and properties shown in the table, the following global states and properties are supported on all roles.
10.4. Acknowledgments
The following people contributed to the development of this document.
10.4.1. Participants active in the PFWG at the time of publication
- Christy Blew (Invited Expert, University of Illinois)
- David Bolter (Mozilla Foundation)
- Michael Cooper (W3C/MIT)
- James Craig (Apple Inc.)
- Joanmarie Diggs (Igalia)
- Steve Faulkner (The Paciello Group)
- John Foliot (Invited Expert)
- Scott González (JQuery Foundation)
- Karl Groves (The Paciello Group)
- Jon Gunderson (Invited Expert, University of Illinois)
- Markus Gylling (DAISY Consortium)
- Mona Heath (Invited Expert, University of Illinois)
- Matthew King (IBM Corporation)
- Dominic Mazzoni (Google, Inc.)
- Shane McCarron (Invited Expert, Aptest)
- Charles McCathieNevile (Yandex)
- Mary Jo Mueller (IBM Corporation)
- James Nurthen (Oracle Corporation)
- Mark Sadecki (W3C)
- Janina Sajka (Invited Expert, The Linux Foundation)
- Joseph Scheuhammer (Invited Expert, Inclusive Design Research Centre, OCAD University)
- Stefan Schnabel (SAP AG)
- Richard Schwerdtfeger (IBM Corporation)
- Lisa Seeman (Invited Expert)
- Cynthia Shelly (Microsoft Corporation)
- Alexander Surkov (Mozilla Foundation)
- Andi Snow-Weaver (IBM Corporation)
- Léonie Watson (The Paciello Group)
- Wu Wei (W3C / RITT)
- Gottfried Zimmermann (Invited Expert, Access Technologies Group)
10.4.2. Other ARIA contributors, commenters, and previously active PFWG participants
The Protocols and Formats Working Group expresses special thanks to three individuals for extraordinary contributions to ARIA:
- Richard Schwerdfeger who conceived the technology now encapsulated in the ARIA specification and who has lead the PF's work on ARIA from the beginning as our ARIA Task Force Facilitator.
- Alfred Gilman who, as Chair of PFWG, grasped the need and the opportunity for PF to create this technology and convinced the W3C that PF should develop ARIA.
- Aaron Leventhal for authoring literally tens of thousands of lines of software code that allowed Firefox to demonstrate the practical viability of ARIA, and for conceiving and authoring the first ARIA User Agent Implementation Guide draft.
Other contributors:
- Shadi Abou-Zahra (W3C)
- Jim Allan (TSB)
- Jonny Axelsson (Opera Software)
- David Baron (Mozilla Foundation)
- Art Barstow (Nokia Corporation)
- Simon Bates
- Chris Blouch (AOL)
- Judy Brewer (W3C/MIT)
- Mark Birbeck (Sidewinder Labs)
- Sally Cain (Royal National Institute of Blind People (RNIB))
- Gerardo Capiel (Benetech)
- Ben Caldwell (Trace)
- Sofia Celic-Li
- Jaesik Chang (Samsung Electronics Co., Ltd.)
- Alex Qiang Chen (University of Manchester)
- Charles Chen (Google, Inc.)
- Christian Cohrs
- Deborah Dahl
- Erik Dahlström (Opera Software)
- Dimitar Denev (Frauenhofer Gesellschaft)
- Micah Dubinko (Invited Expert)
- Mandana Eibegger
- Beth Epperson (Websense)
- Donald Evans (AOL)
- Chris Fleizach (Apple Inc.)
- Kelly Ford (Microsoft Corporation)
- Geoff Freed (Invited Expert, NCAM)
- Kentarou Fukuda (IBM Corporation)
- Bryan Garaventa
- Guido Geloso
- Ali Ghassemi
- Becky Gibson (IBM)
- Alfred S. Gilman
- Andres Gonzalez (Adobe Systems Inc.)
- James Graham
- Georgios Grigoriadis (SAP AG)
- Jeff Grimes (Oracle)
- Loretta Guarino Reid (Google, Inc.)
- Katie Haritos-Shea (Invited Expert)
- Barbara Hartel
- James Hawkins (Google, Inc.)
- Benjamin Hawkes-Lewis
- Sean Hayes (Microsoft Corporation)
- Jan Heck
- Shawn Henry
- Tina Homboe
- John Hrvatin (Microsoft Corporation)
- Takahiro Inada
- Masayasu Ishikawa (W3C)
- Jim Jewitt
- Kenny Johar (Microsoft Corporation)
- Shilpi Kapoor (BarrierBreak Technologies)
- Masahiko Kaneko (Microsoft Corporation)
- Marjolein Katsma
- George Kerscher (International Digital Publishing Forum)
- Jason Kiss (New Zealand Government)
- Todd Kloots
- Johannes Koch
- Sam Kuper
- Earl Johnson (Sun)
- Jael Kurz
- Rajesh Lal (Nokia Corporation)
- Diego La Monica (International Webmasters Association / HTML Writers Guild (IWA-HWG))
- Aaron Leventhal (IBM Corporation)
- Gez Lemon (International Webmasters Association / HTML Writers Guild (IWA-HWG))
- Alex Li (SAP)
- Chris Lilley
- Thomas Logan (HiSoftware Inc.)
- William Loughborough (Invited Expert)
- Linda Mao (Microsoft)
- David MacDonald (Invited Expert, CanAdapt Solutions Inc.)
- Carolyn MacLeod
- Anders Markussen (Opera Software)
- Matthew May (Adobe Systems Inc.)
- Krzysztof Maczyński
- Alexandre Morgaut (4D)
- Ann Navarro (Invited Expert)
- Joshue O Connor (Invited Expert, CFIT)
- Artur Ortega (Microsoft Corporation)
- Sailesh Panchang (Deque)
- Lisa Pappas (Society for Technical Communication (STC))
- Marta Pawlowlska (Samsung Electronics Co., Ltd.)
- Dave Pawson (RNIB)
- Steven Pemberton (CWI Amsterdam)
- Simon Pieters (Opera Software)
- Jean-Bernard Piot (4D)
- David Poehlman, Simon Pieters (Opera Software)
- Sarah Pulis (Media Access Australia)
- T.V. Raman (Google, Inc.)
- Jan Richards
- Gregory Rosmaita (Invited Expert)
- Tony Ross (Microsoft Corporation)
- Alex Russell (Dojo Foundation) (
- Mario Sánchez Prada (Samsung Electronics Co., Ltd. and Gnome Foundation)
- Martin Schaus (SAP AG)
- Doug Schepers (W3C)
- Matthias Schmitt
- Marc Silbey (Microsoft Corporation)
- Leif Halvard Sili
- Henri Sivonen (Mozilla)
- Michael Smith (W3C)
- Ville Skyttä
- Henny Swan (BBC)
- Neil Soiffer (Design Science)
- Vitaly Sourikov
- Mike Squillace (IBM)
- Maciej Stachowiak (Apple Inc.)
- Christophe Strobbe
- Suzanne Taylor (Pearson plc)
- Terrill Thompson
- David Todd
- Gregg Vanderheiden (Invited Expert, Trace)
- Anne van Kesteren
- Ryan Williams (Oracle)
- Tom Wlodkowski
- Sam White (Apple Inc.)
10.4.3. Enabling funders
This publication has been funded in part with Federal funds from the U.S. Department of Education, National Institute on Disability and Rehabilitation Research (NIDRR) under contract number ED05CO0039 and ED-OSE-10-C-0067. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.