Skip to content

w3c/aria

Repository files navigation

Accessible Rich Internet Applications (ARIA)

This repository maintains specifications and related publications for the Accessible Rich Internet Applications suite of technologies. This is developed by the ARIA Working Group. The W3C staff contact is Daniel Montalvo. Please do not provide commit access to this repository without coordination.

Specifications in this repository

This repository contains the main deliverable of the ARIA Working Group, Accessible Rich Internet Applications (ARIA), and should be used for issues related to the ARIA spec as well as issues that involve both the ARIA spec in conjunction with other specifications maintained by the ARIA working group. All other specifications maintained by ARIA can be found in this repository as well, however, we have separate issue tracking repos for these separate specifications.

In addition to these specifications, there are other deliverables as specified in the ARIA Charter. Please file issues in the repository specific to the specification or deliverable to which the issue applies.

Contributing to this Repository

Please review the ARIA Process Document for information about how the working group tracks issues and pull request.

Role of Editors

Only formally designated editors have commit access to this repository. Editors are designated by the Working Group Chair and make the following commitments:

  • Execute the consensus of the Working Group regardless of personal opinion;
  • Seek Working Group review of substantive technical issues;
  • In good faith separate editorial issues, which may be addressed without explicit review requests, from substantive issues which require review;
  • Follow the W3C Manual of Style and the Chicago Manual of Style;
  • Follow W3C Editors guidelines.

Non-Editor Contributions

Working Group participants and members of the public without commit privileges may contribute to this repository in the following ways:

Issues can be assigned to people who are members of the ARIA Contributors team. If you are an ARIA Working Group participant and need access, ask Daniel Montalvo.

When preparing GitHub pull requests:

  • Provide a complete summary and description for each pull request. The Working Group needs to understand the rationale for proposed changes. This description may need to be very detailed in some cases, or may be quite brief, for example if providing a change to address a spelling issue.
  • Following the editorial documentation below will help prepare a pull request that is ready for inclusion with minimal editing.
  • Keep it up-to-date with the base branch, for example by selecting "rebase" under the "Update branch options" menu on the GitHub web interface.

When a pull request is accepted by the Working Group, an editor will integrate changes. Pull requests and issues that are accepted by the working group will be merged into the source documents and the commenter will receive a notification from GitHub that the pull request was accepted.

Editorial Documentation

Documents in this repository use the Respec preprocessor.

Special Elements and Classes

Role, State, and Property References

The ARIA spec allows easy generation of links to roles, states, and properties, with the right link and styling. Simply enclose the name of the role, state, or property in the following elements:

  • for roles
  • for states
  • for properties

Note: this only works in the ARIA spec. Other specs must use cross references as defined below.

References to Other ARIA Specs

Links with special class attributes allow cross references into other specs in the suite, which are transformed by the script to be the appropriate target for the given publication, so editors' drafts point to other editors' drafts, and TR publications point to other TR publications. This requires some configuration options in the respecConfig and use of special class attributes.

First, for each document that might be referenced, a set of URLs is provided. The URLs are indexed by values of the respec spec status, which ensures the target at the same level of maturity as the current version is used. A typical set of values for the main ARIA spec is:

// Spec URLs
ariaSpecURLs: {
  "FPWD": "http://www.w3.org/TR/wai-aria-1.3/",
  "ED": "http://w3c.github.io/aria/aria/aria.html",
  "WD": "http://www.w3.org/TR/wai-aria-1.3/",
  "CR": "http://www.w3.org/TR/wai-aria/"
  "CRD": "http://www.w3.org/TR/wai-aria/"
  "PR": "http://www.w3.org/TR/wai-aria/",
  "REC": "http://www.w3.org/TR/wai-aria/"
},

Note that even though some of these URIs are redundant, they must all be defined to work in all circumstances. If a document is a First Public Working Draft but the FPWD variant isn't defined, there won't be a match with the specStatus and the links won't work.

The following properties for cross references are currently available:

  • ariaSpecURLs: for the main ARIA spec
  • coreMappingURLs: for the Core AAM
  • accNameURLs: for the AccName AAM
  • htmlMappingURLs: for the HTML AAM
  • dpubModURLs: for DPUB ARIA
  • graphicsModURL: for Graphics ARIA
  • graphicsMappingModURL: for Graphics AAM
  • practicesURL: for Practices

The task of fixing up links is done by a script that needs to be hooked in via the following line in the respecConfig:

preProcess: [ linkCrossReferences ]

Once all this is defined in the respecConfig, use the class attribute on the links to activate the script for that link. The value of the href should be the fragment you want to target, i.e,. the hash tag and fragment ID. For example, a link to the list of roles in the ARIA spec would be:

<a href="#role_definitions" class="specref">ARIA rolesa>

If you want to target the main spec, leave the href blank (but present). If you want other classes on the link, e.g., for styling, provide them after the script-hooking class, for instance class="specref role-reference".

The set of class values currently defined are:

  • role-reference: ARIA role definitions
  • state-reference: ARIA state definitions
  • property-reference: ARIA property definitions
  • specref: other ARIA references
  • core-mapping: the Core AAM
  • accname: the AccName AAM
  • html-mapping: the HTML AAM
  • dpub-role-reference: DPUB-ARIA role definitions
  • dpub-property-reference: DPUB-ARIA property definitions
  • dpub-state-reference: DPUB-ARIA state definitions
  • dpub: other DPUB-ARIA references
  • graphics-role-reference: Graphics-ARIA role definitions
  • graphics-property-reference: Graphics-ARIA property definitions
  • `graphics-state-reference: Graphics-ARIA state definitions
  • graphics-role-mapping: Graphics role mapping
  • graphics-property-mapping: GRAPHICS property mapping
  • graphics-state-mapping: GRAPHICS staet mapping
  • graphics-mapping: other GRAPHIC mapping references
  • graphics: other Graphics-ARIA references
  • practices: ARIA Practices

References to Other W3C Specs

When referencing other W3C specifications such as HTML and DOM, we can take advantage of ReSpec’s xref feature to automatically generate canonical links in context.

In the text below, for example, xref will automatically convert “[^button^]” into a link to the definition of the

About

Accessible Rich Internet Applications (WAI-ARIA)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 108

Languages