Back to templates

Template details

ARIA in HTML

W3C specification defining how to apply ARIA attributes to HTML elements for accessible web content.

About this template

ARIA in HTML is a W3C specification by the ARIA Working Group that defines the rules for applying ARIA (Accessible Rich Internet Applications) attributes to HTML elements so assistive technologies can interpret web content. The specification is published at https://w3c.github.io/html-aria/ and maintained in the GitHub repository github.com/w3c/html-aria, with W3C staff contact Daniel Montalvo overseeing the work.

What is ARIA in HTML?

ARIA in HTML is a W3C specification that specifies how ARIA roles, states, and properties (such as role, aria-label, aria-hidden, and aria-live) can be used on HTML elements. It takes the HTML and ARIA specifications as inputs and produces normative conformance rules for both web authors and browser/assistive-technology implementers. The document is developed by the W3C ARIA Working Group, and its source repository tracks issues and pull requests publicly.

What makes ARIA in HTML stand out?

  • Element-specific ARIA rules — Defines exactly which ARIA roles and aria-* attributes are allowed, recommended, or prohibited on each HTML element, such as div, span, button, and input.
  • Author and implementer guidance — Provides separate guidance for content authors writing accessible widgets and for implementers needing to map HTML elements to accessibility APIs.
  • Public issue tracking — The GitHub repository (currently with 203 stars) uses issues and pull requests to collect bug reports and proposed changes from the community.
  • Clear contribution workflow — A CONTRIBUTING.md file plus a documented pull request process require each change to reference an issue, using "closes #issueNumber" to auto-close the issue on merge.
  • W3C governance — The spec is owned by the ARIA Working Group and follows the W3C Code of Ethics and Professional Conduct, giving it formal standards-track weight.
  • Open source repository — The source is hosted at github.com/w3c/html-aria, where anyone can read the latest editor's draft, open issues, and review open pull requests.

Who should use ARIA in HTML?

  • Web developers building custom interactive components (dialogs, menus, tabs) need to know which ARIA role and state attributes are valid on which HTML elements.
  • Accessibility auditors use the spec to check whether ARIA is applied correctly and to cite the specific conformance rule a page violates.
  • Component library authors implement ARIA support in JavaScript frameworks and need element-by-element rules to generate correct, accessible markup.
  • Standards contributors can propose corrections or enhancements by opening a GitHub issue and submitting a pull request that references the issue number.

What can you do with ARIA in HTML?

  • Validate custom widget semantics: Determine whether a div-based slider or tablist uses the correct role and aria-* properties for its HTML context.
  • Decide when to use native HTML vs. ARIA: Learn when a native button or select element is preferable to adding a role attribute manually.
  • Cite conformance rules: Link to this spec in code reviews or accessibility audits to justify why an ARIA pattern is correct or incorrect.
  • Contribute to the standard itself: Report errors or missing ARIA mappings by opening an issue, then submit a pull request that references the issue with a hash (e.g., #112).

How does the contribution process work?

Contribution starts by reading the contributing document at github.com/w3c/html-aria/blob/gh-pages/CONTRIBUTING.md and reviewing the W3C Code of Ethics and Professional Conduct. If no issue exists for your topic, open one first. Create a pull request that references the issue number with a hash (e.g., #112); if the PR will close the issue, write "closes #issueNumber", and the issue auto-closes when merged. For partial resolutions, write "related to #issueNumber".