Movatterモバイル変換


[0]ホーム

URL:


W3C

Accessible Rich Internet Applications (WAI-ARIA) 1.3

W3C Editor's Draft

More details about this document
This version:
https://w3c.github.io/aria/
Latest published version:
https://www.w3.org/TR/wai-aria-1.3/
Latest editor's draft:
https://w3c.github.io/aria/
History:
https://www.w3.org/standards/history/wai-aria-1.3/
Commit history
Latest Recommendation:
https://www.w3.org/TR/wai-aria/
Editors:
James Nurthen (Adobe)
Peter Krautzberger (krautzource UG)
Daniel Montalvo (W3C)
Former editors:
Michael Cooper (W3C) (Editor until 2023)
Joanmarie Diggs (Igalia, S.L.) (Editor until 2021)
Shane McCarron (Spec-Ops) (Editor until 2018)
Richard Schwerdtfeger (Knowbility) (Editor until October 2017)
James Craig (Apple Inc.) (Editor until May 2016)
Feedback:
GitHub w3c/aria (pull requests,new issue,open issues)

Copyright © 2013-2025World Wide Web Consortium.W3C®liability,trademark andpermissive document license rules apply.


Abstract

Accessibility of web content requires semantic information about widgets, structures, and behaviors, in order to allow assistive technologies to convey appropriate information to persons with disabilities. This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information to assistive technologies in document-level markup. This version adds features new sinceWAI-ARIA 1.1 [wai-aria-1.1] to improve interoperability with assistive technologies to form a more consistent accessibility model for [HTML] and [SVG2]. This specification complements both [HTML] and [SVG2].

This document is part of theWAI-ARIA suite described in theWAI-ARIA Overview.

Status of This Document

This section describes the status of this document at the time of its publication. A list of currentW3C publications and the latest revision of this technical report can be found in theW3C standards and drafts index.

The Accessible Rich Internet Applications Working Group seeks feedback on any aspect of the specification. When submitting feedback, please consider issues in the context of the companion documents. To comment,file an issue in theW3CARIA GitHub repository. If this is not feasible, send email topublic-aria@w3.org (comment archive). In-progress updates to the document can be viewed in thepublicly visible editors' draft.

This document was published by theAccessible Rich Internet Applications Working Group as an Editor's Draft.

Publication as an Editor's Draft does not imply endorsement byW3C and its Members.

This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than a work in progress.

This document was produced by a group operating under theW3C Patent Policy.W3C maintains apublic list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent that the individual believes containsEssential Claim(s) must disclose the information in accordance withsection 6 of theW3C Patent Policy.

This document is governed by the18 August 2025W3C Process Document.

1.Introduction

This section is non-normative.

The goals of this specification include:

WAI-ARIA is a technical specification that provides a framework to improve the accessibility and interoperability of web content and applications. This document is primarily for developers creating custom widgets and other web application components. Please see theWAI-ARIA Overview for links to related documents for other audiences, such asARIA Authoring Practices Guide that introduces developers to the accessibility problems thatWAI-ARIA is intended to solve, the fundamental concepts, and the technical approach ofWAI-ARIA.

This document currently handles two aspects ofroles: user interface functionality and structuralrelationships. For more information and use cases, seeARIA Authoring Practices Guide for the use of roles in making interactive content accessible.

Roles defined by this specification are designed to support the roles used by platformaccessibilityAPIs. Declaration of these roles on elements within dynamic web content is intended to support interoperability between the web content and assistive technologies that utilizeaccessibilityAPIs.

The schema to support this standard has been designed to be extensible so that custom roles can be created by extending base roles. This allowsuser agents to support at least the base role, and user agents that support the custom role can provide enhanced access. Note that much of this could be formalized in [XMLSCHEMA11-2]. However, being able to define similarities between roles, such asbaseConcepts and more descriptive definitions, would not be available inXSD.

WAI-ARIA 1.2 is a member of theWAI-ARIA 1.2 suite that defines how to expose semantics ofWAI-ARIA and other web content languages toaccessibilityAPIs.

1.1Rich Internet Application Accessibility

The domain of web accessibility defines how to make web content usable by persons with disabilities. Persons with certain types of disabilities useassistive technologies (AT) to interact with content. Assistive technologies can transform the presentation of content into a format more suitable to the user, and can allow the user to interact in different ways. For example, the user might need to, or choose to, interact with a slider widget via arrow keys, instead of dragging and dropping with a mouse. In order to accomplish this effectively, the software needs to understand thesemantics of the content. Semantics is the science of meaning; in this case, used to assign roles, states, and properties that apply to user interface and content elements as a human would understand. For instance, if a paragraph is semantically identified as such, assistive technologies can interact with it as a unit separable from the rest of the content, knowing the exact boundaries of that paragraph. An adjustable range slider or collapsible list (a.k.a. a treewidget) are more complex examples, in which various parts of the widget have semantics that need to be properly identified for assistive technologies to support effective interaction.

New technologies often overlook semantics required for accessibility, and new authoring practices often misuse the intended semantics of those technologies.Elements that have one defined meaning in the language are used with a different meaning intended to be understood by the user.

For example, web application developers create collapsible tree widgets inHTML usingCSS and JavaScript even thoughHTML has no semantictree element. To a non-disabled user, it might look and act like a collapsible tree widget, but without appropriate semantics, the tree widget might not beperceivable to, oroperable by, a person with a disability because assistive technologies might not recognize the role. Similarly, web application developers create interactive button widgets inSVG using JavaScript even thoughSVG has no semanticbutton element. To a non-disabled user, it might look and act like a button widget, but without appropriate semantics, the button widget might not beperceivable to, oroperable by, a person with a disability because assistive technologies might not recognize the role.

The incorporation ofWAI-ARIA is a way for an author to provide proper semantics for custom widgets to make these widgets accessible, usable, and interoperable with assistive technologies. This specification identifies the types of widgets and structures that are commonly recognized by accessibility products, by providing anontology of correspondingroles that can be attached to content. This allows elements with a given role to be understood as a particular widget or structural type regardless of any semantics inherited from the implementinghost language. Roles are a common property of platformaccessibilityAPIs which assistive technologies use to provide the user with effective presentation and interaction.

The Roles Model includes interactionwidgets and elements denoting document structure. The Roles Model describes inheritance and details theattributes each role supports. Information about mapping of roles to accessibilityAPIs is provided by theCore AccessibilityAPI Mappings [CORE-AAM-1.2].

Roles are element types and will not change with time or user actions. Role information is used by assistive technologies, through interaction with the user agent, to provide normal processing of the specified element type.

States and properties are used to declare important attributes of an element that affect and describe interaction. They enable theuser agent and operating system to properly handle the element even when the attributes are dynamically changed by client-side scripts. For example, alternative input and output technology, such as screen readers and speech dictation software, need to be able to recognize and effectively manipulate and communicate various interaction states (e.g., disabled, checked) to the user.

While it is possible for assistive technologies to access these properties directly through theDocument Object Model [DOM], the preferred mechanism is for the user agent to map the states and properties to the accessibilityAPI of the operating system. See theCore AccessibilityAPI Mappings [CORE-AAM-1.2] and theAccessible Name and Description Computation [ACCNAME-1.2] for details.

Figure1 illustrates the relationship between user agents (e.g., browsers), accessibilityAPIs, and assistive technologies. It describes the "contract" provided by the user agent to assistive technologies, which includes typical accessibility information found in the accessibilityAPI for many of our accessible platforms for GUIs (role, state, selection,event notification,relationship information, and descriptions). TheDOM, usuallyHTML, acts as the data model and view in a typical model-view-controller relationship, and JavaScript acts as the controller by manipulating the style and content of the displayed data. The user agent conveys relevant information to the operating system's accessibilityAPI, which can be used by any assistive technologies, such as screen readers.

The contract model with accessibility APIs
Figure1The contract model with accessibilityAPIs

For more information seeARIA Authoring Practices Guide for the use of roles in making interactive content accessible.

Users of alternate input devices needkeyboard accessible content. The new semantics, when combined with the recommended keyboard interactions provided inARIA Authoring Practices Guide, will allow alternate input solutions to facilitate command and control via an alternate input solution.

WAI-ARIA introduces navigationallandmarks through its Roles Model and theXHTML role landmarks, which can help persons with dexterity and vision impairments by providing for improved keyboard navigation.WAI-ARIA can also be used to assist persons with cognitive learning disabilities. The additional semantics allow authors to restructure and substitute alternative content as needed.

Assistive technologies need the ability to support alternative inputs by getting and setting the current value ofwidget states and properties. Assistive technologies also need to determine whatobjects are selected and manage widgets that allow multiple selections, such as list boxes and grids.

Speech-based command and control systems can benefit fromWAI-ARIA semantics like therole attribute to assist in conveying audio information to the user. For example, upon encountering an element with a role ofmenu with child elements of rolemenuitem each containing text content representing a different flavor, a speech system might state to the user, "Select one of three choices: chocolate, strawberry, or vanilla."

WAI-ARIA is intended to be used as a supplement for native language semantics, not a replacement. When the host language provides a feature that provides equivalent accessibility to theWAI-ARIA feature, use the host language feature.WAI-ARIA should only be used in cases where the host language lacks the neededrole,state, andproperty indicators. Use a host language feature that is as similar as possible to theWAI-ARIA feature, then refine the meaning by addingWAI-ARIA. For instance, a multi-selectable grid could be implemented as a table, and thenWAI-ARIA used to clarify that it is an interactive grid, not just a static data table. This allows for the best possible fallback for user agents that do not supportWAI-ARIA and preserves the integrity of the host language semantics.

1.2Target Audience

This specification defines the basic model forWAI-ARIA, including roles, states, properties, and values. It impacts several audiences:

Each conformance requirement indicates the audience to which it applies.

Although this specification is applicable to the above audiences, it is not specifically targeted to, nor is it intended to be the sole source of information for, any of these audiences. The following documents provide important supporting information:

1.3User Agent Support

WAI-ARIA relies on user agent support for its features in two ways:

Aside from usingWAI-ARIA markup to improve what is exposed to accessibilityAPIs, user agents behave as they would natively. Assistive technologies react to the extra information in the accessibilityAPI as they already do for the same information on non-web content. User agents that are not assistive technologies, however, need do nothing beyond providing appropriate updates to the accessibilityAPI.

TheWAI-ARIA specification neither requires nor forbids user agents from enhancing native presentation and interaction behaviors on the basis ofWAI-ARIA markup. Mainstream user agents might exposeWAI-ARIA navigational landmarks (for example, as a dialog box or through a keyboard command) with the intention to facilitate navigation for all users. User agents are encouraged to maximize their usefulness to users, including users without disabilities.

WAI-ARIA is intended to provide missing semantics so that the intent of the author can be conveyed to assistive technologies. Generally, authors usingWAI-ARIA will provide the appropriate presentation and interaction features. Over time, host languages can addWAI-ARIA equivalents, such as new form controls, that are implemented as standard accessible user interface controls by the user agent. This allows authors to use them instead of customWAI-ARIA enabled user interface components. In this case the user agent would support the native host language feature. Developers of host languages that implementWAI-ARIA are advised to continue supportingWAI-ARIA semantics when they do not adversely conflict with implicit host language semantics, asWAI-ARIA semantics more clearly reflect the intent of the author if the host language features are inadequate to meet the author's needs.

1.4Co-Evolution ofWAI-ARIA and Host Languages

WAI-ARIA is intended to be used as an accessibility enhancement technology in markup-basedhost languages. Examples include [HTML] and [SVG2], which both explicitly support the use ofARIA.

ARIA roles and properties clarify semantics to assistive technologies when authors create new types of objects, via style and script, that are not yet directly supported by the language of the page, because the invention of new types of objects is faster than standardized support for them appears in web languages.

It is not appropriate to create objects with style and script when the host language provides a semantic element for that type of object. WhileWAI-ARIA can improve the accessibility of these objects, accessibility is best provided by allowing the user agent to handle the object natively. For example, it's better to use anh1 element inHTML than to use theheading role on adiv element.

It is expected that, over time, host languages will evolve to provide semantics for objects that currently can only be declared withWAI-ARIA. This is natural and desirable, as one goal ofWAI-ARIA is to help stimulate the emergence of more semantic and accessible markup. When native semantics for a given feature become available, it is appropriate for authors to use the native feature and stop usingWAI-ARIA for that feature. Legacy content can continue to useWAI-ARIA, however, so the need for user agents to supportWAI-ARIA remains.

While specific features ofWAI-ARIA might lose importance over time, the general possibility ofWAI-ARIA to add semantics to web pages is expected to be a persistent need. Host languages might not implement all the semanticsWAI-ARIA provides, and various host languages can implement different subsets of the features. New types of objects are continually being developed, and one goal ofWAI-ARIA is to provide a way to make such objects accessible, because authoring practices often advance faster than host language standards. In this way,WAI-ARIA and host languages both evolve together but at different rates.

Some host languages exist to create semantics for features other than the user interface. For example,SVG expresses the semantics behind production of graphical objects, not of user interface components that those objects can represent. Host languages might, by design, not provide native semantics that map toWAI-ARIA features. In these cases,WAI-ARIA could be adopted as a long-term approach to add semantic information to user interface components.

1.5Authoring Practices

1.5.1Authoring Tools

Many of the requirements in the definitions ofWAI-ARIAroles,states, andproperties can be checked automatically during the development process, similar to other quality control processes used for validating code. To assist authors who are creating custom widgets, authoring tools can compare widget roles, states, and properties to those supported inWAI-ARIA as well as those supported in related and cross-referenced roles, states, and properties. Authoring tools can notify authors of errors in widget design patterns, and can also prompt developers for information that cannot be determined from context alone. For example, a scripting library can determine the labels for the tree items in a tree view, but would need to prompt the author to label the entire tree. To help authors visualize a logical accessibility structure, an authoring environment might provide an outline view of a web resource based on theWAI-ARIA markup.

In bothHTML andSVG,tabindex is an important way browsers support keyboardfocus navigation for implementations ofWAI-ARIA; authoring and debugging tools can check to make suretabindex values are properly set. For example, error conditions can include cases where more than one treeitem in a tree has atabindex value greater than or equal to 0, wheretabindex is not set on any treeitem, or wherearia-activedescendant is not defined when the element with the role tree has atabindex value of greater than or equal to 0.

1.5.2Testing Practices and Tools

The accessibility of interactive content cannot be confirmed by static checks alone. Developers of interactive content should test for device-independent access towidgets and applications, and should verify accessibilityAPI access to all content and changes during user interaction.

1.6Assistive Technologies

Programmatic access to accessibility semantics is essential for assistive technologies. Most assistive technologies interact with user agents, like other applications, through a recognized accessibilityAPI. Perceivable objects in the user interface are exposed to assistive technologies as accessible objects, defined by the accessibilityAPI interfaces. To do this properly, accessibility information – role, states, properties as well as contextual information – needs to be accurately conveyed to the assistive technologies through the accessibilityAPI. When a state change occurs, the user agent provides the appropriate event notification to the accessibilityAPI. Contextual information, in many host languages likeHTML, can be determined from theDOM itself as it provides a contextual tree hierarchy.

While some assistive technologies interact with these accessibilityAPIs, others might access the content directly from theDOM. These technologies can restructure, simplify, style, or reflow the content to help a different set of users. Common use cases for these types of adaptations might be the aging population, persons with cognitive impairments, or persons in environments that interfere with use of their tools. For example, the availability of regional navigational landmarks can allow for a mobile device adaptation that shows only portions of the content at any one time based on its semantics. This could reduce the amount of information the user needs to process at any one time. In other situations it might be appropriate to replace a custom user interface control with something that is easier to navigate with a keyboard, or touch screen device.

2.Important Terms

This section is non-normative.

While some terms are defined in place, the following definitions are used throughout this document.

AccessibilityAPI

Operating systems and other platforms provide a set of interfaces that expose information aboutobjects andevents toassistive technologies. Assistive technologies use these interfaces to get information about and interact with thosewidgets. Examples of accessibilityAPIs areMicrosoft Active Accessibility [MSAA],Microsoft User Interface Automation [UI-AUTOMATION],MSAA withUIA Express [UIA-EXPRESS], theMacOS X Accessibility Protocol [AXAPI], theLinux/Unix Accessibility Toolkit [ATK] andAssistive Technology Service Provider Interface [AT-SPI], andIAccessible2 [IAccessible2].

Accessible object

Anode in theaccessibility tree of a platformaccessibilityAPI. Accessible objects expose variousstates,properties, andevents for use byassistive technologies. In the context of markup languages (e.g.,HTML andSVG) in general, and ofWAI-ARIA in particular, markupelements and theirattributes are represented as accessible objects.

Assistive Technologies

Hardware and/or software that:

This definition might differ from that used in other documents.

Examples of assistive technologies that are important in the context of this document include the following:

Deprecated

A deprecatedrole,state, orproperty is one which has been outdated by newer constructs or changed circumstances, and which might be removed in future versions of theWAI-ARIA specification.user agents are encouraged to continue to support items identified as deprecated for backward compatibility. For more information, seeDeprecated Requirements in the Conformance section.

Defines

Used in an attribute description to denote that the valuetype is aninteger,number, orstring.

Related Terms:Identifies,Indicates

Desktop focus event

Event from/to the host operating system via the accessibilityAPI, notifying of a change of input focus.

Event

A programmatic message used to communicate discrete changes in thestate of anobject to other objects in a computational system. User input to a web page is commonly mediated through abstract events that describe the interaction and can provide notice of changes to the state of a document object. In some programming languages, events are more commonly known as notifications.

Expose

Translated to platform-specificaccessibilityAPIs as defined in theCore AccessibilityAPI Mappings.

Focusable

An element or area matching the definition offocusable area in theHTML Specification.

Graphical Document

A document containing graphic representations with user-navigable parts. Charts, maps, diagrams, blueprints, and dashboards are examples of graphical documents. A graphical document is composed using any combination of symbols, images, text, and graphic primitives (shapes such as circles, points, lines, paths, rectangles, etc).

Hidden

Indicates that theelement is excluded from the accessibility tree and therefore not exposed to accessibilityAPIs.

Related:Excluding Elements in the Accessibility Tree,hidden from all users,aria-hidden.

Hidden From All Users

Indicates that theelement is not visible,perceivable, or interactive forany user. Note that anelement can behidden but nothidden from all users by usingaria-hidden.

Related:Excluding Elements in the Accessibility Tree,hidden,aria-hidden.

Identifies

Used in an attribute description to denote that the valuetype is anID reference (identifying a single element) orID reference list (identifying one or more elements).

Related Terms:Defines,Indicates

Indicates

Used in an attribute description to denote that the valuetype is a named token or otherwise token-like, including the Boolean-liketrue/false,true/false/undefined,tristate (true/false/mixed), a single namedtoken, or atoken list.

Related Terms:Defines,Identifies

Keyboard Accessible

Accessible to the user using a keyboard orassistive technologies that mimic keyboard input, such as a sip and puff tube. References in this document relate toWCAG 2.1 Guideline 2.1: Make all functionality available from a keyboard [WCAG21].

Landmark

A type of region on a page to which the user might want quick access. Content in such a region is different from that of other regions on the page and relevant to a specific user purpose, such as navigating, searching, perusing the primary content, etc.

Live Region

Live regions are perceivable regions of a web page that are typically updated as a result of an external event. These regions are not always updated as a result of a user interaction and can receive these updates even when they do not have focus. Examples of live regions include a chat log, stock ticker, or a sport scoring section that updates periodically to reflect game statistics. Since these asynchronous areas are expected to update outside the user's area of focus, assistive technologies such as screen readers have either been unaware of their existence or unable to process them for the user.WAI-ARIA has provided a collection of properties that allow the author to identify these live regions and process them: aria-live, aria-relevant, aria-atomic, and aria-busy.

Managed State

AccessibilityAPIstate that is controlled by the user agent, such as focus and selection. These are contrasted with "unmanaged states" that are typically controlled by the author. Nevertheless, authors can override some managed states, such as aria-posinset and aria-setsize. Many managed states have correspondingCSS pseudo-classes, such as :focus, and pseudo-elements, such as ::selection, that are also updated by the user agent.

Nemeth Braille

The Nemeth Braille Code for Mathematics is a braille code for encoding mathematical and scientific notation. SeeNemeth Braille on Wikipedia.

Object

In the context of user interfaces, an item in the perceptual user experience, represented in markup languages by one or moreelements, and rendered byuser agents.

In the context of programming, the instantiation of one or more classes and interfaces which define the general characteristics of similar objects. An object in anaccessibilityAPI can represent one or moreDOM objects.AccessibilityAPIs have defined interfaces that are distinct fromDOM interfaces.
Ontology

A description of the characteristics of classes and how they relate to each other.

Operable

Usable by users in ways they can control. References in this document relate toWCAG 2.1 Principle 2: Content must be operable [WCAG21]. SeeKeyboard Accessible.

Perceivable

Presentable to users in ways they can sense. References in this document relate toWCAG 2.1 Principle 1: Content must be perceivable [WCAG21].

Property

attributes that are essential to the nature of a givenobject, or that represent a data value associated with the object. A change of a property can significantly impact the meaning or presentation of an object. Certain properties (for example,aria-multiline) are less likely to change thanstates, but note that the frequency of change difference is not a rule. A few properties, such asaria-activedescendant,aria-valuenow, andaria-valuetext are expected to change often. Seeclarification of states versus properties.

Relationship

A connection between two distinct things. Relationships can be of various types to indicate whichobject labels another, controls another, etc.

Role

Main indicator of type. Thissemantic association allows tools to present and support interaction with the object in a manner that is consistent with user expectations about other objects of that type.

Semantics

The meaning of something as understood by a human, defined in a way that computers can process a representation of anobject, such aselements andattributes, and reliably represent the object in a way that various humans will achieve a mutually consistent understanding of the object.

State

A state is a dynamicproperty expressing characteristics of anobject that can change in response to user action or automated processes. States do not affect the essential nature of the object, but represent data associated with the object or user interaction possibilities. Seeclarification of states versus properties.

Target Element

An element specified in aWAI-ARIA relation. For example, in <div aria-controls=”elem1”>, where“elem1” is the ID for the target element.

Unicode Braille Patterns

In Unicode, braille is represented in a block called Braille Patterns (U+2800..U+28FF). The block contains all 256 possible patterns of an 8-dot braille cell; this includes the complete 6-dot cell range which is represented by U+2800..U+283F. In all braille systems, the braille pattern dots-0 (U+2800) is used to represent a space or the lack of content; it is also called a blank Braille pattern. SeeBraille Patterns on Wikipedia.

Widget

Discrete user interfaceobject with which the user can interact. Widgets range from simple objects that have one value or operation (e.g., check boxes and menu items), to complex objects that contain many managed sub-objects (e.g., trees and grids).

3.Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key wordsMAY,MUST,MUST NOT,SHOULD, andSHOULD NOT in this document are to be interpreted as described inBCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

The main content of this specification is "normative" and defines requirements that impact conformance claims. Introductory material, appendices, sections marked as "non-normative" and their subsections, diagrams, examples, and notes are "informative" (non-normative). Non-normative material provides advisory information to help interpret the guidelines but does not create requirements that impact a conformance claim.

Normative sections provide requirements that authors, user agents and assistive technologiesMUST follow for an implementation to conform to this specification.

Non-normative (informative) sections provide information useful to understanding the specification. Such sections may contain examples of recommended practice, but it is not required to follow such recommendations in order to conform to this specification.

3.1Non-interference with the Host Language

WAI-ARIA processing by theuser agentMUST NOT interfere with the normal operation of the built-in features of the host language.

If aCSS selector includes aWAI-ARIA attribute (e.g.,input[aria-invalid="true"]), user agentsMUST update the visual display of any elements matching (or no longer matching) the selector any time the attribute is added/changed/removed in theDOM. The user agentMAY alter the mapping of the host language features into anaccessibilityAPI, but the user agentMUST NOT alter theDOM in order to remapWAI-ARIA markup into host language features.

3.2AllWAI-ARIA inDOM

A conforminguser agent which implements a document object model that does not conform to theW3CDOM specificationMUST include the content attribute for role and itsWAI-ARIA role values, as well as theWAI-ARIA States and Properties in theDOM as specified by the author, even though processing might affect how the elements are exposed to accessibilityAPIs. Doing so ensures that each role attribute and allWAI-ARIA states and properties, including their values, are in the document in an unmodified form so other tools, such as assistive technologies, can access them. A conformingW3CDOM meets this criterion.

3.3Assistive Technology Notifications Communicated to Web Applications

Assistive technologies, such as speech recognition systems and alternate input devices for users with mobility impairments, require the ability to control a web application in a device-independent way.WAI-ARIAstates andproperties reflect the current state of rich internet application components. The ability for assistive technologies to notify web applications of necessary changes is essential because it allows these alternative input solutions to control an application without being dependent on the standard input device which the user is unable to effectively control directly.

User agentsMUST provide a method to notify the web application when a change occurs to states or properties in the system accessibilityAPI. Likewise, authorsSHOULD update the web application accordingly when notified of a change request from the user agent or assistive technology.

3.4Conformance Checkers

Any application or script verifying document conformance or validitySHOULD include a test for all of the normative author requirements in this specification. If testing for a given requirement, conformance checkersMUST issue an error if an author "MUST" requirement isn't met, andMUST issue a warning if an author "SHOULD" requirement isn't met.

3.5Deprecated Requirements

As the technology evolves, sometimes new ways to meet a use case become available, that work better than a feature that was previously defined. But because of existing implementation of the older feature, that feature cannot be removed from the conformance model without rendering formerly conforming content non-conforming. In this case, the older feature is marked as "deprecated". This indicates that the feature is allowed in the conformance model and expected to be supported by user agents, but it is recommended that authors do not use it for new content. In future versions of the specification, if the feature is no longer widely used, the feature could be removed and no longer expected to be supported by user agents.

4.UsingWAI-ARIA

Complex web applications become inaccessible whenassistive technologies cannot determine thesemantics behind portions of a document or when the user is unable to effectively navigate to all parts of it in a usable way (seeARIA Authoring Practices Guide).WAI-ARIA divides the semantics intoroles (the type defining a user interface element) andstates andproperties supported by the roles.

Authors need to associateelements in the document to aWAI-ARIA role and the appropriate states and properties (aria-*attributes) during its life-cycle, unless the elements already have the appropriateimplicitWAI-ARIA semantics for states and properties. In these instances the equivalent host language states and properties take precedence to avoid a conflict while the role attribute will take precedence over the implicit role of the host language element.

4.1WAI-ARIA Roles

AWAI-ARIArole is set on anelement using aroleattribute, similar to therole attribute defined inRole Attribute [ROLE-ATTRIBUTE].

Example 1
<lirole="menuitem">Open file…</li>

The definition of each role in the model provides the following information :

Attaching a role givesassistive technologies information about how to handle each element. WhenWAI-ARIA roles override host language semantics, there are no changes in theDOM, only in theaccessibility tree.

User agentsMUST use the first token in the sequence of tokens in theroleattribute value that matches the name of any non-abstractWAI-ARIArole. Refer to the section onrole attribute implementation in Host Languages for further details.

4.2WAI-ARIA States and Properties

WAI-ARIA provides a collection of accessibilitystates andproperties which are used to support platformaccessibilityAPIs on various operating system platforms.Assistive technologies can access this information through an exposeduser agentDOM or through a mapping to the platform accessibilityAPI. When combined withroles, the user agent can supply the assistive technologies with user interface information to convey to the user at any time. Changes in states or properties will result in a notification to assistive technologies, which could alert the user that a change has occurred.

In the following example, a list item (html:li) has been used to create a checkable menu item, and JavaScriptevents will capture mouse and keyboard events to toggle the value ofaria-checked. A role is used to make the behavior of this simplewidget known to the user agent.Attributes that change with user actions (such asaria-checked) are defined in thestates and properties section.

Example 2
<lirole="menuitemcheckbox"aria-checked="true">Sort by Last Modified</li>

Some accessibility states, calledmanaged states, are controlled by the user agent. Examples of managed state include keyboard focus and selection. Managed states often have correspondingCSS pseudo-classes (such as:focus and::selection) to define style changes. In contrast, the states in this specification are typically controlled by the author and are calledunmanaged states. Some states are managed by the user agent, such asaria-posinset andaria-setsize, but the author can override them if theDOM is incomplete and would cause the user agent calculation to be incorrect. User agents map both managed and unmanaged states to the platform accessibilityAPIs.

Most modern user agents supportCSS attribute selectors ([CSS3-SELECTORS]), and can allow the author to createUI changes based onWAI-ARIA attribute information, reducing the amount of scripts necessary to achieve equivalent functionality. In the following example, aCSS selector is used to determine whether or not the text is bold and an image of a check mark is shown, based on the value of thearia-checked attribute.

Example 3
[aria-checked="true"] {font-weight: bold; }[aria-checked="true"]::before {background-image:url(checked.gif); }

IfCSS is not used to toggle the visual representation of the check mark, the author could include additional markup and scripts to manage an image that represents whether or not themenuitemcheckbox is checked.

Example 4
<lirole="menuitemcheckbox"aria-checked="true"><imgsrc="checked.gif"alt=""><!--note: additional scripts required to toggle image source -->  Sort by Last Modified</li>

4.3Managing Focus and Supporting Keyboard Navigation

When using standardHTML interactive elements and simpleWAI-ARIAwidgets, application developers can manipulate the tab order or associate keyboard shortcuts with elements in the document.

WAI-ARIA includes a number of "managing container" widgets, also known as "composite" widgets. When appropriate, the container is responsible for tracking the last descendant that was active (the default is usually the first item in the container). It is essential that a container maintain a usable and consistent strategy when focus leaves a container and is then later refocused. While there can be exceptions, it is recommended that when a previously focused container is refocused, the active descendant be the same element as the active descendant when the container was last focused. Exceptions include cases where the contents of a container widget have changed, and widgets like a menubar where the user expects to always return to the first item when focus leaves the menu bar. For example, if the second item of a tree group was the active descendant when the user tabbed out of the tree group, then the second item of the tree group remains the active descendant when the tree group gets focus again. The user can also activate the container by clicking on one of the descendants within it. When the container or its active descendant has focus, the user can navigate through the container by pressing additional keys, such as the arrow keys, to change the currently active descendant. Any additional press of the main navigation key (generally theTAB key) will move out of the container to the next widget.

Usable keyboard navigation in a rich internet application is different from the tabbing paradigm among interactive elements, such as links and form controls, in a static document. In rich internet applications, the user tabs to significantly complexwidgets, such as a menu or spreadsheet, and uses the arrow keys to navigate within the widget. The changes thatWAI-ARIA introduces to keyboard navigation make this enhanced accessibility possible. InWAI-ARIA, any element can be keyboard focusable. In addition to host language mechanisms such astabindex,aria-activedescendant provides another mechanism for keyboard operation. Most other aspects ofWAI-ARIA widget development depend on keyboard navigation functioning properly.

When implementingaria-activedescendant as described below, the user agent keeps theDOM focus on the container element or on an input element that controls the container element. However, the user agent communicatesdesktop focus events and states to the assistive technology as if the element referenced byaria-activedescendant has focus. User agents are not expected to validate that the active descendant is a descendant of the container element. It is the responsibility of the user agent to ensure that keyboard events are processed at theelement that hasDOM focus. Any keyboard events directed at the active descendant bubble up to theDOM element with focus for processing.

4.3.1Information for Authors

If the author removes the element with focus, the authorSHOULD move focus to a logical element. Similarly, authorsSHOULD not scroll the element with focus off screen unless the user performed a scrolling action.

AuthorsSHOULD ensure that all interactiveelements arefocusable and that all parts of composite widgets are either focusable or have a documented alternative method to achieve their function.

AuthorsMUST manage focus on the following container roles:

User agents that supportWAI-ARIA expand the usage of host language mechanisms such astabindex,focus, andblur to allow them on allelements. Where the host language supports it, authorsMAY add any element such as adiv,span, orimg to the default tab order by settingtabindex="0". In addition, any item withtabindex equal to a negative integer is focusable via script or a mouse click, but is not part of the default tab order. This is supported in both [HTML] and [SVG2].

AuthorsMAY usearia-activedescendant to informassistive technologies which descendant of awidget element is treated as having keyboard focus in the user interface if the role of the widget element supportsaria-activedescendant. This is often a more convenient way of providing keyboard navigation within widgets, such as alistbox, where the widget occupies only one stop in the pageTab sequence and other keys, typically arrow keys, are used to focus elements inside the widget.

Typically, the author will use host languagesemantics to put the widget in theTab sequence (e.g.,tabindex="0" inHTML) andaria-activedescendant to point to the ID of the currently active descendant. The author, not the user agent, is responsible for styling the currently active descendant to show it has keyboard focus. The author cannot use:focus to style the currently active descendant since the actual focus is on the container.

More information on managing focus can be found in theDeveloping a Keyboard Interface section of theWAI-ARIA Authoring Practices.

4.3.2Information for User Agents

The user agentMUST do the following to implementaria-activedescendant:

  1. Implement the host language method for keyboard navigation so that widgets that supportaria-activedescendant can be included in the tab order.
  2. For platforms that exposedesktop focus oraccessibilityAPI focus separately fromDOM focus, do not expose the focused state in the accessibilityAPI for any element when it hasDOM focus and also hasaria-activedescendant which points to a validID reference.
  3. When thearia-activedescendant attribute changes on an element that currently hasDOM focus, remove the focused state from the previously focused object and fire an accessibilityAPIdesktop focus event on the new element referenced byaria-activedescendant. Ifaria-activedescendant is cleared or does not point to an element in the current document, fire a desktop focus event for theobject that had the attribute change.
  4. Apply the following accessibilityAPI states to any element with an ID attribute that can be referenced by an element with both anaria-activedescendant attribute and hasDOM focus. There are two ways an element can be referenced byaria-activedescendant. One way is when it is anaccessibility descendant of the element witharia-activedescendant and the other is when it is anaccessibility descendant of an element that is controlled by an element with role ofcombobox,textbox orsearchbox with anaria-activedescendant attribute:
    1. Focusable, if the element also has aWAI-ARIArole. The element needs to be focusable because it could be referenced by thearia-activedescendant attribute. Native elements that have norole attribute do not need to be checked; their native semantics determine the focusable state.
    2. Focused, whenever the element is the target of thearia-activedescendant attribute and the element with thearia-activedescendant attribute hasDOM focus.

When an assistive technology uses its platform's accessibilityAPI to request a change of focus, user agentsMUST do the following:

  1. Remove the platform's focused state from the previously focused object.
  2. Set theDOM focus:
    1. If theelement can takeDOM focus, theuser agentMUST set theDOM focus to it.
    2. Otherwise, if the element being focused has an ID and the ID is referenced by thearia-activedescendant attribute of an element that is focusable, the user agentMUST setDOM focus to the element that has thearia-activedescendant attribute.
      Note

      An element with an ID can be referenced when it is anaccessibility descendant of a container element that has thearia-activedescendant attribute or by a container element that is controlled by an element that has thearia-activedescendant attribute (e.g., seecombobox). Otherwise thearia-activedescendant attribute reference indicates an author error.

    3. Otherwise, the user agentMAY attempt to setDOM focus to the child element itself.
  3. If the element being focused has an ID and is anaccessibility descendant of either a container element with both anaria-activedescendant attribute and hasDOM focus, or by a container element that is controlled by an element with both anaria-activedescendant attribute and hasDOM focus, the user agentMUST set the accessibilityAPI focused state and fire an accessibilityAPI focusevent on the element identified by the value ofaria-activedescendant.

5.The Roles Model

This section definesWAI-ARIAroles and describes their characteristics and properties.

The roles, their characteristics, the states and properties they support, and specification of how they can be used in markup, shall be considered normative.

In order to reflect the content in theDOM, user agentsSHOULD map the role attribute to the appropriate value in the implemented accessibilityAPI, and user agentsSHOULD update the mapping when the role attribute changes.

5.1Relationships Between Concepts

The Roles Model uses the following relationships to relateWAI-ARIA roles to each other and to concepts from other specifications, such asHTML.

5.1.1Superclass Role

Therole that the current subclassed role extends in the Roles Model. This extension causes all the states and properties of the superclass role to propagate to the subclass role. Other than well known stable specifications, inheritance can be restricted to items defined inside this specification, so that external items cannot be changed and affect inherited classes.

5.1.2Subclass Roles

Informative list ofroles for which this role is the superclass. This is provided to facilitate reading of the specification but adds no new information.

5.1.3Related Concepts

Informative data about a similar or related idea from other specifications. Concepts that are related are not necessarily identical. Related concepts do not inherit properties from each other. Hence if the definition of one concept changes, the properties, behavior, and definition of its related concept is not affected.

For example, a progress bar is like a status indicator. Therefore, theprogressbarwidget has a related concept which includesstatus. However, if the definition ofstatus is modified, the definition of aprogressbar is not affected.

5.1.4Base Concept

Informative data aboutobjects that are considered prototypes for therole. Base concept is similar to type, but without inheritance of limitations and properties. Base concepts are designed as a substitute for inheritance for external concepts. A base concept is like arelated concept except that the base concept is almost identical to the role definition.

For example, thecheckbox defined in this document has similar functionality and anticipated behavior to a<input type="checkbox"> defined inHTML. Therefore, acheckbox has an [HTML]checkbox as abaseConcept. However, if the original [HTML] checkbox baseConcept definition is modified, the definition of acheckbox in this document will not be affected, because there is no actual inheritance of the respective type.

5.2Characteristics of Roles

Roles are defined and described by their characteristics. Characteristics define the structural function of a role, such as what a role is, concepts behind it, and what instances the role can or must contain. In the case ofwidgets this also includes how it interacts with theuser agent based on mapping toHTML forms. States and properties fromWAI-ARIA that are supported by the role are also indicated.

Roles define the following characteristics.

5.2.1Abstract Roles

Abstractroles are the foundation upon which all otherWAI-ARIA roles are built. AuthorsMUST NOT use abstract roles because they are not implemented in theAPI binding. User agentsMUST NOT map abstract roles to the standard role mechanism of the accessibilityAPI. Abstract roles are provided to help with the following:

  1. Organize the Roles Model and provide roles with a meaning in the context of known concepts.
  2. Streamline the addition of roles that include necessary features.

5.2.2Required States and Properties

States andproperties specifically required for therole and subclass roles. AuthorsMUST provide a non-emptyvalue for required states and properties. AuthorsMUST NOT use the valueundefined for required states and properties, unlessundefined is an explicitly-supported value of that state or property.

When anobject inherits from multiple ancestors and one ancestor indicates that property is supported while another ancestor indicates that it is required, the property is required in the inheriting object.

Note

A host language attribute with the appropriateimplicitWAI-ARIA semantic fulfills this requirement.

5.2.3Supported States and Properties

States andproperties specifically applicable to therole and child roles. AuthorsMAY providevalues for supported states and properties, but need not in cases where default values are sufficient.user agentsMUST map all supported states and properties for the role to an accessibilityAPI. If the state or property is undefined and it has a default value for the role,user agentsSHOULD expose the default value.

Note

A host language attribute with the appropriateimplicitWAI-ARIA semantic fulfills this requirement.

5.2.4Inherited States and Properties

Informative list of properties that are inherited by arole from superclass roles.States andproperties are inherited from superclass roles in the Roles Model, not from ancestorelements in theDOM tree. These properties are not explicitly defined on the role, as the inheritance of properties is automatic. This information is provided to facilitate reading of the specification. The set of supported states and properties combined with inherited states and properties forms the full set of states and properties supported by the role.

5.2.5Prohibited States and Properties

List of states and properties that are prohibited on arole. AuthorsMUST NOT specify a prohibited state or property.

Note

A host language attribute with the appropriateimplicitWAI-ARIA semantic would also prohibit a state or property in this section.

5.2.6Allowed Accessibility Child Roles

A list of roles which are allowed on anaccessibility child (simplified as "child") of the element with thisrole. AuthorsMUST only add child element with allowed roles. For example, an element with the rolelist can own child elements with the rolelistitem, but cannot own elements with the roleoption.

To determine whether an element is thechild of an element,user agentsMUST ignore any intervening elements with the rolegeneric ornone.

Descendants which are not children of an element ancestor are not constrained byallowed accessibility child roles. For example, animage is not an allowed child of alist, but it is a valid descendant if it is also a descendant of thelist's allowed childlistitem.

Note

A role that has 'allowed accessibility child roles' does not imply the reverse relationship. Elements with roles in this list do not always have to be found within elements of the given role. Seerequired accessibility parent roles for requirements about the context where elements of a given role will be contained.

Note

An element with asubclass role of the 'allowed accessibility child role' does not fulfill this requirement. For example, thelistbox role allows a child element using theoption orgroup role. Although thegroup role is the superclass ofrow, adding a child element with a role ofrow will not fulfill the requirement thatlistbox allows children withoption orgroup roles.

Note

An element with the appropriateimplicitWAI-ARIA semantic fulfills this requirement.

Note

Examples of valid ways to mark up allowed accessibility child roles include:

  1. DirectDOM child:
    <divrole="listbox"><divrole="option">option text</div></div>
  2. DOM child with generics intervening:
    <divrole="listbox"><div><divrole="option">option text</div></div></div>
  3. Directaria-owns relationship:
    <divrole="listbox"aria-owns="id1"></div><divrole="option"id="id1">option text</div>
  4. aria-owns relationship with generics intervening:
    <divrole="listbox"aria-owns="id1"></div><divid="id1"><div><divrole="option">option text</div></div></div>

5.2.7Required Accessibility Parent Role

The requiredaccessibility parent (simplified as "parent") role defines the container where thisrole is allowed. If a role has a required accessibility parent, authorsMUST ensure that an element with the role is anaccessibility child of an element with the required accessibility parent role. For example, an element with rolelistitem is only meaningful when it is a child of an element with rolelist.

To determine whether an element has a parent with the required role,user agentsMUST ignore any elements with the rolegeneric ornone.

Also,user agentsSHOULD ignore the role if it occurs outside the context of a required accessibility parent role.

Note

An element with the appropriateimplicitWAI-ARIA semantic fulfills this requirement.

5.2.8Name From

Determines which content contributes to theAccessible Name and Description Computation [ACCNAME-1.2].

One of the following values:

  1. author: name comes from values provided by the author in explicit markup features such as thearia-label attribute, thearia-labelledby attribute, or the host language labeling mechanism, such as thealt ortitle attributes inHTML, withHTMLtitle attribute having the lowest precedence for specifying a text alternative.
  2. contents: name comes from the text value of theelement node. Although this might be allowed in addition to "author" in someroles, this is used in content only if higher priority "author" features are not provided. Priority is defined by theAccessible Name and Description Computation [ACCNAME-1.2].
  3. prohibited: the element does not support name from author. AuthorsMUST NOT use thearia-label oraria-labelledby attributes to name the element.
5.2.8.1Roles Supporting Name from Author
5.2.8.2Roles Supporting Name from Content
5.2.8.3Roles which cannot be named (Name prohibited)

5.2.9Children Presentational

Indicates whetherDOM descendants are presentational.user agentsSHOULD NOT expose descendants of thiselement through the platformaccessibilityAPI. Ifuser agents do not hide the descendant nodes, some information might be read twice.

AuthorsMUST NOT specifyaria-owns on an element which has Presentational Children.

5.2.10Implicit Value for Role

Many states and properties have default values. Occasionally, the default value when used on a given role should be different from the usual default. Roles that require a state or property to have a non-standard default value indicate this in the "Implicit Value for Role". This is expressed in the form "Default forstate or property name isnew default value". Roles that define this have the new default value for the state or property if the author does not provide an explicit value.

5.3Categorization of Roles

To support the current user scenario, this specification categorizesroles that define user interfacewidgets (sliders, tree controls, etc.) and those that define page structure (sections, navigation, etc.). Note that some assistive technologies provide special modes of interaction for regions marked with roleapplication ordocument.

A visual description of the relationships among roles is available in theARIA 1.2 Class Diagram.

Roles are categorized as follows:

  1. Abstract Roles
  2. Widget Roles
  3. Document Structure Roles
  4. Landmark Roles
  5. Live Region Roles
  6. Window Roles

5.3.1Abstract Roles

The followingroles are used to support theWAI-ARIA Roles Model for the purpose of defining general role concepts.

Abstract roles are used for the ontology. AuthorsMUST NOT use abstract roles in content.

5.3.2Widget Roles

The following roles act as standalone user interface widgets or as part of larger, composite widgets.

The following roles act as composite user interface widgets. These roles typically act as containers that manage other, contained widgets.

5.3.3Document Structure Roles

The followingroles describe structures that organize content in a page. Document structures are not usually interactive.

5.3.4Landmark Roles

The followingroles are regions of the page intended as navigationallandmarks. All of these roles inherit from thelandmark base type and all are imported from theRole Attribute [ROLE-ATTRIBUTE]. The roles are included here in order to make them clearly part of theWAI-ARIA Roles Model.

5.3.5Live Region Roles

The followingroles arelive regions and can be modified bylive region attributes.

Typically, assistive technology will only conveychanges to a live region, not the initial contents of a live region. To ensure content in a live region is announced, authorsSHOULD create a rendered but empty live region as early as possible (such as on page load), and then modify the content of the live region when the author expects changes to be spoken or brailled. The exception to this live region convention isalert, due to system accessibility notifications events required for the role. While analert is a live region, its content is announced by assistive technology when the alert is rendered on the page and when the content changes.

5.3.6Window Roles

The followingroles act as windows within the browser or application.

5.4Definition of Roles

Below is an alphabetical list ofWAI-ARIAroles.

Abstract roles are used for the ontology. AuthorsMUST NOT use abstract roles in content.

alert
A type oflive region with important, and usually time-sensitive, information. See relatedalertdialog andstatus.
alertdialog
A type of dialog that contains an alert message, where initial focus goes to anelement within the dialog. See relatedalert anddialog.
application
Astructure containing one or morefocusable elements requiring user input, such as keyboard or gesture events, that do not follow a standard interaction pattern supported by awidget role.
article
A section of a page that consists of a composition that forms an independent part of a document, page, or site.
banner
Alandmark that contains mostly site-oriented content, rather than page-specific content.
blockquote
A section of content that is quoted from another source.
button
An input that allows for user-triggered actions when clicked or pressed. See relatedlink.
caption
Visible content that names, or describes afigure,grid,group,radiogroup,table ortreegrid.
cell
A cell in a tabular container. See relatedgridcell.
checkbox
A checkable input that has three possiblevalues:true,false, ormixed.
code
A section whose content represents a fragment of computer code.
columnheader
A cell containing header information for a column.
combobox
Aninput that controls another element, such as alistbox orgrid, that can dynamically pop up to help the user set the value of theinput.
command (abstract role)
A form of widget that performs an action but does not receive input data.
comment
A comment contains content expressing reaction to other content.
complementary
Alandmark that is designed to be complementary to the main content that it is a sibling to, or a direct descendant of. The contents of a complementary landmark would be expected to remain meaningful if it were to be separated from the main content it is relevant to.
composite (abstract role)
Awidget that can contain navigableaccessibility descendants.
contentinfo
Alandmark that contains information about the parent document.
definition
A definition of a term or concept. See relatedterm.
deletion
A deletion represents content that is marked as removed, content that is being suggested for removal, or content that is no longer relevant in the context of its accompanying content. See relatedinsertion.
dialog
A dialog is a descendant window of the primary window of a web application. ForHTML pages, the primary application window is the entire web document.
directory
[Deprecated inARIA 1.2] A list of references to members of a group, such as a static table of contents.
document
Anelement containing content thatassistive technology users might want to browse in a reading mode.
emphasis
One or more emphasized characters. See relatedstrong.
feed
A scrollablelist ofarticles where scrolling might causearticles to be added to or removed from either end of the list.
figure
A perceivablesection of content that typically contains agraphical document, images, media player, code snippets, or example text. The parts of afigureMAY be user-navigable.
form
Alandmark region that contains a collection of items and objects that, as a whole, combine to create a form. See relatedsearch.
generic
A nameless containerelement that has no semantic meaning on its own.
grid
A compositewidget containing a collection of one or more rows with one or more cells where some or all cells in the grid arefocusable by using methods of two-dimensional navigation, such as directional arrow keys.
gridcell
Acell in agrid ortreegrid.
group
A set of user interfaceobjects that is not intended to be included in a page summary or table of contents byassistive technologies.
heading
A heading for a section of the page.
image
A container for a collection ofelements that form an image. See synonymimg.
img
A container for a collection ofelements that form an image. See synonymimage.
input (abstract role)
A generic type ofwidget that allows user input.
insertion
An insertion contains content that is marked as added or content that is being suggested for addition. See relateddeletion.
landmark (abstract role)
A perceivablesection containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology.
link
An interactive reference to an internal or external resource that, when activated, causes the user agent to navigate to that resource. See relatedbutton.
list
Asection containinglistitem elements. See relatedlistbox.
listbox
Awidget that allows the user to select one or more items from a list of choices. See relatedcombobox andlist.
listitem
A single item in a list or directory.
log
A type oflive region where new information is added in meaningful order and old information can disappear. See relatedmarquee.
main
Alandmark containing the main content of a document.
mark
Content which is marked or highlighted for reference or notation purposes, due to the content's relevance in the enclosing context.
marquee
A type oflive region where non-essential information changes frequently. See relatedlog.
math
Content that represents a mathematical expression.
menu
A type ofwidget that offers a list of choices to the user.
menubar
A presentation ofmenu that usually remains visible and is usually presented horizontally.
menuitem
An option in a set of choices contained by amenu ormenubar.
menuitemcheckbox
Amenuitem with a checkable state whose possiblevalues aretrue,false, ormixed.
menuitemradio
A checkablemenuitem in a set of elements with the same role, only one of which can be checked at a time.
meter
Anelement that represents a scalar measurement within a known range, or a fractional value. See relatedprogressbar.
navigation
Alandmark containing a collection of navigationalelements (usually links) for navigating the document or related documents.
none
Anelement whose implicit native role semantics will not be mapped to theaccessibilityAPI. See synonympresentation.
note
Asection whose content represents additional information or parenthetical context to the primary content it supplements.
option
An item in alistbox.
paragraph
A paragraph of content.
presentation
Anelement whose implicit native role semantics will not be mapped to theaccessibilityAPI. See synonymnone.
progressbar
Anelement that displays the progress status for tasks that take a long time.
radio
A checkable input in a group of elements with the same role, only one of which can be checked at a time.
radiogroup
A group ofradio buttons.
range (abstract role)
An element representing a range of values.
region
Alandmark containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology.
roletype (abstract role)
The baserole from which all other roles inherit.
row
A row of cells in a tabular container.
rowgroup
A structure containing one or more row elements in a tabular container.
rowheader
A cell containing header information for a row.
scrollbar
A graphical object that controls the scrolling of content within a viewing area, regardless of whether the content is fully displayed within the viewing area.
search
Alandmark region that contains a collection of items and objects that, as a whole, combine to create a search facility. See relatedform andsearchbox.
searchbox
A type of textbox intended for specifying search criteria. See relatedtextbox andsearch.
section (abstract role)
A renderable structural containment unit on a page.
sectionfooter
A set of user interface objects and information representing information about its closest ancestral content group. For instance, asectionfooter can include information about who wrote the specific section of content, such as anarticle. It can contain links to related documents, copyright information or other indices and colophon specific to the current section of the page.
sectionhead (abstract role)
A structure that labels or summarizes the topic of its related section.
sectionheader
A set of user interface objects and information that represents a collection of introductory items for the element's closest ancestral content group. For instance, asectionheader can include the heading, introductory statement and related meta data for a section of content, for instance aregion orarticle, within a web page.
select (abstract role)
A form widget that allows the user to make selections from a set of choices.
separator
A divider that separates and distinguishes sections of content or groups of menuitems.
slider
An input where the user selects a value from within a given range.
spinbutton
A form ofrange that expects the user to select from among discrete choices.
status
A type oflive region whose content is advisory information for the user but is not important enough to justify analert, often but not necessarily presented as a status bar.
strong
Content that is important, serious, or urgent. See relatedemphasis.
structure (abstract role)
A document structuralelement.
subscript
One or more subscripted characters. See relatedsuperscript.
suggestion
A single proposed change to content.
superscript
One or more superscripted characters. See relatedsubscript.
switch
A type of checkbox that represents on/off values, as opposed to checked/unchecked values. See relatedcheckbox.
tab
A grouping label providing a mechanism for selecting the tab content that is to be rendered to the user.
table
Asection containing data arranged in rows and columns. See relatedgrid.
tablist
A list oftabelements, which are references totabpanel elements.
tabpanel
A container for the resources associated with atab, where eachtab is contained in atablist.
term
A word or phrase with an optional corresponding definition. See relateddefinition.
textbox
A type of input that allows free-form text as its value.
time
An element that represents a specific point in time.
timer
A type oflive region containing a numerical counter which indicates an amount of elapsed time from a start point, or the time remaining until an end point.
toolbar
A collection of commonly used function buttons or controls represented in compact visual form.
tooltip
A contextual popup that displays a description for an element.
tree
Awidget that allows the user to select one or more items from a hierarchically organized collection.
treegrid
Agrid whose rows can be expanded and collapsed in the same manner as for atree.
treeitem
An item in atree.
widget (abstract role)
An interactive component of a graphical user interface (GUI).
window (abstract role)
A browser or application window.

alertrole

A type oflive region with important, and usually time-sensitive, information. See relatedalertdialog andstatus.

Alerts are used to convey messages that will be immediately important to users. In the case of audio warnings, visibly displayed alerts provide an accessible alternative to audible alerts for Deaf or hard-of-hearing users. Likewise, alerts can provide an accessible alternative to the visible alerts for blind, deaf-blind, or low-vision users, and others with certain developmental disabilities. Thealertrole is applied to the element containing the alert message.

Alert is a special type of assertive live region that is intended to cause immediate notification for assistive technology users. If the operating system allows, theuser agentSHOULD fire a system alertevent through the accessibilityAPI when the alert is rendered.

Neither authors nor user agents are required to set or manage focus to an alert in order for it to be processed. Since alerts are not required to receive focus, authorsSHOULD NOT require users to close an alert. If an author desires focus to move to a message when it is conveyed, the authorSHOULD usealertdialog instead ofalert.

Elements with the rolealert have an implicitaria-live value ofassertive, and an implicitaria-atomic value oftrue.

Characteristics:
CharacteristicValue
Superclass Role:section
Subclass Roles:
Inherited States and Properties:
Name From:author
Implicit Value for Role: Default foraria-live isassertive.
Default foraria-atomic istrue.

alertdialogrole

A type of dialog that contains an alert message, where initial focus goes to anelement within the dialog. See relatedalert anddialog.

Alert dialogs are used to convey messages to alert the user. Thealertdialogrole goes on thenode containing both the alert message and the rest of the dialog. AuthorsSHOULD make alert dialogs modal by ensuring that, while thealertdialog is shown, keyboard and mouse interactions only operate within the dialog. Seearia-modal.

Alertdialog is a special type of dialog that is intended to cause an immediate, alert-level notification for assistive technology users. If the operating system allows, theuser agentSHOULD fire a system alertevent through the accessibilityAPI when the alert dialog is rendered.

Unlikealert,alertdialog can receive a response from the user. For example, to confirm that the user understands the alert being generated. When the alert dialog is displayed, authorsSHOULD set focus to an active element within the alert dialog, such as a form control or confirmation button. Theuser agentSHOULD fire a system alertevent through the accessibilityAPI when the alert is created, provided one is specified by the intendedaccessibilityAPI.

AuthorsSHOULD provide an accessible name for analertdialog, which can be done with thearia-label oraria-labelledby attribute.

AuthorsSHOULD usearia-describedby on analertdialog to reference the alert message element in the dialog. If they do not, anassistive technology can resort to its internal recovery mechanism to determine the contents of the alert message.

Characteristics:
CharacteristicValue
Superclass Role:
Inherited States and Properties:
Name From:author

applicationrole

Astructure containing one or morefocusable elements requiring user input, such as keyboard or gesture events, that do not follow a standard interaction pattern supported by awidget role.

Someuser agents andassistive technologies have a browse mode where standard input events, such as up and down arrow key events, are intercepted and used to control a reading cursor. This browse mode behavior prevents elements that do not have awidget role from receiving and using such keyboard and gesture events to provide interactive functionality.

When there is a need to create an element with an interaction model that is not supported by any of theWAI-ARIAwidget roles, authorsMAY give that element roleapplication. And, when a user navigates into an element with roleapplication,assistive technologies that intercept standard input eventsSHOULD switch to a mode that passes most or all standard input events through to the web application.

For example, a presentation slide editor uses arrow keys to change the positions of textbox and image elements on the slide. There are not anyWAI-ARIAwidget roles that correspond to such an interaction model so an author could give the slide container roleapplication, anaria-roledescription of "Slide Editor", and usearia-describedby to provide instructions.

Because only the focusable elements contained in anapplication element are accessible to users of some assistive technologies, authorsMUST use one of the following techniques to ensure all non-decorative static text or image content inside an application is accessible:

  1. Associate the content with a focusable element usingaria-labelledby oraria-describedby.
  2. Place the content in a focusable element that has roledocument orarticle.
  3. Manage focus ofaccessibility descendants as described inManaging Focus, updating the value ofaria-activedescendant to reference theelement containing the focused content.
Characteristics:
CharacteristicValue
Superclass Role:structure
Supported States and Properties:
Inherited States and Properties:
Name From:author
Accessible Name Required:True

articlerole

A section of a page that consists of a composition that forms an independent part of a document, page, or site.

An article is not a navigationallandmark, but can be nested to form a discussion where assistive technologies could pay attention to article nesting to assist the user in following the discussion. An article could be a forum post, a magazine or newspaper article, a web log entry, a user-submitted comment, or any other independent item of content. It isindependent in that its contents could stand alone, for example in syndication. However, theelement is still associated with its ancestors; for instance, contact information that applies to a parent body element still covers the article as well. When nesting articles, the child articles represent content that is related to the content of the parent article. For instance, a web log entry on a site that accepts user-submitted comments could represent the comments as articles nested within the article for the web log entry. Author, heading, date, or other information associated with an article does not apply to nested articles.

When the user navigates to an element assigned the role ofarticle,assistive technologies that typically intercept standard keyboard eventsSHOULD switch to document browsing mode, as opposed to passing keyboard events through to the web application. Some assistive technologies provide a feature allowing the user to navigate the hierarchy of any nestedarticle elements.

When anarticle is in the context of afeed, the authorMAY specify values foraria-posinset andaria-setsize.

Characteristics:
CharacteristicValue
Superclass Role:document
Subclass Roles:
Related Concepts:<article> inHTML
Supported States and Properties:
Inherited States and Properties:
Name From:author

bannerrole

Alandmark that contains mostly site-oriented content, rather than page-specific content.

Site-oriented content typically includes things such as the logo or identity of the site sponsor, and a site-specific search tool. A banner usually appears at the top of the page and typically spans the full width.

Assistive technologiesSHOULD enable users to quickly navigate to elements with rolebanner.user agentsSHOULD treat elements with rolebanner as navigationallandmarks.user agentsMAY enable users to quickly navigate to elements with rolebanner.

The authorSHOULD mark no more than oneelement on a page with thebannerrole.

Note

Becausedocument andapplication elements can be nested in theDOM, they can have multiplebanner elements asDOM descendants, assuming each of those is associated with different document nodes, either by aDOM nesting (e.g.,document withindocument) or by use of thearia-ownsattribute.

Characteristics:
CharacteristicValue
Superclass Role:landmark
Related Concepts:<header> inHTML
Inherited States and Properties:
Name From:author

blockquoterole

A section of content that is quoted from another source.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<blockquote> inHTML
Inherited States and Properties:
Name From:author

buttonrole

An input that allows for user-triggered actions when clicked or pressed. See relatedlink.

Buttons are mostly used for discrete actions. Standardizing the appearance of buttons enhances the user's recognition of thewidgets as buttons and allows for a more compact display in toolbars.

Buttons support the optionalattributearia-pressed. Buttons with a non-emptyaria-pressed attribute are toggle buttons. Whenaria-pressed istrue the button is in a "pressed"state, whenaria-pressed isfalse it is not pressed. If the attribute is not present, the button is a simple command button.

Characteristics:
CharacteristicValue
Superclass Role:command
Base Concept:<button> inHTML
Related Concepts:link
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True
Children Presentational:True

captionrole

Visible content that names, or describes afigure,grid,group,radiogroup,table ortreegrid.

When usingcaption authorsSHOULD ensure:

If thecaption represents an accessible name for its containing element, authorsSHOULD specifyaria-labelledby on the containing element to reference the element with rolecaption.

<divrole="radiogroup"aria-labelledby="cap"><divrole="caption"id="cap">     Choose your favorite fruit</div><!-- ... -->

If acaption contains content that serves as both a name and description for its containing element, authorsMAY instead specifyaria-labelledby to reference an element within thecaption that represents the "name" of the containing element, and specifyaria-describedby to reference an element within thecaption that represents the descriptive content.

<divrole="table"aria-labelledby="name"aria-describedby="desc"><divrole="caption"><divid="name">Contest Entrants</div><divid="desc">       This table shows the total number of entrants (500) the       contest accepted over the past four weeks.</div></div><!-- ... -->

If thecaption represents a long-form description, or if the description contains semantic elements which are important in understanding the description, authorsMAY instead specifyaria-labelledby to reference an element within thecaption that represents the "name" of the containing element, and specifyaria-details to reference an element within thecaption that represents the descriptive content.

<divrole="figure"aria-labelledby="name"aria-details="details"><!-- figure content here, such as a complex data viz SVG --><divrole="caption"><divid="name">Sales information for 20XX</div><divid="details">       This barchart represents the total amount of sales over the course       of five years.<ahref="...">Sales information for last year</a> can       be reviewed, or you can overlay<buttonaria-pressed="false">previous year</button>       information in this graphic.</div></div><!-- ... -->

If acaption contains only a description, without a suitable text string to serve as the accessible name for its containing element, thenaria-label oraria-labelledbyMAY be used to provide an accessible name, and thecaptionMAY be treated solely as descriptive content, referenced viaaria-details.

<divrole="figure"aria-label="Sales information"aria-details="details"><!-- figure content here, such as a complex data viz SVG --><divrole="caption"id="details">     This barchart represents the total amount of sales over the course     of five years.<ahref="...">Sales information for last year</a> can     be reviewed, or you can overlay<buttonaria-pressed="false">previous year</button>     information in this graphic.</div><!-- ... -->
Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:
Required Accessibility Parent Roles:
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

cellrole

A cell in a tabular container. See relatedgridcell.

AuthorsMUST ensureelements withrole cell are theaccessibility children of an element with therolerow.

Characteristics:
CharacteristicValue
Superclass Role:section
Subclass Roles:
Base Concept:<td> inHTML
Required Accessibility Parent Roles:row
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author

checkboxrole

A checkable input that has three possiblevalues:true,false, ormixed.

Thearia-checkedattribute of acheckbox indicates whether the input is checked (true), unchecked (false), or represents a group ofelements that have a mixture of checked and unchecked values (mixed). Many checkboxes do not use themixed value, and thus are effectively boolean checkboxes.

Note

Due to the strong native semantics ofHTML's native checkbox, authors are advised against usingaria-checked on aninput type=checkbox. Rather, use the nativechecked attribute or theindeterminate IDL attribute to specify the checkbox's "checked" or "mixed" state, respectively.

Characteristics:
CharacteristicValue
Superclass Role:input
Subclass Roles:
Related Concepts:
Required States and Properties:
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True
Children Presentational:True

coderole

A section whose content represents a fragment of computer code.

The primary purpose of the code role is to inform assistive technologies that the content is computer code and thus might require special presentation, in particular with respect to synthesized speech. More specifically, screen readers and other tools which provide text-to-speech presentation of contentSHOULD prefer full punctuation verbosity to ensure common symbols (e.g., "-") are spoken.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<code> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

columnheaderrole

A cell containing header information for a column.

columnheader can be used as a column header in a table or grid. It could also be used in a pie chart to show a similarrelationship in the data.

Thecolumnheader establishes a relationship between it and all cells in the corresponding column. It is the structural equivalent to anHTMLthelement with a column scope.

AuthorsMUST ensureelements withrolecolumnheader are theaccessibility children of an element with the rolerow.

Applying thearia-selected state on a columnheaderMUST not cause the user agent to automatically propagate thearia-selected state to all the cells in the corresponding column. An authorMAY choose to propagate selection in this manner depending on the specific application.

While thecolumnheader role can be used in both interactive grids and non-interactive tables, the use ofaria-readonly andaria-required is only applicable to interactive elements. Therefore, authorsSHOULD NOT usearia-required oraria-readonly in acolumnheader that descends from atable, and user agentsSHOULD NOT expose either property toassistive technologies unless thecolumnheader descends from agrid.

Note

Because cells are organized into rows, there is not a single container element for the column. The column is the set ofgridcell elements in a particular position within their respectiverow containers.

Note: Usage of aria-disabled

Whilearia-disabled is currently supported oncolumnheader, in a future version the working group plans to prohibit its use on elements with rolecolumnheader except when the element is in the context of agrid ortreegrid.

Characteristics:
CharacteristicValue
Superclass Role:
Base Concept:<th scope="col"> inHTML
Required Accessibility Parent Roles:row
Supported States and Properties:aria-sort
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True

comboboxrole

Aninput that controls another element, such as alistbox orgrid, that can dynamically pop up to help the user set the value of theinput.

Editor's note: Major Changes to combobox role in ARIA 1.2

The Guidance forcombobox has changed significantly inARIA 1.2 due to problems with implementation of the previous patterns. Authors and developers of User Agents, Assistive Technologies, and Conformance Checkers are advised to review this section carefully to understand the changes. Explanation of the changes is available in theARIA repository wiki.

Acombobox functionally combines a named input field with the ability to assist value selection via a supplementary popup element. Acombobox inputMAY be either a single-line text field that supports editing and typing or an element that only displays the current value of thecombobox. If thecombobox supports text input and provides autocompletion behavior as described inaria-autocomplete, authorsMUST setaria-autocomplete on thecombobox element to the value that corresponds to the provided behavior.

Typically, the initial state of acombobox is collapsed. In the collapsed state, only thecombobox element and a separate, optional popup controlbutton are visible. Acombobox is said to be expanded when both thecombobox element showing its current value and its associated popup element are visible. AuthorsMUST setaria-expanded totrue on an element with rolecombobox when it is expanded andfalse when it is collapsed.

Elements with the rolecombobox have an implicitaria-haspopup value oflistbox. If thecombobox popup element has a role other thanlistbox, authorsMUST specify anaria-haspopup value oftree,grid, ordialog that corresponds to the role of its popup.

If the user interface includes an additional icon that allows the visibility of the popup to be controlled via pointer and touch events, authorsSHOULD ensure that element has rolebutton, that it isfocusable but not included in the pageTab sequence, and that it is not a descendant of the element with rolecombobox. In addition, to be keyboard accessible, authorsSHOULD provide keyboard mechanisms for moving focus between thecombobox element and elements contained in the popup. For example, one common convention is thatDown Arrow moves focus from the input to the first focusable descendant of the popup element. If the popup element supportsaria-activedescendant, in lieu of moving focus, such keyboard mechanisms can control the value ofaria-activedescendant on thecombobox element. When a descendant of the popup element is active, authorsMAY setaria-activedescendant on thecombobox to a value that refers to the active element within the popup while focus remains on thecombobox element.

User agentsMUST expose the value of elements with rolecombobox toassistive technologies. The value of acombobox is represented by one of the following:

<labelid="tag_label"for="tag_combo">Tag</label><inputtype="text"id="tag_combo"role="combobox"aria-autocomplete="list"aria-haspopup="listbox"aria-expanded="true"aria-controls="popup_listbox"aria-activedescendant="selected_option"><ulrole="listbox"id="popup_listbox"aria-labelledby="tag_label"><lirole="option">Zebra</li><lirole="option"id="selected_option">Zoom</li></ul>
Editor's note: Validity changes combobox for ARIA 1.2

Please review the following carefully. As a result of these changes a combobox following theARIA 1.1 combobox specification will no longer conform with theARIA specification.

The features and behaviors of combobox implementations vary widely. Consequently, there are many important authoring considerations. See theARIA Authoring Practices Guide for additional details on implementing combobox design patterns.

Characteristics:
CharacteristicValue
Superclass Role:input
Related Concepts:<select> inHTML
Required States and Properties:aria-expanded
Supported States and Properties:
Inherited States and Properties:
Name From:author
Accessible Name Required:True
Implicit Value for Role:Default foraria-haspopup islistbox.

commandabstract role

A form of widget that performs an action but does not receive input data.

command is anabstract role used for the ontology. AuthorsMUST NOT usecommand role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:widget
Subclass Roles:
Inherited States and Properties:

commentrole

A comment contains content expressing reaction to other content.

Comments can annotate any visible content, from small spans of text, to other comments, to entire articles. AuthorsSHOULD identify the relationships between comments and the commented content, as follows:

  1. If the comment is a reply to anothercomment:
  2. Otherwise, if the comment relates to other content in the page:
    • Providearia-details on the element containing the commented content with a value refering to the element with rolecomment.
    • If there are multiple comments related to the same commented content, either provide a value foraria-details on the commented content that refers to each individual comment, or usearia-details to refer to a parent container of the comments. Ifaria-details refers to an element containing comments rather thancomment elements, authorsSHOULD assign a role ofgroup orregion to the referenced container.

If the author has not explicitly declaredaria-level,aria-posinset, oraria-setsize for acomment element, user agentsMUST automatically compute the missing values and expose them to assistive technologies.

Characteristics:
CharacteristicValue
Superclass Role:article
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author

complementaryrole

Alandmark that is designed to be complementary to the main content that it is a sibling to, or a direct descendant of. The contents of a complementary landmark would be expected to remain meaningful if it were to be separated from the main content it is relevant to.

There are various types of content that would appropriately have thisrole. For example, in the case of a portal, this can include but not be limited to show times, current weather, related articles, or stocks to watch. If the complementary content is completely separable from the main content, it might be appropriate to use a more general role.

Assistive technologiesSHOULD enable users to quickly navigate to elements with rolecomplementary.user agentsSHOULD treat elements with rolecomplementary as navigationallandmarks.user agentsMAY enable users to quickly navigate to elements with rolecomplementary.

Characteristics:
CharacteristicValue
Superclass Role:landmark
Related Concepts:<aside> inHTML
Inherited States and Properties:
Name From:author

compositeabstract role

Awidget that can contain navigableaccessibility descendants.

AuthorsSHOULD ensure that a composite widget exists as a single navigation stop within the larger navigation system of the web page. Once the composite widget has focus, authorsSHOULD provide a separate navigation mechanism for users to navigate toelements that areaccessibility descendants of the composite element.

composite is anabstract role used for the ontology. AuthorsMUST NOT usecomposite role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:widget
Subclass Roles:
Supported States and Properties:
Inherited States and Properties:

contentinforole

Alandmark that contains information about the parent document.

Examples of information included in this region of the page are copyrights and links to privacy statements.

Assistive technologiesSHOULD enable users to quickly navigate to elements with rolecontentinfo.user agentsSHOULD treat elements with rolecontentinfo as navigationallandmarks.user agentsMAY enable users to quickly navigate to elements with rolecontentinfo.

The authorSHOULD mark no more than oneelement on a page with thecontentinfo role.

Note

Becausedocument andapplication elements can be nested in theDOM, they can have multiplecontentinfo elements asDOM descendants, assuming each of those is associated with different document nodes, either by aDOM nesting (e.g.,document withindocument) or by use of thearia-owns attribute.

Characteristics:
CharacteristicValue
Superclass Role:landmark
Related Concepts:<footer> inHTML
Inherited States and Properties:
Name From:author

definitionrole

A definition of a term or concept. See relatedterm.

AuthorsMUST identify theelement being defined and assign that element a role ofterm.

AuthorsSHOULD NOT use thedefinition role on interactive elements such as form controls because doing so could prevent users of assistive technologies from interacting with those elements.

Characteristics:
CharacteristicValue
Superclass Role:section
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

deletionrole

A deletion represents content that is marked as removed, content that is being suggested for removal, or content that is no longer relevant in the context of its accompanying content. See relatedinsertion.

Deletions are typically used to either mark differences between two versions of content or to designate content suggested for removal in scenarios where multiple people are revising content.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

dialogrole

A dialog is a descendant window of the primary window of a web application. ForHTML pages, the primary application window is the entire web document.

Dialogs are often used to prompt the user to enter or respond to information, or can represent content related to understanding or modifying the content of the primary application window. A dialog that is designed to interrupt workflow and prevent users from interacting with the primary web application is usually modal. See relatedalertdialog. A dialog that allows for the user to switch between interacting with the content of the primary web application and the content the dialog is usually modeless (i.e., non-modal). In lieu of using robust host language features for marking content of the primary web application asinert, authorsSHOULD use thearia-modal attribute, and constrain focus to dialogs. See theWAI-ARIA Authoring Practices: Dialog (modal) pattern for additional details on implementing modal dialog design patterns.

AuthorsSHOULD provide an accessible name for a dialog, which can be done with thearia-label oraria-labelledby attribute.

AuthorsSHOULD ensure that all dialogs (both modal and non-modal) have at least onefocusable descendant element. AuthorsSHOULD focus an element in the modal dialog when it is displayed, and authorsSHOULD constrain keyboard focus to focusable elements within a modal dialog, until dismissed.

AuthorsSHOULD provide a dialog an accessible description, with thearia-describedby attribute, for instances where authors have set initial keyboard focus on an element that follows content that outlines the purpose of the dialog. Assistive technologySHOULD give precedence to exposing author defined dialog accessible descriptions when a dialog is invoked and user focus is moved to a descendant of the dialog element.

Note

Authors are strongly encouraged to usearia-describedby, rather thanaria-description, to provide descriptions to dialogs. Whilearia-description could be used to provide an accessible description for a dialog, it will provide a better and more consistent user experience to reference visible content that can also be independently read by all users. Doing so will help ensure important descriptive information is less likely to be missed.

Example 14

In the following example, the first text field will receive initial focus when the dialog is rendered. As this means focus will be set "after" the preceding content that provides instructions for the form fields, anaria-describedby attribute is used to expose this content as a description for thedialog.

<divrole="dialog"aria-labelledby="h"aria-describedby="d"aria-modal="true"...><h2id="h">Add Shipping Address</h2><pid="d">By placing an order on this website, you acknowledge we will be sending you tons of junk mail for you to immediately recycle. Thanks!</p><label>    Street:<inputautofocus...></label>  ...</div>
Note

In the description of this role, the term "web application" does not refer to theapplication role, which specifies specific assistive technology behaviors.

Characteristics:
CharacteristicValue
Superclass Role:window
Subclass Roles:
Inherited States and Properties:
Name From:author

directoryrole

[Deprecated inARIA 1.2] A list of references to members of a group, such as a static table of contents.

As exposed by accessibilityAPIs, thedirectoryrole is essentially equivalent to thelistrole. So, usingdirectory does not provide any additional benefits to assistive technology users. Authors are advised to treatdirectory as deprecated and to uselist, or a host language's equivalent semantics instead.

Adirectory is a static table of contents, whether linked or unlinked. This includes tables of contents built with lists, including nested lists. Dynamic tables of contents, however, might use atree role instead.

Characteristics:
CharacteristicValue
Superclass Role:list
Inherited States and Properties:
Name From:author

documentrole

Anelement containing content thatassistive technology users might want to browse in a reading mode.

Whenuser agent focus moves to an element assigned the role ofdocument,assistive technologies having a reading mode for browsing static contentMAY switch to that reading mode and intercept standard input events, such as Up or Down arrow keyboard events, to control the reading cursor.

Becauseassistive technologies that have a reading mode default to that mode for all elements except for those with either awidget orapplication role, the only circumstance where thedocument role is useful for changing assistive technology behavior is when the element with roledocument is afocusable child element of awidget orapplication. For example, given anapplication element which contains some static rich text, the author can apply roledocument to the element containing the text and give it atabindex of0. When a screen reader user presses the Tab key and places focus on thedocument element, the user will be able to read the text with the screen reader's reading cursor.

Characteristics:
CharacteristicValue
Superclass Role:structure
Subclass Roles:
Inherited States and Properties:
Name From:author

emphasisrole

One or more emphasized characters. See relatedstrong.

The purpose of theemphasis role is to stress or emphasize content. It is not for communicating changes in typographical presentation that do not impact the meaning of the content. AuthorsSHOULD use theemphasis role only if its absence would change the meaning of the content.

Theemphasis role is not intended to convey importance; for that purpose, thestrong role is more appropriate.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<em> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

feedrole

A scrollablelist ofarticles where scrolling might causearticles to be added to or removed from either end of the list.

Afeed enables users ofassistive technologies that have a document browse mode, such as screen readers, to use the browse mode reading cursor to both read and scroll through a stream of rich content that might continue scrolling infinitely by loading more content as the user reads. In afeed,assistive technologies provide a web application with signals of the user's reading cursor movement by movinguser agent focus, enabling the application to both add new content and visually position content as the user browses the page. Thefeed also lets authors inform assistive technologies when additions and removals are occurring so assistive technologies can more reliably update their reading view without disrupting reading or degrading performance.

For example, afeed could be used to present a stream of news stories where eacharticle contains a story with text, links, images, and comments as well as widgets for sharing and commenting. As a screen reader user reads and interacts with each story and moves the screen reader reading cursor from story to story, each story scrolls into view and, as needed, new stories are loaded.

Afeed is a container element whose children have rolearticle. Whenarticles are added or removed from either or both ends of afeed, authorsSHOULD setaria-busy totrue on thefeed element before the changes are made and set it tofalse after the changes are complete. AuthorsSHOULD avoid inserting or removingarticles in the middle of afeed. These requirements helpassistive technologies gracefully respond to changes in thefeed content that occur simultaneously with user commands to move the reading cursor within thefeed.

AuthorsSHOULD make eacharticle in afeedfocusable and ensure that the application scrolls anarticle into view whenuser agent focus is set on thearticle or one of its descendant elements. For example, inHTML, eacharticle element should have atabindex value of either-1 or0.

When anassistive technology reading cursor moves from onearticle to another,assistive technologiesSHOULD set user agent focus on thearticle that contains the reading cursor. If the reading cursor lands on a focusable element inside thearticle, the assistive technologyMAY set focus on that element in lieu of setting focus on the containingarticle.

Because the ability to scroll to anotherarticle with anassistive technology reading cursor depends on the presence of anotherarticle in the page, authorsSHOULD attempt to load additionalarticles beforeuser agent focus reaches anarticle at either end of the set ofarticles that has been loaded. Alternatively, authorsMAY include anarticle at either or both ends of the loaded set ofarticles that includes an element, such as abutton, that lets the user request morearticles to be loaded.

In addition to providing a brief label, authorsMAY applyaria-describedby toarticle elements in afeed to suggest to screen readers which elements to speak after the label when users navigate byarticle. Screen readersMAY provide users with a way to quickly scanfeed content by speaking both the label andaccessible description when navigating byarticle, enabling the user to ignore repetitive or less important elements, such as embedded interaction widgets, that the author has left out of the description.

AuthorsSHOULD provide keyboard commands for moving focus amongarticles in afeed so users who do not utilize an assistive technology that providesarticle navigation features can use the keyboard to navigate thefeed.

If the number of articles available in afeed supply is static, authorsMAY specifyaria-setsize onarticle elements in thatfeed. However, if the total number is extremely large, indefinite, or changes often, authorsMAY setaria-setsize to-1 to communicate the unknown size of the set.

See theARIA Authoring Practices Guide for additional details on implementing a feed design pattern.

Characteristics:
CharacteristicValue
Superclass Role:list
Allowed Accessibility Child Roles:article
Inherited States and Properties:
Name From:author

figurerole

A perceivablesection of content that typically contains agraphical document, images, media player, code snippets, or example text. The parts of afigureMAY be user-navigable.

AuthorsSHOULD provide a reference to thefigure from the main text, but thefigure need not be displayed at the same location as the referencing element. AuthorsMAY provide afigure acaption which can include its name, descriptive text, or both. If acaption is provided, and it serves as a description to the contents of thefigure, authorsSHOULD associate it to thefigure element usingaria-details.

AuthorsMAY provide afigure an accessible name usingaria-label or usearia-labelledby to reference other text in the page to serve as the element's label and accessible name.

Please refer to thecaption role for more information on how to associate afigure with itscaption.

Assistive technologiesSHOULD enable users to quickly navigate to figures.User agentsMAY enable users to quickly navigate to figures.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<figure> inHTML
Inherited States and Properties:
Name From:author

formrole

Alandmark region that contains a collection of items and objects that, as a whole, combine to create a form. See relatedsearch.

A form can contain a mix of host language form controls, scripted controls, and hyperlinks. Authors are reminded to use native host language semantics to create form controls whenever possible. If the purpose of a form is to submit search criteria, authorsSHOULD use thesearch role instead of the genericform role.

AuthorsSHOULD give each element with roleform a brief label that describes the purpose of the form. AuthorsSHOULD reference a visible label witharia-labelledby if a visible label is present. AuthorsSHOULD include the label inside of a heading whenever possible. The headingMAY be an instance of the standard host language heading element or an instance of an element with roleheading.

If an author uses a script to submit a form based on a user action that would otherwise not trigger anonsubmit event (for example, a form submission triggered by the user changing a form element's value), the authorSHOULD provide the user with advance notification of the behavior.

Assistive technologiesSHOULD enable users to quickly navigate to elements with roleform.User agentsSHOULD treat elements with roleform and an accessible name as navigationallandmarks.User agentsMAY enable users to quickly navigate to elements with roleform.

Characteristics:
CharacteristicValue
Superclass Role:landmark
Base Concept:<form> inHTML
Inherited States and Properties:
Name From:author

genericrole

A nameless containerelement that has no semantic meaning on its own.

Thegeneric role is intended for use as the implicit role of generic elements in host languages (such asHTMLdiv orspan), so is primarily for implementors of user agents. AuthorsSHOULD NOT use this role in content. AuthorsMAY usepresentation ornone to remove implicit accessibility semantics, or a semantic container role such asgroup to semantically group descendants in a named container.

Like an element with rolepresentation, an element with rolegeneric can provide a limited number of accessible states and properties for its descendants, such asaria-live attributes.

However, unlike elements with rolepresentation, user agents exposegeneric elements inaccessibilityAPIs when permitted accessibility attributes have been specified. User agentsMAY otherwise ignoregeneric elements if such permitted attributes have not been specified.

Characteristics:
CharacteristicValue
Superclass Role:structure
Related Concepts:HTMLdiv,HTMLspan
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

gridrole

A compositewidget containing a collection of one or more rows with one or more cells where some or all cells in the grid arefocusable by using methods of two-dimensional navigation, such as directional arrow keys.

Thegrid role does not imply a specific visual, e.g., tabular, presentation. It describesrelationships amongelements. It can be used for purposes as simple as grouping a collection of checkboxes or navigation links or as complex as creating a full-featured spreadsheet application.

The cell elements of agrid have rolegridcell. AuthorsMAY designate a cell as a row or column header by using either therowheader orcolumnheaderrole in lieu of thegridcell role. AuthorsMUST ensure elements with rolegridcell,columnheader, orrowheader areaccessibility children of elements with rolerow, which are in turn areaccessibility children of an element with rolerowgroup, orgrid.

To bekeyboard accessible, authorsSHOULD manage focus of descendants of agrid as described inManaging Focus. When a user is navigating thegrid content with a keyboard, authorsSHOULD set focus as follows:

  • If agridcell contains a single interactivewidget that will not consume arrow key presses when it receives focus, such as acheckbox,button, orlink, authorsMAY set focus on the interactive element contained in that cell. This allows the contained widget to be directly operable.
  • Otherwise, authorsSHOULD ensure the element that receives focus is agridcell,rowheader, orcolumnheader element.

AuthorsSHOULD provide a mechanism for changing to an interaction or edit mode that allows users to navigate and interact with content contained inside a focusable cell if that focusable cell contains any of the following:

  • a widget that requires arrow keys to operate, e.g., acombobox orradiogroup
  • multiple interactive elements
  • editable content

For example, if a cell in a spreadsheet contains acombobox or editable text, theEnter key might be used to activate a cell interaction or editing mode when that cell has focus so the directional arrow keys can be used to operate the containedcombobox ortextbox. Depending on the implementation, pressingEnter again,Tab,Escape, or another key might switch the application back to the grid navigation mode.

AuthorsMAY use agridcell to display the result of a formula, which could be editable by the user. In a spreadsheet application, for example, agridcell might show a value calculated from a formula until the user activates thegridcell for editing when atextbox appears in thegridcell containing the formula in an editable state.

Ifaria-readonly is set on an element with rolegrid,user agentsMUST propagate the value to allgridcell elements that areaccessibility descendants of thatgrid and expose the value in the accessibilityAPI. An authorMAY override the propagated value ofaria-readonly for an individualgridcell element.

In agrid that provides cell content editing functions, if the content of a focusablegridcell element is not editable, authorsMAY setaria-readonly totrue on thegridcell element. However, the value ofaria-readonly, whether specified for agrid or individual cells, only indicates whether the content contained in cells is editable. It does not represent availability of functions for navigating or manipulating thegrid itself.

An unspecified value foraria-readonly does not imply that agrid or agridcell contains editable content. For example, if agrid presents a collection of elements that are not editable, such as a collection oflink elements representing dates in a datepicker, it is not necessary for the author to specify a value foraria-readonly.

AuthorsMAY indicate that a focusablegridcell is selectable as the object of an action with thearia-selected attribute. If thegrid allows multiplegridcells to be selected, the authorSHOULD setaria-multiselectable totrue on the element with rolegrid.

SinceWAI-ARIA can augment an element of the host language, agrid can reuse the elements and attributes of a native table, such as anHTMLtable element. For example, if an author applies thegrid role to anHTMLtable element, the author does not need to apply therow andgridcell roles to the descendantHTMLtr andtd elements because theuser agent will automatically make the appropriate translations. When the author is reusing a native host language table element and needs agridcell element to span multiple rows or columns, the authorSHOULD apply the appropriate host language attributes instead ofWAI-ARIAaria-rowspan oraria-colspan properties.

AuthorsSHOULD provide an accessible name for agrid, which can be done with thearia-label oraria-labelledby attribute. AuthorsSHOULD reference a visible label witharia-labelledby if a visible label is present for thegrid.

See theARIA Authoring Practices Guide for additional details on implementing grid design patterns.

Characteristics:
CharacteristicValue
Superclass Role:
Subclass Roles:
Base Concept:<table> inHTML
Allowed Accessibility Child Roles:
Supported States and Properties:
Inherited States and Properties:
Name From:author

gridcellrole

Acell in agrid ortreegrid.

Agridcell can befocusable, editable, and selectable. Agridcell can haverelationships such asaria-controls to address the application of functional relationships.

If an author intends agridcell to have a row header, column header, or both, and if the relevant headers cannot be determined from theDOM structure, authorsSHOULD explicitly indicate which header cells are relevant to thegridcell by applyingaria-describedby on thegridcell and referencingelements withrolerowheader orcolumnheader.

In atreegrid, authorsMAY define agridcell as expandable by using thearia-expanded attribute. If thearia-expanded attribute is provided, it applies only to the individual cell. It is not a proxy for the containerrow, which also can be expanded. The main use case for providing this attribute on agridcell is pivot table behavior.

AuthorsMUST ensureelements withrole gridcell areaccessibility children of an element with therolerow.

Characteristics:
CharacteristicValue
Superclass Role:
Subclass Roles:
Base Concept:<td> inHTML
Required Accessibility Parent Roles:row
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author

grouprole

A set of user interfaceobjects that is not intended to be included in a page summary or table of contents byassistive technologies.

Contrast withregion, which is a grouping of user interface objects that will be included in a page summary or table of contents.

AuthorsSHOULD use agroup to form a logical collection of items in awidget, such as children in a tree widget forming a collection of siblings in a hierarchy. However, when agroup is used in the context of alistbox, for example, authorsMUST limit its children tooption elements. Therefore, proper handling ofgroup by authors and assistive technologies is determined by the context in which it is provided.

AuthorsMAY nestgroup elements. If a section is significant enough to warrant inclusion in the web page's table of contents, the authorSHOULD assign it arole ofregion or astandard landmark role.

Characteristics:
CharacteristicValue
Superclass Role:section
Subclass Roles:
Related Concepts:<fieldset> inHTML
Supported States and Properties:
Inherited States and Properties:
Name From:author

headingrole

A heading for a section of the page.

To ensure elements with a role ofheading are organized into a logical outline, authorsMUST use thearia-level attribute to indicate the proper nesting level.

Characteristics:
CharacteristicValue
Superclass Role:sectionhead
Related Concepts:<h1>,<h2>,<h3>,<h4>,<h5>, and<h6> inHTML
Required States and Properties:aria-level
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True

imagerole

A container for a collection ofelements that form an image. See synonymimg.

Animg can contain captions and descriptive text, as well as multiple image files that when viewed together give the impression of a single image. Animg represents a single graphic within a document, whether or not it is formed by a collection of drawingobjects. In order for an element with arole ofimg to beperceivable, authorsMUST provide the element with anaccessible name. This can be done using thearia-label oraria-labelledby attribute.

Note
Note regarding theARIA 1.3image role.

Theimage role was added toARIA in version 1.3 as a synonym of theARIA 1.0img role. Theimage role improves syntactic consistency with the names of other roles, which are complete words or concatenations of complete words.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<img> inHTML
Inherited States and Properties:
Name From:author
Accessible Name Required:True
Children Presentational:True

imgrole

A container for a collection ofelements that form an image. See synonymimage.

inputabstract role

A generic type ofwidget that allows user input.

input is anabstract role used for the ontology. AuthorsMUST NOT useinput role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:widget
Subclass Roles:
Supported States and Properties:aria-disabled
Inherited States and Properties:

insertionrole

An insertion contains content that is marked as added or content that is being suggested for addition. See relateddeletion.

Insertions are typically used to either mark differences between two versions of content or to designate content suggested for addition in scenarios where multiple people are revising content.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<ins> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

landmarkabstract role

A perceivablesection containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology.

landmark is an abstract role used for the ontology. AuthorsMUST NOT uselandmark role in content.

Authors designate the purpose of the content by assigning a role that is a subclass of the landmark role and, when needed, by providing a brief, descriptive label.

Elements with a role that is a subclass of the landmark role are known aslandmark regions or navigational landmark regions.

Assistive technologiesSHOULD enable users to quickly navigate to landmark regions.user agentsMAY enable users to quickly navigate to landmark regions.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:section
Subclass Roles:
Inherited States and Properties:

linkrole

An interactive reference to an internal or external resource that, when activated, causes the user agent to navigate to that resource. See relatedbutton.

If this is a native link in the host language (such as anHTML anchor with anhref value), activating the link causes theuser agent to navigate to that resource. If this is a simulated link, the author is responsible for managing navigation.

Note

If pressing the link triggers an action but does not change browser focus or page location, authors are advised to consider using thebutton role instead of thelink role.

Characteristics:
CharacteristicValue
Superclass Role:command
Related Concepts:
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True

listrole

Asection containinglistitem elements. See relatedlistbox.

Lists contain children whoserole islistitem.

Characteristics:
CharacteristicValue
Superclass Role:section
Subclass Roles:
Base Concept:
Allowed Accessibility Child Roles:listitem
Inherited States and Properties:
Name From:author

listboxrole

Awidget that allows the user to select one or more items from a list of choices. See relatedcombobox andlist.

Items within the list are static and, unlike standardHTMLselectelements, can contain images. List boxes contain children whoserole isoption or elements whoserole isgroup which in turn contain children whoserole isoption.

To bekeyboard accessible, authorsSHOULD manage focus ofoption descendants for all instances of thisrole, as described inManaging Focus.

Elements with the rolelistbox have an implicitaria-orientation value ofvertical.

Characteristics:
CharacteristicValue
Superclass Role:
Related Concepts:
Allowed Accessibility Child Roles:
Supported States and Properties:
Inherited States and Properties:
Name From:author
Accessible Name Required:True
Implicit Value for Role:Default foraria-orientation isvertical.

listitemrole

A single item in a list or directory.

AuthorsMUST ensureelements whoserole islistitem areaccessibility children of anelement whoserole islist.

Characteristics:
CharacteristicValue
Superclass Role:section
Subclass Roles:
Base Concept:<li> inHTML
Required Accessibility Parent Roles:
Supported States and Properties:
Inherited States and Properties:
Name From:author

logrole

A type oflive region where new information is added in meaningful order and old information can disappear. See relatedmarquee.

Examples include chat logs, messaging history, game log, or an error log. In contrast to other live regions, in thisrole there is arelationship between the arrival of new items in the log and the reading order. The log contains a meaningful sequence and new information is added only to the end of the log, not at arbitrary points.

Elements with the rolelog have an implicitaria-live value ofpolite.

Characteristics:
CharacteristicValue
Superclass Role:section
Inherited States and Properties:
Name From:author
Implicit Value for Role:Default foraria-live ispolite.

mainrole

Alandmark containing the main content of a document.

This marks the content that is directly related to or expands upon the central topic of the document. Themainrole is a non-obtrusive alternative for "skip to main content" links, where the navigation option to go to the main content (or otherlandmarks) is provided byassistive technologies, or by auser agent or browser extension, through a keyboard shortcut orUI feature such as a side panel or dialog.

Assistive technologiesSHOULD enable users to quickly navigate to elements with rolemain.user agentsSHOULD treat elements with rolemain as navigationallandmarks.user agentsMAY enable users to quickly navigate to elements with rolemain.

The authorSHOULD mark no more than oneelement on a page with themain role.

Note

Becausedocument andapplication elements can be nested in theDOM, they can have multiplemain elements asDOM descendants, assuming each of those is associated with different document nodes, either by aDOM nesting (e.g.,document withindocument) or by use of thearia-owns attribute.

Characteristics:
CharacteristicValue
Superclass Role:landmark
Related Concepts:<main> inHTML
Inherited States and Properties:
Name From:author

markrole

Content which is marked or highlighted for reference or notation purposes, due to the content's relevance in the enclosing context.

Example uses formark include:

  • Highlighting text in a quotation which is of special interest but is not marked in the original source material, comparable to using a highlighter pen to mark passages of a print article.
  • Indicating portions of the content that are relevant to the user's current activity, such as highlighting text matches found by a search feature.

AuthorsSHOULD NOT usemark for purely decorative styling such as syntax highlighting.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<mark> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

marqueerole

A type oflive region where non-essential information changes frequently. See relatedlog.

Common usages ofmarquee include stock tickers and ad banners. The primary difference between amarquee and alog is that logs usually have a meaningful order or sequence of important content changes.

Elements with the rolemarquee have an implicitaria-live value ofoff.

Characteristics:
CharacteristicValue
Superclass Role:section
Inherited States and Properties:
Name From:author

mathrole

Content that represents a mathematical expression.

Content with the rolemath is intended to be marked up in an accessible format such asMathML [MathML3], or with another type of textual representation such as TeX or LaTeX, which can be converted to an accessible format by native browser implementations or a polyfill library.

While it is not ideal to use an image of a mathematical expression, there exists a significant amount of legacy content where images are used to represent mathematical expressions. AuthorsSHOULD ensure that images of math are labeled by text that describes the mathematical expression as it might be spoken.

Note

Browsers that support native implementations ofMathML are able to provide a more robust, accessible math experience than can be accomplished with plain text approximations of math. Some rendering engines have close integration with screen readers that allow spacial touch exploration of the formula and refreshable braille display output in theNemeth Braille format. This level of integration is not supported with images of mathematical formulas, even if the author provides a plain text approximation.

At the time of this writing, some mainstream browsers do not supportMathML natively, and must be retrofit using a JavaScript polyfill library. When authoring math content, use nativeMathML wherever possible, and test thoroughly. Use a polyfill library or provide a fallback image with a text alternative approximation if necessary.

MathML Example with Embedded TeX Annotation

<!--Note: Use a JavaScript polyfill library to ensure     this renders in user agents that do not support MathML. --><!-- The math element has an implicit role="math". --><mathxmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><moform="prefix"></mo><mi>b</mi><mo>±</mo><msqrt><msup><mi>b</mi><mn>2</mn></msup><mo></mo><mn>4</mn><mo>&#x2062;<!-- &InvisibleTimes; --></mo><mi>a</mi><mo>&#x2062;<!-- &InvisibleTimes; --></mo><mi>c</mi></msqrt></mrow><mrow><mn>2</mn><mo>&#x2062;<!-- &InvisibleTimes; --></mo><mi>a</mi></mrow></mfrac></mrow><annotationencoding="TeX">    x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}</annotation></math>

PlainHTML or PolyfillDOM Result of theMathML Quadratic Formula

If a rendering engine does not support a native math format such asMathML, authorsMAY use JavaScript to downgrade the content to a format the browser can display, such as thisHTML image using a data URI and plain text alternative.

<imgrole="math"src="..."alt="x=⟮−b±√⟮b²−4ac⟯⟯÷2a">
Characteristics:
CharacteristicValue
Superclass Role:section
Inherited States and Properties:
Name From:author

menurole

A type ofwidget that offers a list of choices to the user.

A menu is a container, generally rendered as a popup or overlay, for a set of menu items that can be invoked to perform an action or function. The function is almost always closely related or directly related to the element that the user activated to invoke the menu. Activating a menu item both performs the associated function of the menu item, and results in the automatic dismissal of the menu.

Themenurole is appropriate when a set of menu items is presented in a manner similar to a popup menu. For instance, a menu could be used to represent a context menu for its invoking element, or it would be used to render sub-menus for items of amenubar or anothermenu popup.

To bekeyboard accessible, authorsSHOULD manage focus of descendants for all instances of thisrole, as described inManaging Focus.

Elements with the rolemenu have an implicitaria-orientation value ofvertical.

Characteristics:
CharacteristicValue
Superclass Role:
Subclass Roles:
Related Concepts:list
Allowed Accessibility Child Roles:
Inherited States and Properties:
Name From:author
Implicit Value for Role:Default foraria-orientation isvertical.

menubarrole

A presentation ofmenu that usually remains visible and is usually presented horizontally.

Themenubarrole is used to create a menu bar similar to those found in Windows, Mac, and Gnome desktop applications. A menu bar is used to create a consistent set of frequently used commands. AuthorsSHOULD ensure thatmenubar interaction is similar to the typical menu bar interaction in a desktop graphical user interface.

To bekeyboard accessible, authorsSHOULD manage focus of descendants for all instances of thisrole, as described inManaging Focus.

Elements with the rolemenubar have an implicitaria-orientation value ofhorizontal.

Characteristics:
CharacteristicValue
Superclass Role:menu
Related Concepts:toolbar
Allowed Accessibility Child Roles:
Inherited States and Properties:
Name From:author
Implicit Value for Role:Default foraria-orientation ishorizontal.

menuitemrole

An option in a set of choices contained by amenu ormenubar.

AuthorsMUST ensureelements withrolemenuitem areaccessibility children of an element with rolemenu,menubar, or an element with rolegroup that is anaccessibility child of an element with rolemenu ormenubar.

AuthorsMAY disable a menu item with thearia-disabled attribute. If the menu item has itsaria-haspopup attribute set totrue, it indicates that the menu item can be used to launch a sub-level menu, and authorsSHOULD display a new sub-level menu when the menu item is activated.

In order to identify that they are relatedwidgets, authorsMUST ensure that menu items areaccessibility descendants of an element with rolemenu ormenubar. AuthorsMAY separate menu items into sets by use of aseparator or an element with an equivalent role from the native markup language.

Characteristics:
CharacteristicValue
Superclass Role:
Subclass Roles:
Related Concepts:
Required Accessibility Parent Roles:
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True

menuitemcheckboxrole

Amenuitem with a checkable state whose possiblevalues aretrue,false, ormixed.

AuthorsMUST ensureelements withrolemenuitemcheckbox areaccessibility children of an element with rolemenu,menubar, or an element with rolegroup that is anaccessibility child of an element with rolemenu ormenubar.

Thearia-checkedattribute of amenuitemcheckbox indicates whether the menu item is checked (true), unchecked (false), or represents a sub-level menu of other menu items that have a mixture of checked and unchecked values (mixed).

In order to identify that they are relatedwidgets, authorsMUST ensure that menu item checkboxes are theaccessibility descendants of an element with rolemenu ormenubar. AuthorsMAY separate menu items into sets by use of aseparator or an element with an equivalent role from the native markup language.

Characteristics:
CharacteristicValue
Superclass Role:
Related Concepts:menuitemradio
Required Accessibility Parent Roles:
Required States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True
Children Presentational:True

menuitemradiorole

A checkablemenuitem in a set of elements with the same role, only one of which can be checked at a time.

AuthorsMUST ensureelements withrolemenuitemradio areaccessibility children of an element with rolemenu,menubar, or an element with rolegroup that is anaccessibility child of an element with rolemenu ormenubar.

AuthorsSHOULD enforce that only onemenuitemradio in a group can be checked at the same time. When one item in the group is checked, the previously checked item becomes unchecked (itsaria-checkedattribute becomesfalse).

In order to identify that they are relatedwidgets, authorsMUST ensure that menu item radios areaccessibility descendants of an element with rolemenu ormenubar.

If amenu ormenubar contains more than one group ofmenuitemradio elements, or if the menu contains one group and other, unrelated menu items, authorsSHOULD contain each set of relatedmenuitemradio elements in an element using thegroup role. AuthorsMAY also delimit the group from other menu items with an element using theseparator role, or an element with an equivalent role from the native markup language.

Characteristics:
CharacteristicValue
Superclass Role:
Related Concepts:menuitemcheckbox
Required Accessibility Parent Roles:
Required States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True
Children Presentational:True

meterrole

Anelement that represents a scalar measurement within a known range, or a fractional value. See relatedprogressbar.

AuthorsMAY setaria-valuemin andaria-valuemax to indicate the minimum and maximum values for themeter. Otherwise, their implicit values follow the same rules as<input type="range"> inHTML:

The value ofaria-valuenowMUST NOT fall below or exceed the computed values ofaria-valuemin andaria-valuemax, respectively.

AuthorsSHOULD NOT use themeter role to indicate progress; theprogressbar role exists to address that need.

Note

Presently, there are noWAI-ARIA properties corresponding to thelow,optimum, andhigh attributes supported on the<meter> element inHTML. The addition of these properties will be considered forARIA version 1.3.

Characteristics:
CharacteristicValue
Superclass Role:range
Related Concepts:<meter> inHTML
Required States and Properties:aria-valuenow
Inherited States and Properties:
Name From:author
Accessible Name Required:True
Children Presentational:True
Implicit Value for Role: Default foraria-valuemin is0.
Default foraria-valuemax is100.

navigationrole

Alandmark containing a collection of navigationalelements (usually links) for navigating the document or related documents.

Assistive technologiesSHOULD enable users to quickly navigate to elements with rolenavigation.user agentsSHOULD treat elements with rolenavigation as navigationallandmarks.user agentsMAY enable users to quickly navigate to elements with rolenavigation.

Characteristics:
CharacteristicValue
Superclass Role:landmark
Related Concepts:<nav> inHTML
Inherited States and Properties:
Name From:author

nonerole

Anelement whose implicit native role semantics will not be mapped to theaccessibilityAPI. See synonympresentation.

Note
Note regarding theARIA 1.1none role.

InARIA 1.1, the working group introducednone as a synonym to thepresentation role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously considerrole="presentation" to be synonymous witharia-hidden="true", and we believerole="none" conveys the actual meaning more unambiguously.

The intended use is when an element is used to change the look of the page but does not have all the functional, interactive, or structural relevance implied by the element type, or can be used to provide for an accessible fallback in older browsers that do not supportWAI-ARIA.

Example use cases:

For any element with a role ofnone/presentation and which is notfocusable, the user agentMUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibilityAPIs. However, the user agentMUST expose content and descendant elements that do not have an explicit or inherited role ofnone/presentation. Thus, thenone/presentation role causes a given element to be treated as having no role or to be removed from theaccessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.

For example, the following two markup snippets will be exposed similarly to an accessibilityAPI.

<!-- 1. role="none" negates the implicit 'heading' role semantics but does not affect the contents, including the nested hyperlink. --><h1role="none"> Sample Content<ahref="...">let's go!</a></h1><!-- 2. A span has an implicit 'generic' role and no other attributes important to accessibility, so only its content is exposed, including the hyperlink. --><span> Sample Content<ahref="...">let's go!</a></span>

InHTML, the<img>element is treated as a single entity regardless of the type of image file. Consequently, usingrole="none" orrole="presentation" on anHTMLimg is equivalent to usingaria-hidden="true". In order to make the image contents accessible, authors can embed the object using an<object> or<iframe>element, or use inlineSVG code, and follow the accessibility guidelines for the image content.

AuthorsSHOULD NOT provide a non-empty text alternative when thenone/presentation role is applied to an image.

In the following code sample, the containingimg and is appropriately labeled by the caption paragraph. In this example theimg element can be marked asnone/presentation because the role and the text alternatives are provided by the containing element.

<divrole="img"aria-labelledby="caption"><imgsrc="example.png"role="none"alt=""><pid="caption">A visible text caption labeling the image.</p></div>

In the following code sample, because the anchor (HTMLa element) is acting as the treeitem, the list item (HTMLli element) is assigned an explicitWAI-ARIA role ofnone/presentation to override the user agent's implicit native semantics for list items.

<ulrole="tree"><lirole="none"><arole="treeitem"aria-expanded="true">An expanded tree node</a></li></ul>
Presentational Role Inheritance

Thenone/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibilityAPI role for the element. Some elements are only complete when additional descendant elements are provided. For example, inHTML, table elements (matching thetable role) requiretr descendants (which have an implicitrowrole), which in turn requireth ortd children (thecolumnheader orrowheader andcell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described inWAI-ARIA asAllowed Accessibility Child Roles.

When an explicit or inherited role ofnone/presentation is applied to an element with the implicit semantic of aWAI-ARIA role that hasAllowed Accessibility Child Roles, in addition to the element with the explicit role ofnone/presentation, the user agentMUST apply an inherited role ofnone to anyaccessibility descendants that do not have an explicit role defined. Also, when an explicit or inherited role ofnone/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role ofnone/presentation, the user agentMUST apply an inherited role ofnone to any specifically allowed children that do not have an explicit role defined.

For any element with an explicit or inherited role ofnone/presentation and which is not focusable, user agentsMUST ignore role-specificWAI-ARIA states and properties for that element. For example, inHTML, aul orol element with a role ofnone/presentation will have the implicit native semantics of itsli elements removed because thelist role to which theul orol corresponds has anAllowed Accessibility Child Role oflistitem. Likewise, the implicit native semantics of anHTMLtable element'sthead/tbody/tfoot/tr/th/td descendants will also be removed, because theHTML specification indicates that these are required structural descendants of thetable element.

Only the implicit native semantics of elements that correspond toWAI-ARIAAllowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role ofnone/presentation specified.

For example, according to an accessibilityAPI, the following markup elements might have identical or very similar role semantics (generic or none role) and identical content.

<!-- 1. [role="none"] negates the implicit 'list' and 'listitem' role semantics but does not affect the contents. --><ulrole="none"><li> Sample Content</li><li> More Sample Content</li></ul><!-- 2. There is no implicit role for "foo", so only the contents are exposed. --><foo><foo> Sample Content</foo><foo> More Sample Content</foo></foo>
Note

There are otherWAI-ARIA roles with specific allowed children for which this situation is applicable (e.g., feeds and listboxes), but tables and lists are the most common real-world cases in which the none/presentation inheritance is likely to apply.

For any element with an explicit or inherited role ofnone/presentation, user agentsMUST apply an inherited role ofnone to all host-language-specific labeling elements for the presentational element. For example, atable element with a role ofnone/presentation will have the implicit native semantics of itscaption element removed, because the caption is merely a label for the presentational table.

Editor's note

Information aboutresolving conflicts in the none/presentation role has been moved toHandling Author Errors

Characteristics:
CharacteristicValue
Superclass Role:structure
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

noterole

Asection whose content represents additional information or parenthetical context to the primary content it supplements.

Anote is content provided by the author of the page or document, it is not to be used for providing reactions or suggestions. For these purposes, please reviewcomment andsuggestion.

When used within the normal flow of a page's content, anote has an implicit association with the content that it supplements. The following example demonstrates using anote to call out additional information in the natural reading order of a page:

<p>... the following results outline support for the tested features.</p><divrole="note"><p>Please keep in mind that at the time of publishing this page all results were accurate.</p><p>If you find any variations in results, please let us know!</p></div><p>...</p>

In cases where an element with rolenote has been determined to need a programmatic association with the content it supplements, authors can use one of the following mechanisms to associate the elements:

  • If thenote contains structured or interactive content (for example, a link, button, list, table, etc.) usearia-details.
  • If thenote is brief and consists of static text, usearia-describedby.
<!-- using aria-details to reference a note containing a link --> ...<buttonaria-details="info-note">Get Started</button>...<divrole="note"id="info-note"><p>Need more information before you get started?</p><p>Visit our<ahref="...">product description page</a> to get all the information you need.</p></div>
Characteristics:
CharacteristicValue
Superclass Role:section
Inherited States and Properties:
Name From:author

optionrole

An item in alistbox.

AuthorsMUST ensureelements withroleoption areaccessibility children of an element withrolelistbox or of an element withrolegroup that is theaccessibility child of an element withrolelistbox. Options not associated with alistbox might not be correctly mapped to anaccessibilityAPI.

In certain conditions, a user agentMAY provide an implicit value foraria-selected for eachoption in alistbox, and if it does, the user agentMUST ensure the following conditions are met before providing an implicit value:

If a user agent provides an implicitaria-selected value for anoption, the valueSHOULD betrue if theoption hasDOM focus or thelistbox hasDOM focus and theoption is referenced byaria-activedescendant. Otherwise, if a user agent provides an implicitaria-selected value for anoption, the valueSHOULD befalse.

AuthorsSHOULD indicate selection foroption elements using one of the following:

AuthorsSHOULD NOT specify botharia-selected andaria-checked onoption elements contained by the samelistbox except in the extremely rare circumstances where all the following conditions are met:

  • The meaning and purpose ofaria-selected is different from the meaning and purpose ofaria-checked in the user interface.
  • The user interface makes the meaning and purpose of each state apparent.
  • The user interface provides a separate method for controlling each state.
Characteristics:
CharacteristicValue
Superclass Role:input
Subclass Roles:
Base Concept:<option> inHTML
Related Concepts:listitem
Required Accessibility Parent Roles:
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True
Children Presentational:True

paragraphrole

A paragraph of content.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<p> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

presentationrole

Anelement whose implicit native role semantics will not be mapped to theaccessibilityAPI. See synonymnone.

Note
Note regarding theARIA 1.1none role.

InARIA 1.1, the working group introducednone as the preferred synonym to thepresentation role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously considerrole="presentation" to be synonymous witharia-hidden="true", and theARIA Working Group believesrole="none" conveys the actual meaning more unambiguously.

progressbarrole

Anelement that displays the progress status for tasks that take a long time.

A progressbar indicates that the user's request has been received and the application is making progress toward completing the requested action.

AuthorsMAY setaria-valuemin andaria-valuemax to indicate the minimum and maximum progress indicator values. Otherwise, their implicit values follow the same rules as<input type="range"> inHTML:

The authorSHOULD supply avalue foraria-valuenow unless the value is indeterminate, in which case the authorSHOULD omit thearia-valuenow attribute. AuthorsSHOULD update this value when the visual progress indicator is updated. If theprogressbar is describing the loading progress of a particular region of a page, authorsSHOULD both usearia-describedby to reference the progressbar status, and set thearia-busy attribute totrue on the region until it is finished loading. It is not possible for the user to alter the value of aprogressbar because it is always read-only.

Note

Assistive technologies generally will render the value ofaria-valuenow as a percent of a range between the value ofaria-valuemin andaria-valuemax, unlessaria-valuetext is specified.

Characteristics:
CharacteristicValue
Superclass Role:
Related Concepts:status
Inherited States and Properties:
Name From:author
Accessible Name Required:True
Children Presentational:True
Implicit Value for Role: Default foraria-valuemin is0.
Default foraria-valuemax is100.

radiorole

A checkable input in a group of elements with the same role, only one of which can be checked at a time.

AuthorsSHOULD ensure thatelements with roleradio are explicitly grouped in order to indicate which ones affect the same value. This is achieved by enclosing the radio elements in an element with roleradiogroup. If it is not possible to make the radio buttonsDOM children of theradiogroup, authorsSHOULD use thearia-ownsattribute on theradiogroup element to indicate therelationship to its children.

Characteristics:
CharacteristicValue
Superclass Role:
Related Concepts:<input type="radio"> inHTML
Required States and Properties:
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True
Children Presentational:True

radiogrouprole

A group ofradio buttons.

Aradiogroup is a type ofselect list that can only have a single entry checked at any one time. AuthorsSHOULD enforce that only one radio button in a group can be checked at the same time. When one item in the group is checked, the previously checked item becomes unchecked (itsaria-checkedattribute becomesfalse).

AuthorsSHOULD provide an accessible name for aradiogroup, which can be done with thearia-label oraria-labelledby attribute. AuthorsSHOULD reference a visible label witharia-labelledby if a visible label is present for theradiogroup.

Characteristics:
CharacteristicValue
Superclass Role:select
Related Concepts:list
Supported States and Properties:
Inherited States and Properties:
Name From:author

rangeabstract role

An element representing a range of values.

range is anabstract role used for the ontology. AuthorsMUST NOT userange role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:structure
Subclass Roles:
Supported States and Properties:
Inherited States and Properties:

regionrole

Alandmark containing content that is relevant to a specific, author-specified purpose and sufficiently important that users will likely want to be able to navigate to the section easily and to have it listed in a summary of the page. Such a page summary could be generated dynamically by a user agent or assistive technology.

AuthorsSHOULD limit use of the region role to sections containing content with a purpose that is not accurately described by one of the otherlandmark roles, such asmain,complementary, ornavigation.

AuthorsMUST give each element with role region a brief label that describes the purpose of the content in the region. AuthorsSHOULD reference a visible label witharia-labelledby if a visible label is present. AuthorsSHOULD include the label inside of a heading whenever possible. The headingMAY be an instance of the standard host language heading element or an instance of an element with roleheading.

Assistive technologiesSHOULD enable users to quickly navigate to elements with roleregion.User agentsSHOULD treat elements with roleregion and an accessible name as navigationallandmarks.User agentsMAY enable users to quickly navigate to elements with roleregion.

Characteristics:
CharacteristicValue
Superclass Role:landmark
Related Concepts:<section> inHTML
Inherited States and Properties:
Name From:author
Accessible Name Required:True

roletypeabstract role

The baserole from which all other roles inherit.

Properties of this role describe the structural and functional purpose ofobjects that are assigned this role. A role is a concept that can be used to understand and operate instances.

roletype is anabstract role used for the ontology. AuthorsMUST NOT useroletype role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Subclass Roles:
Supported States and Properties:

rowrole

A row of cells in a tabular container.

Rows containcell orgridcellelements, and thus serve to organize atable,grid, ortreegrid.

While the row role can be used in atable,grid, ortreegrid, the semantics ofaria-expanded,aria-posinset,aria-setsize, andaria-level are only applicable to the hierarchical structure of an interactive tree grid. Therefore, authorsMUST NOT applyaria-expanded,aria-posinset,aria-setsize, andaria-level to arow that descends from atable orgrid, and user agentsSHOULD NOT expose any of these four properties to assistive technologies unless therow descends from atreegrid.

AuthorsMUST ensureelements withrolerow areaccessibility children of an element with the roletable,grid,rowgroup, ortreegrid.

Note: Usage of aria-disabled

Whilearia-disabled is currently supported onrow, in a future version the working group plans to prohibit its on elements with rolerow except when the element is in the context of agrid ortreegrid.

Characteristics:
CharacteristicValue
Superclass Role:
Base Concept:<tr> inHTML
Required Accessibility Parent Roles:
Allowed Accessibility Child Roles:
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author

rowgrouprole

A structure containing one or more row elements in a tabular container.

Therowgroup role establishes arelationship with itsaccessibility children of rolerow. It is a structural equivalent to thethead,tfoot, andtbody elements in anHTMLtableelement.

AuthorsMUST ensureelements withrolerowgroup areaccessibility children of an element with the rolegrid,table, ortreegrid.

Note

Therowgroup role exists, in part, to support role symmetry inHTML, and allows for the propagation of presentation inheritance onHTMLtable elements with an explicitpresentation role applied.

This role does not differentiate between types of row groups (e.g.,thead vs.tbody), but an issue has been raised forWAI-ARIA 2.0.

Characteristics:
CharacteristicValue
Superclass Role:structure
Base Concept:<tbody>,<tfoot> and<thead>inHTML
Required Accessibility Parent Roles:
Allowed Accessibility Child Roles:row
Inherited States and Properties:
Name From:author

rowheaderrole

A cell containing header information for a row.

Therowheader role can be used to identify a cell as a header for a row in atable,grid, ortreegrid. The rowheader establishes arelationship between it and all cells in the corresponding row. It is a structural equivalent to settingscope="row" on anHTMLthelement.

AuthorsMUST ensureelements withrolerowheader areaccessibility children of an element with the rolerow.

Applying thearia-selected state on a rowheaderMUST NOT cause the user agent to automatically propagate thearia-selected state to all the cells in the corresponding row. An authorMAY choose to propagate selection in this manner depending on the specific application.

While therowheader role can be used in both interactive grids and non-interactive tables, the use ofaria-expanded,aria-readonly, andaria-required is only applicable to interactive elements. Therefore, authorsSHOULD NOT usearia-expanded,aria-readonly, oraria-required in arowheader that descends from atable, and user agentsSHOULD NOT expose these properties toassistive technologies unless therowheader descends from agrid ortreegrid.

Note: Usage of aria-disabled

Whilearia-disabled is currently supported onrowheader, in a future version the working group plans to prohibit its use on elements with rolerowheader except when the element is in the context of agrid ortreegrid.

Characteristics:
CharacteristicValue
Superclass Role:
Base Concept:<th scope="row"> inHTML
Required Accessibility Parent Roles:row
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True

scrollbarrole

A graphical object that controls the scrolling of content within a viewing area, regardless of whether the content is fully displayed within the viewing area.

A scrollbar represents the current value and range of possible values via the size of the scrollbar and position of the thumb with respect to the visible range of the orientation (horizontal or vertical) it controls. Its orientation represents the orientation of the scrollbar and the scrolling effect on the viewing area controlled by the scrollbar. It is typically possible to add to or subtract from the current value by using directional keys such as arrow keys.

AuthorsMAY set thearia-controls attribute on the scrollbar element to reference the scrollable area it controls.

AuthorsMAY setaria-valuemin andaria-valuemax to indicate the minimum and maximum thumb position. Otherwise, their implicit values follow the same rules as<input type="range"> inHTML:

AuthorsMUST set thearia-valuenow attribute to indicate the current thumb position. If aria-valuenow is missing or has an unexpected value,user agentsMAY implement the repair techniques specified in thesection describing handling author errors in states and properties, which are equivalent to the repair techniques for<input type="range"> inHTML.

Elements with the rolescrollbar have an implicitaria-orientation value ofvertical.

Note

Assistive technologies generally will render the value ofaria-valuenow as a percent of a range between the value ofaria-valuemin andaria-valuemax, unlessaria-valuetext is specified. It is best to set the values foraria-valuemin,aria-valuemax, andaria-valuenow in a manner that is appropriate for this calculation.

Characteristics:
CharacteristicValue
Superclass Role:
Required States and Properties:
Supported States and Properties:
Inherited States and Properties:
Name From:author
Children Presentational:True
Implicit Value for Role: Default foraria-orientation isvertical.
Default foraria-valuemin is0.
Default foraria-valuemax is100.

searchrole

Alandmark region that contains a collection of items and objects that, as a whole, combine to create a search facility. See relatedform andsearchbox.

A search region can be a mix of host language form controls, scripted controls, and hyperlinks.

Assistive technologiesSHOULD enable users to quickly navigate to elements with rolesearch.user agentsSHOULD treat elements with rolesearch as navigationallandmarks.user agentsMAY enable users to quickly navigate to elements with rolesearch.

Characteristics:
CharacteristicValue
Superclass Role:landmark
Base Concept:HTMLsearch
Inherited States and Properties:
Name From:author

searchboxrole

A type of textbox intended for specifying search criteria. See relatedtextbox andsearch.

Characteristics:
CharacteristicValue
Superclass Role:textbox
Base Concept:<input type="search"> inHTML
Inherited States and Properties:
Name From:author
Accessible Name Required:True

sectionabstract role

A renderable structural containment unit on a page.

section is anabstract role used for the ontology. AuthorsMUST NOT usesection role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:structure
Subclass Roles:
Inherited States and Properties:

sectionfooterrole

A set of user interface objects and information representing information about its closest ancestral content group. For instance, asectionfooter can include information about who wrote the specific section of content, such as anarticle. It can contain links to related documents, copyright information or other indices and colophon specific to the current section of the page.

Asectionfooter does not represent information about the parent document, or globally repeating content found across multiple pages related to the website. For such content, thecontentinfo role would be more appropriate.

Characteristics:
CharacteristicValue
Superclass Role:section
Base Concept:<footer> inHTML
Inherited States and Properties:
Name From:author

sectionheadabstract role

A structure that labels or summarizes the topic of its related section.

sectionhead is anabstract role used for the ontology. AuthorsMUST NOT usesectionhead role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:structure
Subclass Roles:
Inherited States and Properties:

sectionheaderrole

A set of user interface objects and information that represents a collection of introductory items for the element's closest ancestral content group. For instance, asectionheader can include the heading, introductory statement and related meta data for a section of content, for instance aregion orarticle, within a web page.

Asectionheader does not represent site-oriented or globally repeating content found across multiple pages of a website. For such content, thebanner role would be more appropriate.

Characteristics:
CharacteristicValue
Superclass Role:section
Base Concept:<header> inHTML
Inherited States and Properties:
Name From:author

selectabstract role

A form widget that allows the user to make selections from a set of choices.

select is anabstract role used for the ontology. AuthorsMUST NOT useselect role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:
Subclass Roles:
Supported States and Properties:aria-orientation
Inherited States and Properties:

separatorrole

A divider that separates and distinguishes sections of content or groups of menuitems.

There are two types of separators: a staticstructure that provides only a visible boundary and afocusable, interactivewidget that is also moveable. If aseparator is not focusable, it is revealed toassistive technologies as a static structural element. For example, a staticseparator can be used to help visually divide two groups of menu items in a menu or to provide a horizontal rule between two sections of a page.

AuthorsMAY make aseparator focusable to create awidget that both provides a visible boundary between two sections of content and enables the user to change the relative size of the sections by changing the position of theseparator. A variableseparator widget can be moved continuously within a range, whereas a fixedseparator widget supports only two discrete positions. Typically, a fixedseparator widget is used to toggle one of the sections between expanded and collapsed states.

If theseparator is focusable, authorsMUST set the value ofaria-valuenow to anumber reflecting the current position of theseparator and update that value when it changes. AuthorsSHOULD also provide the value ofaria-valuemin if it is not0 and the value ofaria-valuemax if it is not100. If missing or not a number, the implicit values of these attributes are as follows:

  • The implicit value ofaria-valuemin is0.
  • The implicit value ofaria-valuemax is100.

In applications where there is more than one focusableseparator, authorsSHOULD provide an accessible name for each one.

Elements with the roleseparator have an implicitaria-orientation value ofhorizontal.

Characteristics:
CharacteristicValue
Superclass Role:
Related Concepts:<hr> inHTML
Required States and Properties:aria-valuenow (if focusable)
Supported States and Properties:
Inherited States and Properties:
Name From:author
Children Presentational:True
Implicit Value for Role: Default foraria-orientation ishorizontal.
Default foraria-valuemin is0.
Default foraria-valuemax is100.

sliderrole

An input where the user selects a value from within a given range.

A slider represents the current value and range of possible values via the size of the slider and position of the thumb. It is typically possible to add to or subtract from the current value by using directional keys such as arrow keys.

AuthorsMAY set thearia-valuemin andaria-valuemax attributes. Otherwise, their implicit values follow the same rules as<input type="range"> inHTML:

AuthorsMUST set thearia-valuenow attribute. If aria-valuenow is missing or has an unexpected value, browsersMAY implement the repair techniques specified in thesection describing handling author errors in states and properties, which are equivalent to the repair techniques for<input type="range"> inHTML.

Elements with the roleslider have an implicitaria-orientation value ofhorizontal.

Characteristics:
CharacteristicValue
Superclass Role:
Required States and Properties:
Supported States and Properties:
Inherited States and Properties:
Name From:author
Accessible Name Required:True
Children Presentational:True
Implicit Value for Role: Default foraria-orientation ishorizontal.
Default foraria-valuemin is0.
Default foraria-valuemax is100.

spinbuttonrole

A form ofrange that expects the user to select from among discrete choices.

Aspinbutton typically allows users to change its displayed value by activating increment and decrement buttons that step through a set of allowed values. Some implementations display the value in an text field that allows editing and typing but typically limits input in ways that help prevent invalid values.

Although aspinbutton is similar in appearance to many presentations ofselect, it is advisable to usespinbutton when working with known ranges (especially in the case of large ranges) as opposed to distinct options. For example, aspinbutton representing a range from 1 to 1,000,000 would provide much better performance than aselectwidget representing the same values.

AuthorsMAY create aspinbutton withaccessibility children, butMUST limit those elements to atextbox and/or twobuttons. Alternatively, authorsMAY apply thespinbutton role to a text input and create sibling buttons to support the increment and decrement functions.

To bekeyboard accessible, authorsSHOULD manage focus of descendants for all instances of thisrole, as described inManaging Focus. When aspinbutton receives focus, authorsSHOULD ensure focus is placed on thetextbox element if one is present, and on thespinbutton itself otherwise. AuthorsSHOULD also ensure theup anddown arrows on a keyboard perform the increment and decrement functions and that the increment and decrementbutton elements areNOT included in the primary navigation ring, e.g., the Tab ring inHTML.

AuthorsSHOULD set thearia-valuenow attribute when thespinbutton has a value. AuthorsSHOULD set thearia-valuemin attribute when there is a minimum value, and thearia-valuemax attribute when there is a maximum value.

Characteristics:
CharacteristicValue
Superclass Role:
Supported States and Properties:
Inherited States and Properties:
Name From:author
Accessible Name Required:True
Implicit Value for Role: Default foraria-valuemin is that there is no minimum value.
Default foraria-valuemax is that there is no maximum value.
Default foraria-valuenow is that there is no current value.

statusrole

A type oflive region whose content is advisory information for the user but is not important enough to justify analert, often but not necessarily presented as a status bar.

AuthorsSHOULD ensure an element with rolestatus does not receive focus as a result of change in status.

Status is a form oflive region. If another part of the page controls what appears in the status, authorsSHOULD make therelationship explicit with thearia-controlsattribute.

Assistive technologiesMAY reserve some cells of a Braille display to render the status.

Elements with the rolestatus have an implicitaria-live value ofpolite and an implicitaria-atomic value oftrue.

Characteristics:
CharacteristicValue
Superclass Role:section
Subclass Roles:
Related Concepts:<output> inHTML
Inherited States and Properties:
Name From:author
Implicit Value for Role: Default foraria-live ispolite.
Default foraria-atomic istrue.

strongrole

Content that is important, serious, or urgent. See relatedemphasis.

The purpose of thestrong role is to communicate strong importance, seriousness, or urgency. It is not for communicating changes in typographical presentation that are not important to the meaning of the content. AuthorsSHOULD use thestrong role only if its absence would change the meaning of the content.

Thestrong role is not intended to convey stress or emphasis; for that purpose, theemphasis role is more appropriate.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<strong> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

structureabstract role

A document structuralelement.

Roles for document structure support the accessibility of dynamic web content by helpingassistive technologies determine active content versus static document content. Structural roles by themselves do not all map toaccessibilityAPIs, but are used to createwidget roles or assist content adaptation for assistive technologies.

structure is anabstract role used for the ontology. AuthorsMUST NOT usestructure role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:roletype
Subclass Roles:
Inherited States and Properties:

subscriptrole

One or more subscripted characters. See relatedsuperscript.

Thesubscript role is intended to be used only to mark up typographical conventions that have specific meanings; not for typographical presentation for presentation's sake. In general, authorsSHOULD use this role only if the absence of the subscript would change the meaning of the content.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<sub> and<sup> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

suggestionrole

A single proposed change to content.

For example, in an editing system that supports multiple users, one user can suggest a change, and another user would be responsible for accepting or rejecting the suggestion.

AuthorsMUST ensure that asuggestion contains either oneinsertion child or onedeletion child or ensure that it contains two children where one is aninsertion and the other is adeletion. AuthorsMUST ensure asuggestion does not contain any other children.

AuthorsMAY usearia-details oraria-description to associate thesuggestion with related information such as comments, authoring info, and time stamps.

<p>  The best pet is a<spanrole="suggestion"><spanrole="deletion">cat</span><spanrole="insertion">dog</span></span></p>

When a suggestion is accepted, authorsSHOULD remove thesuggestion role, indicating that the proposed revision has been made. After thesuggestion role is removed, childinsertion anddeletion elements can either be retained to document the revision or replaced with the revised content.

Characteristics:
CharacteristicValue
Superclass Role:section
Allowed Accessibility Child Roles:
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

superscriptrole

One or more superscripted characters. See relatedsubscript.

Thesuperscript role is intended to be used only to mark up typographical conventions that have specific meanings; not for typographical presentation for presentation's sake. In general, authorsSHOULD use this role only if the absence of the superscript would change the meaning of the content.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<sub> and<sup> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

switchrole

A type of checkbox that represents on/off values, as opposed to checked/unchecked values. See relatedcheckbox.

Thearia-checkedattribute of aswitch indicates whether the input is on (true) or off (false). Themixed value is invalid, and user agentsMUST treat amixed value as equivalent tofalse for this role.

Note

Aswitch provides approximately the same functionality as acheckbox and togglebutton, but makes it possible for assistive technologies to present the widget in a fashion consistent with its on-screen appearance.

Characteristics:
CharacteristicValue
Superclass Role:checkbox
Related Concepts:button
Required States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True
Children Presentational:True

tabrole

A grouping label providing a mechanism for selecting the tab content that is to be rendered to the user.

If atabpanel or item in atabpanel has focus, the associatedtab is the currently active tab in thetablist, as defined inManaging Focus.tablist elements, which contain a set of associatedtab elements, are typically placed near a series oftabpanel elements, usually preceding it. See theARIA Authoring Practices Guide for details on implementing a tab set design pattern.

AuthorsMUST ensureelements withroletab areaccessibility children of an element with the roletablist.

AuthorsMUST ensure that if atab is active, a correspondingtabpanel that represents the activetab is rendered.

AuthorsSHOULD ensure thetabpanel associated with the currently active tab isperceivable to the user.

For a single-selectabletablist, authorsSHOULDhide from all users othertabpanelelements until the user selects the tab associated with that tabpanel. For a multi-selectabletablist, authorsSHOULD ensure that thetab for each visibletabpanel has thearia-expandedattribute set totrue, and that thetabs associated with the remaininghidden from all userstabpanel elements have theiraria-expanded attributes set tofalse.

AuthorsSHOULD ensure that a selected tab has itsaria-selected attribute set totrue, that inactive tab elements have theiraria-selected attribute set tofalse, and that the currently selected tab provides a visual indication that it is selected.

In certain conditions, a user agentMAY provide an implicit value foraria-selected for eachtab in atablist, and if it does, the user agentMUST ensure the following conditions are met before providing an implicit value:

Characteristics:
CharacteristicValue
Superclass Role:
Required Accessibility Parent Roles:tablist
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True
Children Presentational:True
Implicit Value for Role:Default foraria-selected isfalse.

tablerole

Asection containing data arranged in rows and columns. See relatedgrid.

Thetable role is intended for tabular containers which are not interactive. If the tabular container maintains a selection state, provides its own two-dimensional navigation, or allows the user to rearrange or otherwise manipulate its contents or the display thereof, authorsSHOULD usegrid ortreegrid instead.

AuthorsSHOULD provide an accessible name for atable, which can be done with thearia-label oraria-labelledby attribute. AuthorsSHOULD reference a visible label witharia-labelledby if a visible label is present for thetable.

AuthorsSHOULD prefer the use of the host language's semantics for table whenever possible, such as the<table> element inHTML.

Characteristics:
CharacteristicValue
Superclass Role:section
Subclass Roles:
Base Concept:<table> inHTML
Allowed Accessibility Child Roles:
Supported States and Properties:
Inherited States and Properties:
Name From:author

tablistrole

A list oftabelements, which are references totabpanel elements.

To bekeyboard accessible, authorsSHOULD manage focus of descendants for all instances of thisrole, as described inManaging Focus.

For a single-selectabletablist, authorsSHOULDhide from all users othertabpanelelements until the user selects the tab associated with that tabpanel. For a multi-selectabletablist, authorsSHOULD ensure that thetab for each visibletabpanel has thearia-expandedattribute set totrue, and that thetabs associated with the remaininghidden from all userstabpanel elements have theiraria-expanded attributes set tofalse.

tablist elements are typically placed near, and usually preceding, a series oftabpanel elements. See theARIA Authoring Practices Guide for details on implementing a tab set design pattern.

Elements with the roletablist have an implicitaria-orientation value ofhorizontal.

Characteristics:
CharacteristicValue
Superclass Role:
Allowed Accessibility Child Roles:tab
Supported States and Properties:
Inherited States and Properties:
Name From:author
Implicit Value for Role:Default foraria-orientation ishorizontal.

tabpanelrole

A container for the resources associated with atab, where eachtab is contained in atablist.

AuthorsSHOULD associate atabpanelelement with itstab, by using thearia-controls attribute on the tab to reference the tab panel, and/or by using thearia-labelledby attribute on the tab panel to reference the tab.

tablist elements are typically placed near, and usually preceding, a series oftabpanel elements. See theARIA Authoring Practices Guide for details on implementing a tab set design pattern.

Characteristics:
CharacteristicValue
Superclass Role:section
Inherited States and Properties:
Name From:author
Accessible Name Required:True

termrole

A word or phrase with an optional corresponding definition. See relateddefinition.

Theterm role is used to explicitly identify a word or phrase for which adefinition has been provided by the author or is expected to be provided by the user. If there is an existingdefinition, or a form or form control to enter a definition, authorsSHOULD setaria-details to point to the related element.

AuthorsSHOULD NOT use theterm role on interactive elements such as links because doing so could prevent users ofassistive technologies from interacting with those elements.

Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<dfn> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

textboxrole

A type of input that allows free-form text as its value.

If thearia-multilineattribute istrue, thewidget accepts line breaks within the input, as in anHTMLtextarea. Otherwise, this is a simple text box. The intended use is for languages that do not have a text inputelement, or cases in which an element with differentsemantics is repurposed as a text field.

AuthorsMUST limit the children of a textbox to non-interactive, entirely presentational elements such as icons used to visually convey information that is already exposed in an accessible manner. Examples include:

  • an error icon, where the containing textbox has been provided anaria-invalid,aria-errormessage, or both attributes;
  • an icon of a user silhouette, where the textbox is also visibly labeled or provided an accessible name of "name" or "username"; and
  • a graphical status indicator, such as a gauge to represent characters remaining, which represents dynamically updating text available outside of the textbox.
Note

In most user agent implementations, the default behavior of theENTER orRETURN key is different between the single-line and multi-line text fields inHTML. When user has focus in a single-line<input type="text"> element, the keystroke usually submits the form. When user has focus in a multi-line<textarea> element, the keystroke inserts a line break. TheWAI-ARIAtextbox role differentiates these types of boxes with thearia-multiline attribute, so authors are advised to be aware of this distinction when designing the field.

Characteristics:
CharacteristicValue
Superclass Role:input
Subclass Roles:
Related Concepts:
Supported States and Properties:
Inherited States and Properties:
Name From:author
Accessible Name Required:True

timerole

An element that represents a specific point in time.

Note

At the present time, there are noWAI-ARIA properties corresponding to thedatetime attribute supported on<time> inHTML. The addition of this property will be considered forARIA version 1.3.

AuthorsSHOULD limit text contents to a valid date- or time-related string, or apply this futuredatetime-equivalent property to the element which has roletime.

Example 24

Examples of valid date- or time-related strings as text contents of an element with thetime role:

  • A valid month string:<span role="time">2019-11</span>
  • A valid date string:<span role="time">2019-11-18</span>
  • A valid yearless date string:<span role="time">11-18</span>
  • A valid time string:<span role="time">09:54:39</span>
  • A valid floating date and time string:<span role="time">2019-11-18T14:54</span>
  • A valid time-zone offset string:<span role="time">-08:00</span>
  • A valid global date and time string:<span role="time">2019-11-18T14:54Z</span>
  • A valid week string:<span role="time">2019-W47</span>
  • Four or more ASCII digits, at least one of which is not U+0030 DIGIT ZERO (0):<span role="time">0001</span>
  • A valid duration string:<span role="time">4h 18m 3s</span>
Characteristics:
CharacteristicValue
Superclass Role:section
Related Concepts:<time> inHTML
Inherited States and Properties:
Prohibited States and Properties:
Name From:prohibited

timerrole

A type oflive region containing a numerical counter which indicates an amount of elapsed time from a start point, or the time remaining until an end point.

The text contents of the timerobject indicate the current time measurement, and are updated as that amount changes. The timer value is not necessarily machine parsable, but authorsSHOULD update the text contents at fixed intervals, except when the timer is paused or reaches an end-point.

Elements with the roletimer have an implicitaria-live value ofoff.

Characteristics:
CharacteristicValue
Superclass Role:status
Inherited States and Properties:
Name From:author
Implicit Value for Role:Default foraria-live isoff.

toolbarrole

A collection of commonly used function buttons or controls represented in compact visual form.

The toolbar is often a subset of functions found in amenubar, designed to reduce user effort in using these functions. AuthorsMUST supply a label on each toolbar when the application contains more than one toolbar.

AuthorsMAY manage focus of descendants for all instances of thisrole, as described inManaging Focus.

Elements with the roletoolbar have an implicitaria-orientation value ofhorizontal.

Characteristics:
CharacteristicValue
Superclass Role:group
Related Concepts:menubar
Supported States and Properties:aria-orientation
Inherited States and Properties:
Name From:author
Implicit Value for Role:Default foraria-orientation ishorizontal.

tooltiprole

A contextual popup that displays a description for an element.

Thetooltip typically becomes visible, after a short delay, in response to a mouse hover, or after theaccessibility parent receives keyboard focus. The use of aWAI-ARIA tooltip is a supplement to the normal tooltip behavior of the user agent.

Typical tooltip delays last from one to five seconds.

AuthorsSHOULD ensure that elements with theroletooltip are referenced through the use ofaria-describedby before or at the time the tooltip is displayed.

Characteristics:
CharacteristicValue
Superclass Role:section
Inherited States and Properties:
Name From:
  • contents
  • author

treerole

Awidget that allows the user to select one or more items from a hierarchically organized collection.

To bekeyboard accessible, authorsSHOULD manage focus of descendants for all instances of thisrole, as described inManaging Focus.

Elements with the roletree have an implicitaria-orientation value ofvertical.

Characteristics:
CharacteristicValue
Superclass Role:select
Subclass Roles:
Allowed Accessibility Child Roles:treeitem
Supported States and Properties:
Inherited States and Properties:
Name From:author
Accessible Name Required:True
Implicit Value for Role:Default foraria-orientation isvertical.

treegridrole

Agrid whose rows can be expanded and collapsed in the same manner as for atree.

Ifaria-readonly is set on anelement withroletreegrid,user agentsMUST propagate the value to allgridcell elements that areaccessibility descendants of thetreegrid and expose the value in the accessibilityAPI. An authorMAY override the propagated value ofaria-readonly for an individualgridcell element.

When thearia-readonly attribute is applied to afocusablegridcell, it indicates whether the content contained in thegridcell is editable. Thearia-readonly attribute does not represent availability of functions for navigating or manipulating thetreegrid itself.

In atreegrid that provides content editing functions, if the content of a focusablegridcell element is not editable, authorsMAY setaria-readonly totrue on thegridcell element. However, if atreegrid presents a collection of elements that do not supportaria-readonly, such as a collection oflink elements, it is not necessary for the author to specify a value foraria-readonly.

To bekeyboard accessible, authorsSHOULD manage focus of descendants for all instances of thisrole, as described inManaging Focus.

Characteristics:
CharacteristicValue
Superclass Role:
Allowed Accessibility Child Roles:
Inherited States and Properties:
Name From:author
Accessible Name Required:True

treeitemrole

An item in atree.

Atreeitemelement can contain a sub-level group of elements that can be expanded or collapsed. An expandable collection oftreeitem elements are enclosed in an element with thegrouprole.

AuthorsMUST ensureelements withroletreeitem areaccessibility children of an element with roletree or an element with rolegroup that is theaccessibility child of an element with roletreeitem.

In certain conditions, a user agentMAY provide an implicit value foraria-selected for eachtreeitem in atree, and if it does, the user agentMUST ensure the following conditions are met before providing an implicit value:

If a user agent provides an implicitaria-selected value for atreeitem, the valueSHOULD betrue if thetreeitem hasDOM focus or thetree hasDOM focus and thetreeitem is referenced byaria-activedescendant. Otherwise, if a user agent provides an implicitaria-selected value for atreeitem, the valueSHOULD befalse.

AuthorsMAY indicate selection fortreeitem elements using eitheraria-selected oraria-checked. Some user interfaces indicate selection witharia-selected in single-select trees and witharia-checked in multi-select trees. AuthorsSHOULD NOT specify botharia-selected andaria-checked ontreeitem elements contained by the sametree except in the extremely rare circumstances where all the following conditions are met:

  • The meaning and purpose ofaria-selected is different from the meaning and purpose ofaria-checked in the user interface.
  • The user interface makes the meaning and purpose of each state apparent.
  • The user interface provides a separate method for controlling each state.
Characteristics:
CharacteristicValue
Superclass Role:
Required Accessibility Parent Roles:
Supported States and Properties:
Inherited States and Properties:
Name From:
  • contents
  • author
Accessible Name Required:True

widgetabstract role

An interactive component of a graphical user interface (GUI).

Widgets are discrete user interface objects with which the user can interact. Widgetroles map to standard features inaccessibilityAPIs. When the user navigates an element assigned any of the non-abstract subclass roles ofwidget,assistive technologies that typically intercept standard keyboard eventsSHOULD switch to an application browsing mode, and pass keyboard events through to the web application. The intent is to hint to certainassistive technologies to switch from normal browsing mode into a mode more appropriate for interacting with a web application; someuser agents have a browse navigation mode where keys, such as up and down arrows, are used to browse the document, and this native behavior prevents the use of these keys by a web application.

widget is anabstract role used for the ontology. AuthorsMUST NOT usewidget role in content.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:roletype
Subclass Roles:
Inherited States and Properties:

windowabstract role

A browser or application window.

Elements with thisrole have a window-like behavior in a graphical user interface (GUI) context, regardless of whether they are implemented as a native window in the operating system, or merely as a section of the document styled to look like a window.

window is anabstract role used for the ontology. AuthorsMUST NOT usewindow role in content.

Note

In the description of this role, the term "application" does not refer to theapplication role, which specifies specific assistive technology behaviors.

Characteristics:
CharacteristicValue
Is Abstract:True
Superclass Role:roletype
Subclass Roles:
Supported States and Properties:aria-modal
Inherited States and Properties:

6.Supported States and Properties

6.1Clarification of States versus Properties

The terms "states" and "properties" refer to similar features. Both provide specific information about anobject, and both form part of the definition of the nature ofroles. In this document, states and properties are both treated as aria-prefixed markupattributes. However, they are maintained conceptually distinct to clarify subtle differences in their meaning. One major difference is that thevalues of properties (such asaria-labelledby) are often less likely to change throughout the application life-cycle than the values of states (such asaria-checked) which might change frequently due to user interaction. Note that the frequency of change difference is not a rule; a few properties, such asaria-valuetext are expected to change often. Because the distinction between states and properties is of little consequence to most authors, this specification refers to both "states" and "properties" simply as "attributes" whenever possible. See the definitions ofstate andproperty for more information.

6.2Characteristics of States and Properties

States and properties have the characteristics described in the following sections.

6.2.1Related Concepts

Advisory information about features from this or other languages that correspond to thisstate orproperty. While the correspondence might not be exact, it is useful to help understand the intent of the state or property.

6.2.2Used in Roles

Advisory information aboutroles that use thisstate orproperty. This information is provided to help understand the appropriate usage of the state or property. Use of a given state or property is not defined when used on roles other than those listed.

6.2.3Inherits into Roles

Advisory information aboutroles that inherit thestate orproperty from an ancestor role.

6.2.4Value

Value type of thestate orproperty. The value is one of the following types:

true/false
Value representing eithertrue orfalse. The default value for this value type isfalse unless otherwise specified.
tristate
Value representingtrue,false,mixed, orundefined values. The default value for this value type isundefined unless otherwise specified.
true/false/undefined
Value representingtrue,false, orundefined (not applicable). The default value for this value type isundefined unless otherwise specified. For example, an element witharia-expanded set tofalse is not currently expanded; an element witharia-expanded set toundefined is not expandable.
ID reference
Reference to the ID of anotherelement in the same document
ID reference list
A list of one or more ID references.
integer
A numerical value without a fractional component.
number
Any real numerical value.
string
Unconstrained value type.
token
One of a limited set of allowed values. The default value is defined in each attribute's Values table, as specified in theAttribute Values section.
token list
A list of one or more tokens.

These are generic types for states and properties, but do not define specific representation. SeeState and Property Attribute Processing for details on how these values are expressed and handled in host languages.

6.3ARIA Attributes

6.3.1Multi-value Attribute Values

When theARIA attribute definition includes a table listing the attribute's allowedvalues, that attribute is a multi-value nullable attribute. Each value in the table is a keyword for the attribute, mapping to a state of the same name.

6.3.2IDL reflection ofARIA attributes

AllARIA attributes reflect in IDL asnullableDOMString attributes. This includes the boolean-liketrue/false type, and all otherARIA attributes.

Default values from theARIA values tablesMUST NOT reflect to IDL as themissing value default or theinvalid value default for the attribute. On getting, a missingARIA attribute will returnnull.ARIA attributes are not validated on get. If anARIA value is invalid, on getting, it will return its set value as a literal string, and will not return an invalid value default.

6.3.3Operating System AccessibilityAPI mapping of multi-valueARIA attributes

Unlike IDL reflection, operating system accessibilityAPI mappings ofARIA attributes can have defaults. Any default values from theARIA values tables are exposed to the operating system accessibilityAPI as described in5.2.3Supported States and Properties, and inCore Accessibility API Mappings 1.1.

6.3.4ARIA nullable DOMString Attributes

As noted inA.MappingWAI-ARIA Value types to languages, attributes are included in host languages, and the syntax for representation ofWAI-ARIA types is governed by the host language.

The following algorithm should be used forARIA nullableDOMString attributes inHTML:

On getting, if the corresponding content attribute is not present, then the IDL attribute must return null, otherwise, the IDL attribute must get the value in a transparent, case-preserving manner. On setting, if the new value is null, the content attribute must be removed, and otherwise, the content attribute must be set to the specified new value in a transparent, case-preserving manner.

Note

Note: As ofARIA 1.2, allARIA attributes exposed via IDL are defined as nullableDOMStrings. This matches the current implementation of all major rendering engines. This specification change should result in no implementation changes; it will merely represent the current reality of web engines. However, in a future draft, theARIA Working Group intends to change severalARIA attributes to non-nullable DOMStrings, and seek implementations. The proposed change will bringARIA into alignment with theHTML’s usage ofenumerated attributes.

6.3.4.1Example Attribute Usage

This section is non-normative.

Example 25
// HTML hidden="" example (not aria-hidden="true")// Actual boolean type; defaults to false.// Note: Actual boolean assignment and return value.el.hidden =true;el.hidden;// true// Removal of content attribute results in missing value default: boolean false.el.removeAttribute("hidden");el.hidden;// false
Example 26
// aria-busy example// true/false ~ boolean-like nullable string; returns null unless setel.ariaBusy;// null// Note: String assignment and return value.el.ariaBusy ="true";el.ariaBusy;// "true"// Removal of content attribute results in missing value default: string "false".el.removeAttribute("aria-busy");el.ariaBusy;// null// Assignment of invalid "busy" value. Not validated on set or get and the literal string value "busy" is returned.el.setAttribute("aria-busy","busy");el.ariaBusy;// "busy"
Example 27
// aria-pressed example// Tristate ~ true/false/mixed/undefined string; null if unspecified// no value has been definedbutton.ariaPressed;// null// A value of "true", "false", or "mixed" for aria-pressed on a button denotes a toggle button.button.setAttribute("aria-pressed","true");// Content attribute assignment.button.ariaPressed;// "true"button.ariaPressed ="false";// DOM property assignment.button.ariaPressed;// "false"// Assignment of invalid "foo" value. Not validated on set or get and the literal string value "foo" is returned.button.ariaPressed ="foo";button.ariaPressed;// "foo" (Note: button is no longer a toggle button.)// Removal of content attribute results in a null valuebutton.removeAttribute("aria-pressed");button.ariaPressed;// null

6.4Translatable Attributes

TheHTML specification states that other specifications can definetranslatable attributes. The language and directionality of each attribute value is the same as thelanguage anddirectionality of the element.

To be understandable by assistive technology users, the values of the followingstates andproperties aretranslatable attributes and should be translated when a page is localized:

6.5Global States and Properties

Somestates andproperties are applicable to all host languageelements regardless of whether arole is applied. The following global states and properties are supported by all roles and by all base markup elements unless otherwise prohibited. If a role prohibits use of any global states or properties, those states or properties are listed as prohibited in the characteristics table included in the section that defines the role.

6.6Taxonomy ofWAI-ARIA States and Properties

States and properties are categorized as follows:

  1. Widget Attributes
  2. Live Region Attributes
  3. Drag-and-Drop Attributes
  4. Relationship Attributes

6.6.1Widget Attributes

This section containsattributes specific to common user interfaceelements found onGUI systems or in rich internet applications which receive user input and process user actions. These attributes are used to support thewidget roles.

Widget attributes might be mapped by auser agent to platformaccessibilityAPIstate, for access byassistive technologies, or they might be accessed directly from theDOM.

6.6.2Live Region Attributes

This section containsattributes specific tolive regions in rich internet applications. These attributesMAY be applied to anyelement. The purpose of these attributes is to indicate that content changes might occur without the element having focus, and to provideassistive technologies with information on how to process those content updates. Someroles specify a default value for thearia-live attribute specific to that role. An example of a live region is a ticker section that lists updating stock quotes. User agentsMAY ignore changes triggered by direct user action on anelement inside a live region (e.g., editing the value of a text field).

6.6.3Drag-and-Drop Attributes

This section listsattributes which indicate information about drag-and-drop interfaceelements, such as draggable elements and their drop targets. Drop target information will be rendered visually by the author and provided toassistive technologies through an alternate modality.

6.6.4Relationship Attributes

This section listsattributes that indicaterelationships or associations betweenelements which cannot be readily determined from the document structure.

6.7State change notification

User agentsMUST provide a way for assistive technologies to be notified when states change, either throughDOM attribute changeevents or platform accessibilityAPI events.

6.8Definitions of States and Properties (all aria-* attributes)

Below is an alphabetical list ofWAI-ARIAstates andproperties to be used by authors. A detailed definition of eachWAI-ARIA state andproperty follows this compact list.

aria-activedescendant
Identifies the currently active element whenDOM focus is on acomposite widget,combobox,textbox,group, orapplication.
aria-atomic
Indicates whetherassistive technologies will present all, or only parts of, the changed region based on the change notifications defined by thearia-relevant attribute.
aria-autocomplete
Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for acombobox,searchbox, ortextbox and specifies how predictions would be presented if they were made.
aria-braillelabel
Defines a string value that labels the current element, which is intended to be converted into Braille. See relatedaria-label.
aria-brailleroledescription
Defines a human-readable, author-localized abbreviated description for therole of anelement, which is intended to be converted into Braille. See relatedaria-roledescription.
aria-busy
Indicates an element is being modified and that assistive technologies could wait until the modifications are complete before exposing them to the user.
aria-checked
Indicates the current "checked"state of checkboxes, radio buttons, and otherwidgets. See relatedaria-pressed andaria-selected.
aria-colcount
Defines the total number of columns in atable,grid, ortreegrid. See relatedaria-colindex.
aria-colindex
Defines anelement's column index or position with respect to the total number of columns within atable,grid, ortreegrid. See relatedaria-colindextext,aria-colcount, andaria-colspan.
aria-colindextext
Defines a human readable text alternative ofaria-colindex. See relatedaria-rowindextext.
aria-colspan
Defines the number of columns spanned by a cell or gridcell within atable,grid, ortreegrid. See relatedaria-colindex andaria-rowspan.
aria-controls
Identifies theelement (or elements) whose contents or presence are controlled by the focused element or composite widget. See relatedaria-details andaria-owns.
aria-current
Indicates theelement that represents the current item within a container or set of related elements.
aria-describedby
Identifies theelement (or elements) that describes theobject. See relatedaria-labelledby andaria-description.
aria-description
Defines a string value that describes or annotates the current element. See relatedaria-describedby.
aria-details
Identifies theelement (or elements) that provide additional information related to theobject. See relatedaria-describedby.
aria-disabled
Indicates that theelement isperceivable but disabled, so it is not editable or otherwiseoperable. See relatedaria-hidden andaria-readonly.
aria-dropeffect
[Deprecated inARIA 1.1] Indicates what functions can be performed when a dragged object is released on the drop target.
aria-errormessage
Identifies theelement (or elements) that provides an error message for anobject. See relatedaria-invalid andaria-describedby.
aria-expanded
Indicates whether a related element is expanded (shown) or collapsed (hidden).
aria-flowto
Identifies the nextelement (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.
aria-grabbed
[Deprecated inARIA 1.1] Indicates an element's "grabbed"state in a drag-and-drop operation.
aria-haspopup
Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by anelement.
aria-hidden
Indicates, when set totrue, that anelement and its entire subtree are hidden from assistive technology, regardless of whether it is visibly rendered.
aria-invalid
Indicates the entered value does not conform to the format expected by the application. See relatedaria-errormessage.
aria-keyshortcuts
Defines keyboard shortcuts that an author has implemented to activate or give focus to an element.
aria-label
Defines a string value that labels the current element. See relatedaria-labelledby.
aria-labelledby
Identifies theelement (or elements) that labels the current element. See relatedaria-label andaria-describedby.
aria-level
Defines the hierarchical level of anelement within a structure.
aria-live
Indicates that anelement will be updated or modified, and defines the priority of updates theuser agents,assistive technologies, and user can expect from thelive region.
aria-modal
Indicates whether anelement is modal when displayed.
aria-multiline
Indicates whether a text box accepts multiple lines of input or only a single line.
aria-multiselectable
Indicates that the user can select more than one item from the current selectable descendants.
aria-orientation
Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.
aria-owns
Identifies anelement (or elements) in order to define a visual, functional, or contextual parent/childrelationship betweenDOM elements where theDOM hierarchy cannot be used to represent the relationship. See relatedaria-controls.
aria-placeholder
Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.
aria-posinset
Defines anelement's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in theDOM. See relatedaria-setsize.
aria-pressed
Indicates the current "pressed"state of toggle buttons. See relatedaria-checked andaria-selected.
aria-readonly
Indicates that theelement is not editable, but is otherwiseoperable. See relatedaria-disabled.
aria-relevant
Indicates what notifications the user agent will trigger when theaccessibility tree within a live region is modified. See relatedaria-atomic.
aria-required
Indicates that user input is required on theelement before a form can be submitted.
aria-roledescription
Defines a human-readable, author-localized description for therole of anelement.
aria-rowcount
Defines the total number of rows in atable,grid, ortreegrid. See relatedaria-rowindex.
aria-rowindex
Defines anelement's row index or position with respect to the total number of rows within atable,grid, ortreegrid. See relatedaria-rowindextext,aria-rowcount, andaria-rowspan.
aria-rowindextext
Defines a human readable text alternative ofaria-rowindex. See relatedaria-colindextext.
aria-rowspan
Defines the number of rows spanned by a cell or gridcell within atable,grid, ortreegrid. See relatedaria-rowindex andaria-colspan.
aria-selected
Indicates the current "selected"state of variouswidgets. See relatedaria-checked andaria-pressed.
aria-setsize
Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in theDOM. See relatedaria-posinset.
aria-sort
Indicates if items in a table or grid are sorted in ascending or descending order.
aria-valuemax
Defines the maximum allowed value for a rangewidget.
aria-valuemin
Defines the minimum allowed value for a rangewidget.
aria-valuenow
Defines the current value for a rangewidget. See relatedaria-valuetext.
aria-valuetext
Defines the human readable text alternative ofaria-valuenow for a rangewidget.

aria-activedescendantproperty

Identifies the currently active element whenDOM focus is on acomposite widget,combobox,textbox,group, orapplication.

Thearia-activedescendant property provides an alternative method of managing focus for interactive elements that might contain multiplefocusable descendants, such as menus, grids, and toolbars. Instead of movingDOM focus amongaccessibility descendants, authorsMAY setDOM focus on a containerelement that supportsaria-activedescendant and then usearia-activedescendant to refer to the element that is active.

AuthorsMUST ensure that one of the following two sets of conditions is met when setting the value ofaria-activedescendant on an element withDOM focus:

  1. The value ofaria-activedescendant refers to anaccessibility descendant.
  2. The element withDOM focus is acombobox,textbox orsearchbox witharia-controls referring to an element that supportsaria-activedescendant, and the value ofaria-activedescendant refers to anaccessibility descendant of the controlled element. For example, in acombobox, focus can remain on thecombobox while the value ofaria-activedescendant on thecombobox element refers to a descendant of a popuplistbox that is controlled by thecombobox.

AuthorsSHOULD also ensure that the currently active descendant is visible and in view (or scrolls into view) when focused.

Characteristics:
CharacteristicValue
Related Concepts:SVG [SVG2] andDOM [DOM] active
Used in Roles:
Inherits into Roles:
Value:ID reference

aria-atomicproperty

Indicates whetherassistive technologies will present all, or only parts of, the changed region based on the change notifications defined by thearia-relevant attribute.

BothaccessibilityAPIs and theDocument Object Model [DOM] provide events to allow the assistive technologies to determine changed areas of the document.

When the content of alive region changes, user agentsSHOULD examine the changedelement and traverse the ancestors to find the first element witharia-atomic set, and apply the appropriate behavior for the cases below.

  1. If none of the ancestors have explicitly setaria-atomic, the default is thataria-atomic isfalse, and assistive technologies will only present the changed node to the user.
  2. Ifaria-atomic is explicitly set tofalse, assistive technologies will stop searching up the ancestor chain and present only the changed node to the user.
  3. Ifaria-atomic is explicitly set totrue, assistive technologies will present the entire contents of the element, including the author-defined live region label if one exists.

Whenaria-atomic istrue, assistive technologies can choose to combine several changes and present the entire changed region at once.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:true/false
Values:
ValueDescription
falseAssistive technologies will present only the changed node or nodes.
trueAssistive technologies will present the entire changed region as a whole, including the author-defined label if one exists.

aria-autocompleteproperty

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for acombobox,searchbox, ortextbox and specifies how predictions would be presented if they were made.

Thearia-autocomplete property describes the type of interaction model atextbox,searchbox, orcombobox employs when dynamically helping users complete text input. It distinguishes between two models: the inline model (aria-autocomplete="inline") that presents a value completion prediction inside the text input and the list model (aria-autocomplete="list") that presents a collection of possible values in a separate element that pops up adjacent to the text input. It is possible for an input to offer both models at the same time (aria-autocomplete="both").

Thearia-autocomplete property is limited to describing predictive behaviors of an input element. AuthorsSHOULD either omit specifying a value foraria-autocomplete or setaria-autocomplete tonone if an input element provides one or more input proposals where none of the proposals are dependent on the specific input provided by the user. For instance, a combobox where the value ofaria-autocomplete would benone is a search field that displays suggested values by listing the 5 most recently used search terms without any filtering of the list based on the user's input. Elements with a role that supportsaria-autocomplete have a default value foraria-autocomplete ofnone.

When an inline suggestion is made as a user types in an input, suggested text for completing the value of the field dynamically appears in the field after the input cursor, and the suggested value is accepted as the value of the input if the user performs an action that causes focus to leave the field. When an element hasaria-autocomplete set toinline orboth, authorsSHOULD ensure that the automatically suggested portion of the text is presented as selected text. This enables assistive technologies to distinguish between a user's input and the automatic suggestion and, in the event that the suggestion is not the desired value, enables the user to easily delete the suggestion or replace it by continuing to type.

If an element hasaria-autocomplete set tolist orboth, authorsMUST ensure both of the following conditions are met:

  1. The element has a value specified foraria-controls that refers to the element that contains the collection of suggested values.
  2. The element has a value foraria-haspopup that matches the role of the element that contains the collection of suggested values.

Some implementations of the list model require the user to perform an action, such as moving focus to the suggestion with theDown Arrow or clicking on the suggestion, in order to choose the suggestion. In such implementations, authorsMAY manage focus by either usingaria-activedescendant if the collection container supports it or by movingDOM focus to the suggestion. However, other implementations of the list model automatically highlight one suggestion as the selected value that will be accepted when the field loses focus, e.g., when the user presses theTab key or clicks on a different field. If an element hasaria-autocomplete set tolist orboth, and if a suggestion is automatically selected as the user provides input, authorsMUST ensure all the following conditions are met:

  1. The collection of suggestions is presented in an element with a role that supportsaria-activedescendant.
  2. The value ofaria-activedescendant set on the input field is dynamically adjusted to refer to the element containing the selected suggestion as described in the definition ofaria-activedescendant.
  3. DOM focus remains on the text input while the suggestions are displayed.

Thearia-autocomplete property is not intended to indicate the presence of a completion suggestion, and authorsSHOULD NOT dynamically change its value in order to communicate the presence of a suggestion. When an element hasaria-autocomplete set tolist orboth, authorsSHOULD use thearia-expanded state to communicate whether the element that presents the suggestion collection is displayed.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:token
Values:
ValueDescription
inlineWhen a user is providing input, text suggesting one way to complete the provided input might be dynamically inserted after the caret.
listWhen a user is providing input, an element containing a collection of values that could complete the provided input might be displayed.
both When a user is providing input, an element containing a collection of values that could complete the provided input might be displayed. If displayed, one value in the collection is automatically selected, and the text needed to complete the automatically selected value appears after the caret in the input.
none (default)When a user is providing input, an automatic suggestion that attempts to predict how the user intends to complete the input is not displayed.

aria-braillelabelproperty

Defines a string value that labels the current element, which is intended to be converted into Braille. See relatedaria-label.

The purpose ofaria-braillelabel is similar to that ofaria-label. It provides the user with a recognizable name of the object in Braille.

Thearia-braillelabel property gives authors the ability to override how assistive technologies localize and express the accessible name of an element in Braille. Thus inappropriately usingaria-braillelabel might inhibit users' ability to understand an element on braille interfaces. AuthorsSHOULD limit use ofaria-braillelabel to instances where the name of an element when converted to Braille is not the desired user experience.

When usingaria-braillelabel, authorsSHOULD also ensure that:

  1. The element to whicharia-braillelabel is applied has a valid accessible name.
  2. The value ofaria-braillelabel is not empty or does not contain onlywhitespace characters.
  3. The value ofaria-braillelabel does not contain any characters inUnicode Braille Patterns or consists of only characters inUnicode Braille Patterns; the value does not only contain Braille Pattern dots-0.
  4. The value ofaria-braillelabel is not identical to the element's accessible name.

AuthorsMUST NOT specifyaria-braillelabel on an element which has an explicit or implicitWAI-ARIA role wherearia-braillelabel isprohibited.

Note

Note thatAssistive Technologies with braille support can convert the accessible name to Braille. In addition, assistive technologies will be able to customize such braille output according to user preferences. Using only the accessible name, e.g., from content or viaaria-label isalmost always the better user experience and authors arestrongly discouraged from usingaria-braillelabel to replicatearia-label. Instead,aria-braillelabel is meant to be used only if the accessible name cannot provide an adequate braille representation, i.e., when a specialized braille description is very different from a text description converted to Braille. It is very important to note that when usingaria-braillelabel, authors are solely responsible for localizing the attribute value so that it aligns with the document language. In addition, authors need to design a way to clearly communicate the use of this attribute to the user. For example, this could be done in the product documentation. This is even more important when the value consists of Unicode Braille Patterns becauseAssistive Technologies will pass such content directly to the user without applying user specific braille translations; in general, authors arestrongly discouraged from using Unicode Braille Patterns inaria-braillelabel.

Assistive technologiesSHOULD use the value ofaria-braillelabel when presenting the accessible name of an element in Braille, butSHOULD NOT change other functionality. For example, an assistive technology that provides aural renderingSHOULD use the accessible name.

Assistive technologiesSHOULD expose thearia-braillelabel property as follows:

  1. If the value ofaria-braillelabel does not contain characters inUnicode Braille Patterns, translate the value according to the user's preferred translation table.
  2. Otherwise, pass the value to the user without translation.

The following example shows the use ofaria-braillelabel to customize a button's name in braille output.

<buttonaria-braillelabel="****"><imgalt="4 stars"src="images/stars.jpg"></button>

In the previous example, a braille display would display "btn ****" in Braille rather than the verbose "btn gra 4 stars".

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup except for the following roles:caption,code,definition,deletion,emphasis,generic,insertion,mark,none,paragraph,strong,subscript,suggestion,superscript,term,time
Value:string

aria-brailleroledescriptionproperty

Defines a human-readable, author-localized abbreviated description for therole of anelement, which is intended to be converted into Braille. See relatedaria-roledescription.

Someassistive technologies, such as screen readers, present the role of an element as part of the user experience. Such assistive technologies typically localize the name of the role, and they might customize it as well. Users of these assistive technologies depend on the presentation of the role name, such as "region," "button," or "slider," for an understanding of the purpose of the element and, if it is a widget, how to interact with it.

Thearia-brailleroledescription property gives authors the ability to override howassistive technologies localize and express the name of a role in Braille. Thus inappropriately usingaria-brailleroledescription might inhibit users' ability to understand or interact with an element on braille interfaces. AuthorsSHOULD limit use ofaria-brailleroledescription to clarifying the purpose of non-interactive container roles likegroup orregion, or to providing amore specific description of awidget in a braille context.

AuthorsMUST NOT usearia-brailleroledescription without providingaria-roledescription. Additionally, as witharia-roledescription, authorsMUST NOT specifyaria-brailleroledescription on an element which has an explicit or implicitWAI-ARIA role wherearia-brailleroledescription isprohibited.

In general,aria-brailleroledescription is only meant to be used in rare cases when aaria-roledescription is excessively verbose when rendered in Braille.

When usingaria-brailleroledescription, authorsSHOULD also ensure that:

  1. The element to whicharia-brailleroledescription is applied has a validWAI-ARIA role or has an implicitWAI-ARIA role semantic.
  2. The value ofaria-brailleroledescription is not empty or does not contain onlywhitespace characters.
  3. The value ofaria-brailleroledescription does not contain any characters inUnicode Braille Patterns or consists of only characters inUnicode Braille Patterns; the value does not only contain Braille Pattern dots-0.
  4. The value ofaria-brailleroledescription should not be identical to the element'sWAI-ARIAaria-roledescription,WAI-ARIArole or implicitWAI-ARIA role semantic.

Note thatAssistive Technologies with braille support can convertaria-roledescription content to Braille. In addition, assistive technologies will be able to customize such braille output according to user preferences. Using onlyaria-roledescription isalmost always the better user experience and authors arestrongly discouraged from usingaria-brailleroledescription to replicatearia-roledescription. Instead,aria-brailleroledescription is meant to be used only whenaria-roledescription cannot provide an adequate braille representation, i.e., when a specialized braille description is very different from a text description converted to Braille. It is very important to note that when usingaria-brailleroledescription, authors are solely responsible for localizing the attribute value so that it aligns with the document language. In addition, authors need to design a way to clearly communicate the use of this attribute to the user. For example, this could be done in the product documentation. This is even more important when the value consists of Unicode Braille Patterns becauseAssistive Technologies will pass such content directly to the user without applying user specific braille translations; in general, authors arestrongly discouraged from using Unicode Braille Patterns inaria-brailleroledescription.

User agentsMUST NOT expose thearia-brailleroledescription property if any of the following conditions exist:

  1. The value ofaria-brailleroledescription is empty or contains only whitespace characters, which includes standardwhitespace and the empty Braille pattern: dots-0 (U+2800).
  2. The element to whicharia-brailleroledescription is applied has an explicit or implicitWAI-ARIA role wherearia-brailleroledescription isprohibited.
  3. The element to whicharia-brailleroledescription is applied does not have a validWAI-ARIAaria-roledescription.

Assistive technologiesSHOULD use the value ofaria-brailleroledescription when presenting the role of an element in Braille, butSHOULD NOT change other functionality based on the role of an element that has a value foraria-brailleroledescription. For example, an assistive technology that provides functions for navigating to the nextregion orbuttonSHOULD allow those functions to navigate to regions and buttons that have anaria-brailleroledescription.

Assistive technologiesSHOULD expose thearia-brailleroledescription property as follows:

  1. If the value ofaria-brailleroledescription does not contain characters inUnicode Braille Patterns, translate the value according to the user's preferred translation table.
  2. Otherwise, pass the value to the user without translation.

The following two examples show the use ofaria-brailleroledescription to abbreviate the role of a repeated non-interactive "slide" container in a web-based presentation application.

<divrole="article"aria-roledescription="slide"aria-brailleroledescription="sld"id="slide"aria-labelledby="slideheading"><h1id="slideheading">Quarterly Report</h1><!-- remaining slide contents --></div>
<articlearia-roledescription="slide"aria-brailleroledescription="sld"id="slide"aria-labelledby="slideheading"><h1id="slideheading">Quarterly Report</h1><!-- remaining slide contents --></div>

In the previous examples, a braille screen reader user would read "sld Quarterly Report" rather than the more verbose "slide Quarterly Report."

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup except for the following roles:generic
Value:string

aria-busystate

Indicates an element is being modified and that assistive technologies could wait until the modifications are complete before exposing them to the user.

The default value ofaria-busy isfalse for all elements. Whenaria-busy istrue for an element, assistive technologies can ignore changes to content that is anaccessibility descendant that element and then process all changes made during the busy period as a single, atomic update whenaria-busy becomesfalse.

If it is necessary to make multiple additions, modifications, or removals within a container element that is already either partially or fully rendered, authorsMAY setaria-busy totrue on the container element before the first change, and then set it tofalse when the last change is complete. For example, if multiple changes to alive region should be spoken as a single unit of speech, authorsMAY setaria-busy totrue while the changes are being made and then set it tofalse when the changes are complete and ready to be spoken.

If an element with rolefeed is marked busy, assistive technologies might defer rendering changes that occur inside thefeed with the exception of user-initiated changes that occur inside thearticle that the user is reading during the busy period.

If changes to a renderedwidget would create a state where thewidget is modifyingAllowed Accessibility Child Roles during script execution, authorsMAY setaria-busy totrue on thewidget during the update process. For example, if a rendered tree grid required a set of simultaneous updates to multiple discontiguous branches, an alternative to replacing the complete tree element with a single update would be to mark the tree busy while each of the branches are modified.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:true/false
Values:
ValueDescription
false (default):There are no expected updates for the element.
trueThe element is being updated.

aria-checkedstate

Indicates the current "checked"state of checkboxes, radio buttons, and otherwidgets. See relatedaria-pressed andaria-selected.

Thearia-checkedattribute indicates whether theelement is checked (true), unchecked (false), or represents a group of other elements that have a mixture of checked and uncheckedvalues (mixed). Most inputs only support values oftrue andfalse, but themixed value is supported by certain tri-state inputs such as acheckbox ormenuitemcheckbox.

Themixed value isnot supported onradio,menuitemradio,switch or any element that inherits from these, anduser agentsMUST treat amixed value as equivalent tofalse for thoseroles.

Examples using themixed value of tri-state inputs are covered in theARIA Authoring Practices Guide.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:tristate
Values:
ValueDescription
falseThe element supports being checked but is not currently checked.
mixedIndicates a mixed mode value for a tri-state checkbox or menuitemcheckbox.
trueThe element is checked.
undefined (default)The element does not support being checked.

aria-colcountproperty

Defines the total number of columns in atable,grid, ortreegrid. See relatedaria-colindex.

If all of the columns are present in theDOM, it is not necessary to set thisattribute as theuser agent can automatically calculate the total number of columns. However, if only a portion of the columns is present in theDOM at a given moment, this attribute is needed to provide an explicit indication of the number of columns in the full table.

AuthorsMUST set the value ofaria-colcount to an integer equal to the number of columns in the full table. If the total number of columns is unknown, authorsMUST set the value ofaria-colcount to-1 to indicate that the value should not be calculated by the user agent.

The following example shows a grid with 16 columns, of which columns 2, 3, 4, and 9 are displayed to the user.

<divrole="grid"aria-colcount="16"><divrole="rowgroup"><divrole="row"><spanrole="columnheader"aria-colindex="2">First Name</span><spanrole="columnheader"aria-colindex="3">Last Name</span><spanrole="columnheader"aria-colindex="4">Company</span><spanrole="columnheader"aria-colindex="9">Phone</span></div></div><divrole="rowgroup"><divrole="row"><spanrole="gridcell"aria-colindex="2">Fred</span><spanrole="gridcell"aria-colindex="3">Jackson</span><spanrole="gridcell"aria-colindex="4">Acme, Inc.</span><spanrole="gridcell"aria-colindex="9">555-1234</span></div><divrole="row"><spanrole="gridcell"aria-colindex="2">Sara</span><spanrole="gridcell"aria-colindex="3">James</span><spanrole="gridcell"aria-colindex="4">Acme, Inc.</span><spanrole="gridcell"aria-colindex="9">555-1235</span></div></div></div>
Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:integer

aria-colindexproperty

Defines anelement's column index or position with respect to the total number of columns within atable,grid, ortreegrid. See relatedaria-colindextext,aria-colcount, andaria-colspan.

If all of the columns are present in theDOM, it is not necessary to set thisattribute as theuser agent can automatically calculate the column index of each cell orgridcell. However, if only a portion of the columns is present in theDOM at a given moment, this attribute is needed to provide an explicit indication of the column of each cell or gridcell with respect to the full table.

AuthorsMUST set thevalue foraria-colindex to an integer greater than or equal to 1, greater than thearia-colindex value of any previous elements within the same row, and less than or equal to the number of columns in the full table. For a cell or gridcell which spans multiple columns, authorsMUST set the value ofaria-colindex to the start of the span.

If the set of columns which is present in theDOM is contiguous, and if there are no cells which span more than one row or column in that set, then authorsMAY placearia-colindex on each row, setting the value to the index of the first column of the set. Otherwise, authorsSHOULD placearia-colindex on all of theaccessibility children of each row.

The following example shows a grid with 16 columns, of which columns 2 through 5 are displayed to the user. Because the set of columns is contiguous,aria-colindex can be placed on each row.

<divrole="grid"aria-colcount="16"><divrole="rowgroup"><divrole="row"aria-colindex="2"><spanrole="columnheader">First Name</span><spanrole="columnheader">Last Name</span><spanrole="columnheader">Company</span><spanrole="columnheader">Address</span></div></div><divrole="rowgroup"><divrole="row"aria-colindex="2"><spanrole="gridcell">Fred</span><spanrole="gridcell">Jackson</span><spanrole="gridcell">Acme, Inc.</span><spanrole="gridcell">123 Broad St.</span></div><divrole="row"aria-colindex="2"><spanrole="gridcell">Sara</span><spanrole="gridcell">James</span><spanrole="gridcell">Acme, Inc.</span><spanrole="gridcell">123 Broad St.</span></div></div></div>

The following example shows a grid with 16 columns, of which columns 2 through 5 are displayed to the user. While the set of columns is contiguous, some of the cells span multiple rows. As a result,aria-colindex needs to be placed on all of theaccessibility children of each row.

<divrole="grid"aria-colcount="16"><divrole="rowgroup"><divrole="row"><spanrole="columnheader"aria-colindex="2">First Name</span><spanrole="columnheader"aria-colindex="3">Last Name</span><spanrole="columnheader"aria-colindex="4">Company</span><spanrole="columnheader"aria-colindex="5">Address</span></div></div><divrole="rowgroup"><divrole="row"><spanrole="gridcell"aria-colindex="2">Fred</span><spanrole="gridcell"aria-colindex="3">Jackson</span><spanrole="gridcell"aria-colindex="4"aria-rowspan="2">Acme, Inc.</span><spanrole="gridcell"aria-colindex="5"aria-rowspan="2">123 Broad St.</span></div><divrole="row"><spanrole="gridcell"aria-colindex="2">Sara</span><spanrole="gridcell"aria-colindex="3">James</span></div></div></div>

The following example shows a grid with 16 columns, of which columns 2, 3, 4, and 9 are displayed to the user. Because the set of columns is non-contiguous,aria-colindex needs to be placed on all of theaccessibility children of each row.

<divrole="grid"aria-colcount="16"><divrole="rowgroup"><divrole="row"><spanrole="columnheader"aria-colindex="2">First Name</span><spanrole="columnheader"aria-colindex="3">Last Name</span><spanrole="columnheader"aria-colindex="4">Company</span><spanrole="columnheader"aria-colindex="9">Phone</span></div></div><divrole="rowgroup"><divrole="row"><spanrole="gridcell"aria-colindex="2">Fred</span><spanrole="gridcell"aria-colindex="3">Jackson</span><spanrole="gridcell"aria-colindex="4">Acme, Inc.</span><spanrole="gridcell"aria-colindex="9">555-1234</span></div><divrole="row"><spanrole="gridcell"aria-colindex="2">Sara</span><spanrole="gridcell"aria-colindex="3">James</span><spanrole="gridcell"aria-colindex="4">Acme, Inc.</span><spanrole="gridcell"aria-colindex="9">555-1235</span></div></div></div>
Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:integer

aria-colindextextproperty

Defines a human readable text alternative ofaria-colindex. See relatedaria-rowindextext.

AuthorsSHOULD only usearia-colindextext when the provided or calculated value ofaria-colindex is not meaningful or does not reflect the displayed index, as is the case with spreadsheets and chess boards.

AuthorsSHOULD NOT usearia-colindextext as a replacement foraria-colindex because some assistive technologies rely upon the numeric column index for the purpose of keeping track of the user's position or providing alternative table navigation.

Note

Unlikearia-colindex,aria-colindextext is not a supported property ofrow because user agents have no way to reliably calculatearia-colindextext for the purpose of exposing its value on thecell orgridcell.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:string

aria-colspanproperty

Defines the number of columns spanned by a cell or gridcell within atable,grid, ortreegrid. See relatedaria-colindex andaria-rowspan.

Thisattribute is intended for cells and gridcells which are not contained in a native table. When defining the column span of cells or gridcells in a native table, authorsSHOULD use the host language's attribute instead ofaria-colspan. Ifaria-colspan is used on an element for which the host language provides an equivalent attribute,user agentsMUST ignore the value ofaria-colspan and instead expose the value of the host language's attribute toassistive technologies.

AuthorsMUST set thevalue ofaria-colspan to an integer greater than or equal to 1 and less than the value which would cause the cell or gridcell to overlap the next cell or gridcell in the same row.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:integer

aria-controlsproperty

Identifies theelement (or elements) whose contents or presence are controlled by the focused element or composite widget. See relatedaria-details andaria-owns.

Thearia-controls property is for referencing elements that are modified by the user interacting with the currently focused element or composite widget. The presence ofaria-controls enablesassistive technologies to programmatically associate the currently focused element with the element or elements it controls. For instance, it can be used to inform users that by interacting with the controlling element they have revealed an element or elements that were previously in the hidden state. Or, by interacting with an element, they caused the selection or value of a controlled element to change.

Instance where anaria-controls association could be made:

  • Interacting with a text field or editable combobox results in the display of a listbox popup. Upon entering text, the associated listbox is filtered, or the selected option changes to match the text value entered by the user.
  • A tree view representing a table of contents where choosing a treeitem updates content of a neighboring document pane.
  • A series of checkboxes can each control what commodity prices are tracked live in a table or graph.
  • An interactive element reveals associated content when selected. For instance, selecting a tab control reveals its associated tab panel. Or checking a radio button reveals additional information or form controls related to the chosen radio button.
  • Radio buttons allow for filtering to a listing of search results.

Additionally, thearia-controls property supports multiple ID references. For example, a control can be used to highlight different instances of spelling errors. A user agentMAY convey to a user that there are a number of related controlled elements (the misspellings), allow the user to navigate to the controlled elements in sequence, or both.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:ID reference list

aria-currentstate

Indicates theelement that represents the current item within a container or set of related elements.

Thearia-currentattribute is a token type. Any value not included in the list of allowed valuesSHOULD be treated byassistive technologies as if the valuetrue had been provided. If the attribute is not present or its value is the empty string orundefined, the default value offalse applies and thearia-currentstateMUST NOT be exposed by user agents or assistive technologies.

Thearia-current attribute is used when an element within a set of related elements is visually styled to indicate it is the current item in the set. For example:

  • Apage token used to indicate a page within a set of pages, where the element is visually styled to represent the current page.
  • Astep token used to indicate a step within a step-based process, where the element is visually styled to represent the current step.
  • Alocation token used to indicate the element that is visually styled as the current component, such as within a flow chart.
  • Adate token used to indicate the current date within a calendar or other date collection.
  • Atime token used to indicate the current time within a timetable or other time collection.

AuthorsSHOULD only mark one element in a set of elements as current witharia-current.

AuthorsSHOULD NOT use thearia-current attribute as a substitute foraria-selected in widgets wherearia-selected has the same meaning. For example, in atablist,aria-selected is used on atab to indicate the currently-displayedtabpanel.

Note

In some use cases for widgets that supportaria-selected, current and selected can have different meanings and can both be used within the same set of elements. For example,aria-current="page" can be used in a navigationtree to indicate which page is currently displayed, whilearia-selected="true" indicates which page will be displayed if the user activates thetreeitem. Furthermore, the same tree can support operating on one or more selected pages (treeitems) by way of a context menu containing options such as "delete" and "move."

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:token
Values:
ValueDescription
pageRepresents the current page within a set of pages.
stepRepresents the current step within a process.
locationRepresents the current location within an environment or context.
dateRepresents the current date within a collection of dates.
timeRepresents the current time within a set of times.
trueRepresents the current item within a set.
false (default)Does not represent the current item within a set.

aria-describedbyproperty

Identifies theelement (or elements) that describes theobject. See relatedaria-labelledby andaria-description.

Thearia-labelledby attribute is similar toaria-describedby in that both reference other elements to calculate a text alternative (an accessible name, and description, respectively). While a concise accessible name is preferable, a description can either be concise, or provide more verbose information.

The element or elements referenced by the aria-describedby comprise the entire description. Include ID references to multiple elements if necessary, or enclose a set of elements (e.g., paragraphs) with the element referenced by the ID.

Characteristics:
CharacteristicValue
Related Concepts:
Used in Roles:All elements of the base markup
Value:ID reference list

aria-descriptionproperty

Defines a string value that describes or annotates the current element. See relatedaria-describedby.

Thearia-description attribute is similar toaria-label in that both provide a flat string to associate with the element (an accessible description, and name, respectively). Unlike an accessible name, which is generally preferred to be concise, a description can provide more verbose information, as necessary.

The purpose ofaria-description is the same as that ofaria-describedby. It provides the user with additional descriptive text for the object. The most commonaccessibilityAPI mapping for a description is theaccessible description property. User agentsMUST give precedence toaria-describedby overaria-description when computing the accessible description property.

In cases where providing a visible description is not the desired user experience, authorsMAY set the accessible description of the element usingaria-description. However, if the description text is available in theDOM, authorsSHOULD NOT usearia-description, but should use one of the following instead:

  • AuthorsSHOULD usearia-describedby when the related description or annotation elements contain a simple, small description that is best experienced as a flat string, rather than by having the user navigate to them.
  • AuthorsSHOULD usearia-details when the related description or annotation elements contain useful semantics or structure, or there is a lot of content within them, making it difficult to experience as a flat string. Usingaria-details will allow assistive technology users to visit the structured content and provide additional navigation commands, making it easier to understand the structure, or to experience the information in smaller pieces.
Characteristics:
CharacteristicValue
Related Concepts:title attribute inHTML
Used in Roles:All elements of the base markup
Value:string

aria-detailsproperty

Identifies theelement (or elements) that provide additional information related to theobject. See relatedaria-describedby.

Thearia-details property is for referencing elements that provide more detailed information than would normally be provided viaaria-describedby. The presence ofaria-details enablesassistive technologies to make users aware of the availability of extended information and navigate to it. AuthorsSHOULD ensure that elements referenced byaria-details are visible to all users.

Assistive technologies can use the role of elements referenced by thearia-details property to help users understand the types of information associated with the element. AuthorsMAY convey the type of details associated with an element as follows:

  • Comment:aria-details refers to an element with rolecomment.
  • Definition:aria-details is applied to an element with roleterm and refers to an element with roledefinition.
  • Caption:aria-details is applied to an element with rolefigure and refers to an element with rolecaption, or an element within acaption.
  • Footnote:aria-details refers to an element with roledoc-footnote. This role is defined in [DPUB-ARIA-1.0].
  • Endnote:aria-details refers to an element with roledoc-endnote. This role is defined in [DPUB-ARIA-1.0].
  • Description or general annotation:aria-details refers to an element with any other role.

Unlike elements referenced byaria-describedby, elements referenced byaria-details are not used in the Accessible Description Computation as defined in theAccessible Name and Description Computation [ACCNAME-1.2]. Thus, the content of elements referenced byaria-details are not flattened to a string when presented to assistive technology users. This makesaria-details particularly useful when converting the information to a string would cause a loss of information or make the extended information more difficult to understand.

Thearia-details property supports referring to multiple elements. For example, a paragraph in a document editor might reference multiple comments that are not related to each other. If a user agent relies on an accessibilityAPI that does not support exposing multiple descriptive relations, the user agentSHOULD expose the relationship to the first element referenced byaria-details.

It is valid for an element to have botharia-details and a description specified with eitheraria-describedby oraria-description. If a user agent relies on an accessibilityAPI that does not support exposing multiple descriptive relations, and if an element has botharia-details andaria-describedby, the user agentSHOULD expose thearia-details relation and the description string computed from thearia-describedby relationship.

A common use foraria-details is in digital publishing where an extended description needs to be conveyed in a book that requires structural markup or the embedding of other technology to provide illustrative content. The following example demonstrates this scenario.

<!-- Provision of an extended description --><imgsrc="pythagorean.jpg"alt="Pythagorean Theorem"aria-details="det"><detailsid="det"><summary>Example</summary><p>    The Pythagorean Theorem is a relationship in Euclidean Geometry between the three sides of    a right triangle, where the square of the hypotenuse is the sum of the squares of the two    opposing sides.</p><p>    The following drawing illustrates an application of the Pythagorean Theorem when used to    construct a skateboard ramp.</p><objectdata="skatebd-ramp.svg"type="image/svg+xml"></object><p>    In this example you will notice a skateboard ramp with a base and vertical board whose width    is the width of the ramp. To compute how long the ramp must be, simply calculate the    base length, square it, sum it with the square of the height of the ramp, and take the    square root of the sum.</p></details>

Alternatively,aria-details can refer to a link to a web page having the extended description, as shown in the following example.

<!-- Provision of an extended description --><imgsrc="pythagorean.jpg"alt="Pythagorean Theorem"aria-details="det"><p>  See an<ahref="https://example.com/pt.html"id="det">Application of the Pythagorean Theorem</a>.</p>
Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:ID reference list

aria-disabledstate

Indicates that theelement isperceivable but disabled, so it is not editable or otherwiseoperable. See relatedaria-hidden andaria-readonly.

For example, irrelevant options in a radio group can be disabled. Disabled elements might not receive focus from the tab order. For some disabled elements, applications might choose not to support navigation to descendants. In addition to setting thearia-disabled attribute, authorsSHOULD change the appearance (grayed out, etc.) to indicate that the item has been disabled.

Thestate of being disabled applies to the element with aria-disabled and allfocusable descendant elements of the element on which thearia-disabledattribute is applied.

Note

Whilearia-disabled and proper scripting can successfully disable an element with rolelink, fully disabling a host language equivalent can be problematic. Authors are advised not to usearia-disabled on elements that cannot be disabled through features of the host language alone.

Note: Usage on columnheader, rowheader and row

Whilearia-disabled is currently supported oncolumnheader,rowheader, androw, in a future version the working group plans to prohibit its use on elements with any of those three roles except when they are in the context of agrid ortreegrid.

Note

This state is being deprecated as a global state inARIA 1.2. In future versions it will only be allowed on roles where it is specifically supported.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:true/false
Values:
ValueDescription
false (default)The element is enabled.
trueThe element and all focusable descendants are disabled and its value cannot be changed by the user.

aria-dropeffectproperty

[Deprecated inARIA 1.1] Indicates what functions can be performed when a dragged object is released on the drop target.

Thearia-dropeffect property is expected to be replaced by a new feature in a future version ofWAI-ARIA. Authors are therefore advised to treataria-dropeffect asdeprecated.

Thisproperty allows assistive technologies to convey the possible drag options available to users, including whether a pop-up menu of choices is provided by the application. Typically, drop effect functions can only be provided once an object has been grabbed for a drag operation as the drop effect functions available are dependent on the object being dragged.

More than one drop effect can be supported for a givenelement. Therefore, the value of thisattribute is a space-separated set of tokens indicating the possible effects, ornone if there is no supported operation. In addition to setting thearia-dropeffect attribute, authorsSHOULD show a visual indication of potential drop targets.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:token list
Values:
ValueDescription
copyA duplicate of the source object will be dropped into the target.
executeA function supported by the drop target is executed, using the drag source as an input.
linkA reference or shortcut to the dragged object will be created in the target object.
moveThe source object will be removed from its current location and dropped into the target.
none (default) No operation can be performed; effectively cancels the drag operation if an attempt is made to drop on this object. Ignored if combined with any other token value. e.g., 'none copy' is equivalent to a 'copy' value.
popup There is a popup menu or dialog that allows the user to choose one of the drag operations (copy, move, link, execute) and any other drag functionality, such as cancel.

aria-errormessageproperty

Identifies theelement (or elements) that provides an error message for anobject. See relatedaria-invalid andaria-describedby.

Thearia-errormessage attribute references other elements that contain error message text. AuthorsMUST usearia-invalid in conjunction witharia-errormessage.

When the value of an object is not valid,aria-invalid is set totrue, which indicates that the message contained by elements referenced byaria-errormessage is pertinent.

When an object is in a valid state, it has eitheraria-invalid set tofalse or it does not have thearia-invalid attribute. AuthorsMAY usearia-errormessage on an object that is currently valid, but only if the elements referenced byaria-errormessage arehidden from all users, because the message they contain is not pertinent.

Whenaria-errormessage is pertinent, authorsMUST ensure the content is nothidden from all users so users can navigate to and examine the error message. Similarly, whenaria-errormessage is not pertinent, authorsMUST either ensure the content ishidden from all users or remove thearia-errormessage attribute or its value.

User agentsMUST NOT exposearia-errormessage for an object with anaria-invalid value offalse.

AuthorsMAY call attention to a new error message with a live region by modifying inserting the error message into the contents of a existing, rendered element with alive region role, such asalert. A live region notification is appropriate when an error message is displayed to users after they have provided an invalid value.

A typical message describes what is wrong and informs users what is required. For example, an error message might be,Invalid time: the time must be between 9:00 AM and 5:00 PM. The following example code shows markup for an initial valid state and for a subsequent invalid state. Note the changes toaria-invalid on the text inputobject, and toaria-live on theelement containing the text of the error message:

<!-- Initial valid state --><labelfor="startTime"> Please enter a start time for the meeting:</label><inputid="startTime"type="text"aria-errormessage="msgID"value=""aria-invalid="false"><spanid="msgID"role="alert"></span><!-- User has input an invalid value --><labelfor="startTime"> Please enter a start time for the meeting:</label><inputid="startTime"type="text"aria-errormessage="msgID"aria-invalid="true"value="11:30 PM" ><spanid="msgID"role="alert">Invalid time: the time must be between 9:00 AM and 5:00 PM</span>
Note

This example usesrole="alert" (which includes an implicit value ofaria-live="assertive") to indicate that assistive technologies will immediately announce the error message rather than completing other queued announcements first. This increases the likelihood that users are aware of the error message before they move focus out of the input.

Note

This state has been deprecated as a global state inARIA 1.2. It is only supported onlive region roles.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:ID reference list

aria-expandedstate

Indicates whether a related element is expanded (shown) or collapsed (hidden).

Thearia-expanded attribute is applied to afocusable, interactive element that toggles visibility of content of a different element. If the element witharia-expanded is also atreeitem in atree or arow in atreegrid, then the authorSHOULD ensure the element is also theaccessibility parent of the content it expands and collapses. Otherwise, the authorSHOULD ensure the element witharia-expanded is not theaccessibility parent of the content that is expanding or collapsing. Rather, identify that relationship between the interactive element and the element being controlled usingaria-controls.

For example,aria-expanded is applied to a parenttreeitem to indicate whether its child branch of the tree is shown.

<ulrole="tree"><lirole="treeitem"aria-expanded="false"aria-selected="false"><span>Fruits</span><ulrole="group"hidden><lirole="treeitem"aria-selected="false">Apricot</li><lirole="treeitem"aria-selected="false">Mangosteen</li><lirole="treeitem"aria-selected="false">Yuzu</li></ul></li></ul>

Similarly, it can be applied to abutton to control the visibility of another element and its content on the current page.

<button type="button" aria-controls="mangosteen" aria-expanded="false">Mangosteen</button><div id="mangosteen" hidden>  An edible fruit native to tropical lands surrounding the Indian Ocean.</div>
Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:true/false/undefined
Values:
ValueDescription
falseThe grouping element this element controls or is the accessibility parent of is collapsed.
trueThe grouping element this element controls or is the accessibility parent of is expanded.
undefined (default)The element does not own or control a grouping element that is expandable.

aria-flowtoproperty

Identifies the nextelement (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

Whenaria-flowto has a single ID reference, it allowsassistive technologies to, at the user's request, forego normal document reading order and go to the targetedobject. However, whenaria-flowto is provided with multiple ID references, assistive technologiesSHOULD present the referenced elements as path choices.

In the case of one or more ID references,user agents or assistive technologiesSHOULD give the user the option of navigating to any of the targeted elements. The name of the path can be determined by the name of the target element of thearia-flowtoattribute.AccessibilityAPIs can provide named pathrelationships.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:ID reference list

aria-grabbedstate

[Deprecated inARIA 1.1] Indicates an element's "grabbed"state in a drag-and-drop operation.

Note

Thearia-grabbed state is expected to be replaced by a new feature in a future version ofWAI-ARIA. Authors are therefore advised to treataria-grabbed asdeprecated.

Settingaria-grabbed totrue indicates that theelement has been selected for dragging. Settingaria-grabbed tofalse indicates that the element can be grabbed for a drag-and-drop operation, but is not currently grabbed. Ifaria-grabbed is unspecified or set toundefined (default), the element cannot be grabbed.

Whenaria-grabbed is set totrue, authorsSHOULD update thearia-dropeffectattribute of all potential drop targets. When an element is not grabbed (the value is set tofalse orundefined, or the attribute is removed), authorsSHOULD revert thearia-dropeffect attributes of the associated drop targets tonone.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:true/false/undefined
Values:
ValueDescription
falseIndicates that the element supports being dragged.
trueIndicates that the element has been "grabbed" for dragging.
undefined (default)Indicates that the element does not support being dragged.

aria-haspopupproperty

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by anelement.

A popup element usually appears as a block of content that is on top of other content. AuthorsMUST ensure that the role of the element that serves as the container for the popup content ismenu,listbox,tree,grid, ordialog, and that the value ofaria-haspopup matches the role of the popup container.

For the popup element to be keyboard accessible, authorsSHOULD ensure that the element that can trigger the popup isfocusable, that there is a keyboard mechanism for opening the popup, and that the popup element manages focus of all its descendants as described inManaging Focus.

Thearia-haspopup property is a token type.User agentsMUST treat any value ofaria-haspopup that is not included in the list of allowed values, including the empty string, as if the valuefalse had been provided. To provide backward compatibility withARIA 1.0 content, user agentsMUST treat anaria-haspopup value oftrue as equivalent to a value ofmenu.

Assistive technologies and user agentsSHOULD NOT expose thearia-haspopup property if it has a value offalse.

Note

Atooltip is not considered to be a popup in this context.

Note

aria-haspopup is most relevant to use when there is a visual indicator in the element that triggers the popup. For example, many controls styled with a downward pointing triangle, chevron, or ellipsis (three consecutive dots) have become standard visual indicators that a popup will display when the control is activated. If some functional difference is relevant to display to a sighted user by means of a different visual style, that functional difference is usually relevant to convey to users of assistive technology. If there is no visual indication that an element will trigger a popup, authors are advised to consider whether use ofaria-haspopup is necessary, and avoid using it when it's not.

Note

This property is being deprecated as a global property inARIA 1.2. In future versions it will only be allowed on roles where it is specifically supported.

Characteristics:
CharacteristicValue
Related Concepts:aria-controls
Used in Roles:
Inherits into Roles:
Value:token
Values:
ValueDescription
false (default)Indicates the element does not have a popup.
trueIndicates the popup is amenu.
menuIndicates the popup is amenu.
listboxIndicates the popup is alistbox.
treeIndicates the popup is atree.
gridIndicates the popup is agrid.
dialogIndicates the popup is adialog.

aria-hiddenstate

Indicates, when set totrue, that anelement and its entire subtree are hidden from assistive technology, regardless of whether it is visibly rendered.

User agents determine an element'shidden status based on whether it is rendered, and the rendering is usually controlled byCSS. For example, an element whosedisplay property is set tonone is not rendered. An element will beexcluded from the accessibility tree if it or any of itsaccessibility ancestors arehidden or have theiraria-hidden attribute value set totrue.

AuthorsMUST NOT usearia-hidden to hide the root element or the host language element thatrepresents or contains the contents of the primary document in view. For instance, thehtml orbody elements in anHTML document. AuthorsMAY, with caution, usearia-hidden to hide visibly rendered content from assistive technologiesonly if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors usingaria-hidden to hide visible content from screen readersMUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.

Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual might use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibilityAPI, the user might be unable to access the interface they perceive using voice control software. Similar problems can also arise for screen reader users. For example, a sighted telephone support technician might attempt to have the blind screen reader user click the "Go to checkout" link, which they might be unable to find using a type-ahead item search ("Go to…"), since that text would have been hidden by the use of the attribute.

As ofARIA 1.3,aria-hidden="false" is now synonymous witharia-hidden="undefined".

Note

The original intent foraria-hidden="false" was to allow user agents to expose content that was otherwise hidden from the accessibility tree. However, due to ambiguity in the specification and inconsistent browser support for thefalse value, the original intent is no longer supported.

To prevent authors erroneously hiding entire window-rendered documents only to those using assistive technology, user agentsMUST NOT expose the hidden state to assistive technologies if it is specified on the root element or the host language element thatrepresents or contains the contents of the primary document in view. For instance, thehtml orbody elements in anHTML document, or the rootsvg element if it is rendered as its own primary document in the browser window. If authors were to specifyaria-hidden="true" on the opening tag for an embedded document, for instance on amath orsvg embedded within anHTML document, user agents would still be expected to hide these elements from assistive technologies.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:true/false/undefined
Values:
ValueDescription
falseThe element'shidden state is determined by the user agent based on whether it is rendered. Synonym ofundefined.
trueThe element ishidden from the accessibilityAPI.
undefined (default)The element'shidden state is determined by the user agent based on whether it is rendered.

aria-invalidstate

Indicates the entered value does not conform to the format expected by the application. See relatedaria-errormessage.

If the value is computed to be invalid or out-of-range, the authorSHOULD set thisattribute totrue.user agentsSHOULD inform the user of the error. AuthorsSHOULD provide suggestions for corrections if they are known.

When the user attempts to submit data involving a field for whicharia-required istrue, authorsMAY use thearia-invalid attribute to signal there is an error. However, if the user has not attempted to submit the form, authorsSHOULD NOT set thearia-invalid attribute on requiredwidgets simply because the user has not yet entered data.

For future expansion, thearia-invalid attribute is a token type. Any value not recognized in the list of allowedvaluesMUST be treated by user agents as if the valuetrue had been provided. If the attribute is not present, or its value isfalse, or its value is the empty string, the default value offalse applies.

Note

This state is being deprecated as a global state inARIA 1.2. In future versions it will only be allowed on roles where it is specifically supported.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:token
Values:
ValueDescription
grammarA grammatical error was detected.
false (default)There are no detected errors in the value.
spellingA spelling error was detected.
trueThe value entered by the user has failed validation.

aria-keyshortcutsproperty

Defines keyboard shortcuts that an author has implemented to activate or give focus to an element.

The value of thearia-keyshortcuts attribute is a space-separated list of keyboard shortcuts that can be pressed to activate a command or textbox widget. The keys defined in the shortcuts represent the physical keys pressed and not the actual characters generated. Each keyboard shortcut consists of one or more tokens delimited by the plus sign ("+") representing zero or more modifier keys and exactly one non-modifier key that must be pressed simultaneously to activate the given shortcut.

AuthorsMUST specify modifier keys exactly according to theUI Events KeyboardEvent key Values spec [uievents-key] - for example, "Alt", "Control", "Shift", "Meta", or "AltGraph". Note that Meta corresponds to the Command key, and Alt to the Option key, on Apple computers.

The valid names for non-modifier keys are any printable character such as "A", "B", "1", "2", "$", "Plus" for a plus sign, "Space" for the spacebar, or the names of any other non-modifier key specified in theUI Events KeyboardEvent key Values spec [uievents-key] - for example, "Enter", "Tab", "ArrowRight", "PageDown", "Escape", or "F1". The use of "Space" for the spacebar is an exception to theUI Events KeyboardEvent key Values spec [uievents-key] as the space or spacebar key is encoded as' ' and would be treated as a whitespace character.

AuthorsMUST ensure modifier keys come first when they are part of a keyboard shortcut. AuthorsMUST ensure that required non-modifier keys come last when they are part of a shortcut. The order of the modifier keys is not otherwise significant, so "Alt+Shift+T" and "Shift+Alt+T" are equivalent, but "T+Shift+Alt" is not valid because all of the modifier keys don't come first, and "Alt" is not valid because it doesn't include at least one non-modifier key.

When specifying an alphabetic key, both the uppercase and lowercase variants are considered equivalent: "a" and "A" are the same.

When implementing keyboard shortcuts authors should consider the keyboards they intend to support to avoid unintended results. Keyboard designs vary significantly based on the device used and the languages supported. For example, many modifier keys are used in conjunction with other keys to create common punctuation symbols, create number characters, swap keyboard sides on bilingual keyboards to switch languages, and perform a number of other functions.

For many supported keyboards, authors can prevent conflicts by avoiding keys other than ASCII letters, as number characters and common punctuation often require modifiers. Here, the keyboard shortcut entered does not equate to the key generated. For example, in French keyboard layouts, the number characters are not available until you press the Shift key, so a keyboard shortcut defined as "Shift+2" would be ambiguous as this is how one would type the "2" character on a French keyboard.

If the character used is determined by a modifier key, the authorMUST specify the actual key used to generate the character, that is generated by the key, and not the resulting character. This convention enables the assistive technology to accurately convey what keys must be used to generate the shortcut. For example, on most U.S. English keyboards, the percent sign "%" can be input by pressing Shift+5. The correct way to specify this shortcut is "Shift+5". It is incorrect to specify "%" or "Shift+%". However, note that on some international keyboards the percent sign might be an unmodified key, in which case "%" and "Shift+%" could be correct on those keyboards.

If the key that needs to be specified is illegal in the host language or would cause a string to be terminated, authorsMUST use the string escaping sequence of the host language to specify it. For example, the single-quote character can be encoded as "&#39;" inHTML.

Examples of valid keyboard shortcuts include:

User agentsMUST NOT change keyboard behavior in response to thearia-keyshortcuts attribute. AuthorsMUST handle scripted keyboard events to processaria-keyshortcuts. Thearia-keyshortcuts attribute exposes the existence of these shortcuts so that assistive technologies can communicate this information to users.

AuthorsSHOULD provide a way to expose keyboard shortcuts so that all users can discover them, such as through the use of a tooltip. AuthorsMUST ensure thataria-keyshortcuts applied to disabled elements are unavailable.

AuthorsSHOULD avoid implementing shortcut keys that inhibit operating system, user agent, or assistive technology functionality. This requires the author to carefully consider both which keys to assign and the contexts and conditions in which the keys are available to the user. For guidance, see the keyboard shortcuts section of theARIA Authoring Practices Guide.

AuthorsSHOULD consider whether the keyboard shortcut will be valid in each language and physical keyboard layout, and consider localizing the shortcut in languages, locales, and common hardware keyboard configurations.

Characteristics:
CharacteristicValue
Related Concepts:Keyboard shortcut
Used in Roles:All elements of the base markup
Value:string

aria-labelproperty

Defines a string value that labels the current element. See relatedaria-labelledby.

The purpose ofaria-label is the same as that ofaria-labelledby. It provides the user with a recognizable name of the object. The most commonaccessibilityAPI mapping for a label is theaccessible name property.

Most host languages provide an attribute that could be used to name the element (e.g., thetitle attribute inHTML), yet this could present a browser tooltip. In the cases whereDOM content or a tooltip is undesirable, authorsMAY set the accessible name of the element usingaria-label, if the element does notprohibit use of the attribute. If the label text is available in theDOM (i.e., typically visible text content), authorsSHOULD usearia-labelledby andSHOULD NOT usearia-label. There might be instances where the name of an element cannot be determined programmatically from theDOM, and there are cases where referencingDOM content is not the desired user experience. AuthorsMUST NOT specifyaria-label on an element which has an explicit or implicitWAI-ARIA role wherearia-label isprohibited. As required by theAccessible Name and Description Computation [ACCNAME-1.2], user agents give precedence toaria-labelledby overaria-label when computing the accessible name property.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup except for the following roles:caption,code,definition,deletion,emphasis,generic,insertion,mark,none,paragraph,strong,subscript,suggestion,superscript,term,time
Value:string

aria-labelledbyproperty

Identifies theelement (or elements) that labels the current element. See relatedaria-label andaria-describedby.

The purpose ofaria-labelledby is the same as that ofaria-label. It provides the user with a recognizable name of the object. The most commonaccessibilityAPI mapping for a label is theaccessible name property.

If the interface is such that it is not possible to have a visible label on the screen, authorsSHOULD usearia-label andSHOULD NOT usearia-labelledby. AuthorsMUST NOT specifyaria-labelledby on an element which has an explicit or implicitWAI-ARIA role wherearia-labelledby isprohibited. As required by theAccessible Name and Description Computation [ACCNAME-1.2], user agents give precedence toaria-labelledby overaria-label when computing the accessible name property.

Thearia-labelledby attribute is similar toaria-describedby in that both reference other elements to calculate a text alternative (an accessible name, and description, respectively). While a concise accessible name is preferable, a description can either be concise, or provide more verbose information.

Note

The expected spelling of this property inU.S. English is "labeledby." However, theaccessibilityAPI features to which this property is mapped have established the "labelledby" spelling. This property is spelled that way to match the convention and minimize the difficulty for developers.

Characteristics:
CharacteristicValue
Related Concepts:<label> inHTML
Used in Roles:All elements of the base markup except for the following roles:caption,code,definition,deletion,emphasis,generic,insertion,mark,none,paragraph,strong,subscript,suggestion,superscript,term,time
Value:ID reference list

aria-levelproperty

Defines the hierarchical level of anelement within a structure.

This can be applied inside trees to tree items, to headings inside a document, to nested grids, nested tablists and to other structural items that might appear inside a container or participate in an ownership hierarchy. The value foraria-level is an integer greater than or equal to 1.

Levels increase with depth. If theDOM ancestry does not accurately represent the level, authorsSHOULD explicitly define thearia-levelattribute.

This attribute is applied to elements that act as leaf nodes within the orientation of the set, for example, on elements with roletreeitem rather than elements with rolegroup. This means that multiple elements in a set can have the same value for this attribute. Although it would be less repetitive to provide a single value on the container, restricting this to leaf nodes ensures that there is a single way forassistive technologies to use the attribute.

If theDOM ancestry accurately represents the level, theuser agent can calculate the level of an item from the document structure. This attribute can be used to provide an explicit indication of the level when that is not possible to calculate from the document structure or thearia-owns attribute. User agent support for automatic calculation of level might vary; authorsSHOULD test withuser agents and assistive technologies to determine whether this attribute is needed. If the author intends for the user agent to calculate the level, the authorSHOULD omit this attribute.

Note

In the case of atreegrid,aria-level is supported on elements with the rolerow, not elements with rolegridcell. At first glance, this might seem inconsistent with the application ofaria-level ontreeitem elements, but it is consistent in that therow acts as the leaf node within the vertical orientation of thegrid, whereas thegridcell is a leaf node within the horizontal orientation of eachrow. Level is not supported on sets of cells within rows, so thearia-level attribute is applied to the element with the rolerow.

Note

On elements with roleheading, values foraria-level above 6 can create difficulties for users. Also, at the time of this writing, most combinations of user agents and assistive technologies only supportaria-level integers 1-9 on headings.

Characteristics:
CharacteristicValue
Used in Roles:
Value:integer

aria-liveproperty

Indicates that anelement will be updated or modified, and defines the priority of updates theuser agents,assistive technologies, and user can expect from thelive region.

Thevalues of thisattribute are expressed in degrees of importance. When regions are specified aspolite, assistive technologies will notify users of updates but generally do not interrupt the current task, and updates take low priority. When regions are specified asassertive, assistive technologies will immediately notify the user of relevant modifications to the live region, and could potentially clear the speech queue of previous updates.

Priority levels (none,polite,assertive) act as an ordering mechanism for updates and serve as a recommendation to user agents or assistive technologies. The value can be overridden by user agents, assistive technologies, or the user. For example, if assistive technologies can determine that a change occurred in response to a key press or a mouse click, the assistive technologies might present that change immediately even if the value of thearia-live attribute states otherwise.

Since different users have different needs, it is up to the user to tweak their assistive technologies' response to a live region. Assistive technologies might choose to implement increasing and decreasing levels of granularity so that the user can exercise control over queues and interruptions.

When theproperty is not set on anobject that needs to send updates, the priority level is the value of the nearest ancestor that sets thearia-live attribute.

Thearia-live attribute is the primary determination for the order of presentation of changes to live regions. Implementations will also consider the default level of priority in arole when thearia-live attribute is not set in the ancestor chain (e.g.,log changes arepolite by default). Modifications to live regions which areassertive will be presented immediately, followed bypolite items. User agents or assistive technologies can choose to clear queued changes when an assertive change occurs. (e.g., changes in an assertive region can remove all currently queued changes)

When live regions are marked aspolite, assistive technologiesSHOULD announce updates at the next graceful opportunity, such as at the end of speaking the current sentence or when the user pauses typing. When live regions are marked asassertive, assistive technologiesSHOULD immediately notify the user of modifications to the live region. Because an interruption might disorient users or cause them to not complete their current task, authorsSHOULD NOT use theassertive value unless the interruption is imperative.

Typically, assistive technology will only conveychanges to a live region, not the initial contents of a live region. To ensure content in a live region is announced, authorsSHOULD create a rendered but empty live region as early as possible (such as on page load), and then modify the content of the live region when the author expects changes to be spoken or brailled. The exception to this live region convention isalert, due to system accessibility notifications events required for the role. While analert is a live region, its content is announced by assistive technology when the alert is rendered on the page and when the content changes.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:token
Values:
ValueDescription
assertiveIndicates that updates to the region have the highest priority and should be presented the user immediately.
off (default)Indicates that updates to the region should not be presented to the user unless the user is currently focused on that region.
polite Indicates that updates to the region should be presented at the next graceful opportunity, such as at the end of speaking the current sentence or when the user pauses typing.

aria-modalproperty

Indicates whether anelement is modal when displayed.

Thearia-modalattribute is used to indicate that the presence of a "modal" element precludes usage of other content on the page. For example, when a modal dialog is displayed, it is expected that the user's interaction is limited to the contents of the dialog, until the modal dialog loses focus or is no longer displayed.

When a modal element is displayed, assistive technologiesSHOULD navigate to the element unless focus has explicitly been set elsewhere. Some assistive technologies limit navigation to the modal element's contents. If focus moves to an element outside the modal element, assistive technologiesSHOULD NOT limit navigation to the modal element.

When a modal element is displayed, authorsMUST ensure the interface can be controlled using only descendants of the modal element. In other words, if a modal dialog has a close button, the button should be a descendant of the dialog. When a modal element is displayed, authorsSHOULD mark all other contents as inert (such as "inert subtrees" inHTML) if the ability to do so exists in the host language.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:true/false
Values:
ValueDescription
false (default)Element is not modal.
trueElement is modal.

aria-multilineproperty

Indicates whether a text box accepts multiple lines of input or only a single line.

Note

In most user agent implementations, the default behavior of theENTER orRETURN key is different between the single-line and multi-line text fields inHTML. When user has focus in a single-line<input type="text"> element, the keystroke usually submits the form. When user has focus in a multi-line<textarea> element, the keystroke inserts a line break. TheWAI-ARIAtextbox role differentiates these types of boxes with thearia-multiline attribute, so authors are advised to be aware of this distinction when designing the field.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:true/false
Values:
ValueDescription
false (default)This is a single-line text box.
trueThis is a multi-line text box.

aria-multiselectableproperty

Indicates that the user can select more than one item from the current selectable descendants.

AuthorsSHOULD ensure that selected descendants have thearia-selectedattribute set totrue, and selectable descendants that are not selected have thearia-selected attribute set tofalse. AuthorsSHOULD NOT use thearia-selected attribute on descendants that are not selectable.

Note

Lists and trees are examples of roles that might allow users to select more than one item at a time.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:true/false
Values:
ValueDescription
false (default)Only one item can be selected.
trueMore than one item in the widget can be selected at a time.

aria-orientationproperty

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

Note

InARIA 1.1, the default value foraria-orientation changed fromhorizontal toundefined. Implicit defaults are defined on some roles (e.g.,slider defaults to horizontal;scrollbar defaults to vertical) but remain undefined on roles where an expected default orientation is ambiguous (e.g.,radiogroup).

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:token
Values:
ValueDescription
horizontalThe element is oriented horizontally.
undefined (default)The element's orientation is unknown/ambiguous.
verticalThe element is oriented vertically.

aria-ownsproperty

Identifies anelement (or elements) in order to define a visual, functional, or contextual parent/childrelationship betweenDOM elements where theDOM hierarchy cannot be used to represent the relationship. See relatedaria-controls.

The value of thearia-ownsattribute is a space-separated ID reference list that references one or more elements in the document by ID. The reason for addingaria-owns is to expose a parent/child contextual relationship toassistive technologies that is otherwise impossible to infer from theDOM.

If an element has botharia-owns andDOM children then the order of the child elements with respect to the parent/child relationship is theDOM children first, then the elements referenced inaria-owns. If the author intends that theDOM children are not first, then list theDOM children inaria-owns in the desired order. AuthorsSHOULD NOT usearia-owns as a replacement for theDOM hierarchy. If the relationship is represented in theDOM, do not usearia-owns.

AuthorsMUST ensure that an element's ID is not specified in more than one other element'saria-owns attribute at any time. In other words, an element can have only one explicit owner. AuthorsMUST NOT create circular references witharia-owns. In the case of authoring error witharia-owns, the user agentMAY ignore somearia-owns element references in order to build a consistent model of the content.

AuthorsMUST NOT specifyaria-owns on an element which hasPresentational Children.

aria-owns is resolved in the order it is encountered in theDOM. Every element referenced byaria-owns will determine itsexposure to the accessibility tree after its change in ownership is resolved. However:

In the following example, “(opens in a new window)” isincluded in the accessibility tree by virtue of its changed ownership.

<ahref="https://www.w3.org/"target="_blank"aria-owns="new-window-warning">  World Wide Web Consortium</a><divaria-hidden="true"><spanid="new-window-warning"> (opens in a new window)</span></div>

In the following example, “(opens in a new window)” remainsexcluded from the accessibility tree since itsDOM ancestor ishidden from all users in host language terms.

<ahref="https://www.w3.org/"aria-owns="new-window-warning">  World Wide Web Consortium</a><divhidden><spanid="new-window-warning"> (opens in a new window)</span></div>

In the following example,<div> and its text content remain exposed and unmovedin the accessibility tree since the would-be accessibility parent element witharia-owns ishidden from all users.

<divhiddenaria-owns="instructions">  ...</div>...<divid="instructions">  Instructions go here...</div>
Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:ID reference list

aria-placeholderproperty

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.

AuthorsSHOULD NOT usearia-placeholder instead of a label as their purposes are different: The label indicates what kind of information is expected. The placeholder text is a hint about the expected value. See relatedaria-labelledby andaria-label.

AuthorsSHOULD present this hint to the user by displaying the hint text at any time the control'svalue is the empty string. This includes cases where the control first receives focus, and when users remove a previously-entered value.

Note

As is the case with the relatedplaceholder attribute inHTML, use of placeholder text as a replacement for a displayed label can reduce the accessibility and usability of the control for a range of users including older users and users with cognitive, mobility, fine motor skill or vision impairments. While the hint given by the control's label is shown at all times, the short hint given in the placeholder attribute is only shown before the user enters a value. Furthermore, placeholder text might be mistaken for a pre-filled value, and as commonly implemented the default color of the placeholder text provides insufficient contrast and the lack of a separate visible label reduces the size of the hit region available for setting focus on the control.

The following examples do not use theHTMLlabel element as it cannot be used to labelHTML elements withcontenteditable.

The following example shows asearchbox in which the user has entered a value:

<spanid="label">Birthday:</span><divcontenteditablerole="searchbox"aria-labelledby="label"aria-placeholder="MM-DD-YYYY">03-14-1879</div>

The following example shows the samesearchbox in which the user has not yet entered a value or has removed a previously-entered value:

<spanid="label">Birthday:</span><divcontenteditablerole="searchbox"aria-labelledby="label"aria-placeholder="MM-DD-YYYY">MM-DD-YYYY</div>
Characteristics:
CharacteristicValue
Related Concepts:placeholder attribute inHTML
Used in Roles:
Inherits into Roles:
Value:string

aria-posinsetproperty

Defines anelement's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in theDOM. See relatedaria-setsize.

If all items in a set are present in the document structure, it is not necessary to set thisattribute, as theuser agent can automatically calculate the set size and position for each item. However, if only a portion of the set is present in the document structure at a given moment, thisproperty is needed to provide an explicit indication of an element's position.

The following example shows items 5 through 8 in a set of 16.

<h2id="label_fruit"> Available Fruit</h2><ulrole="listbox"aria-labelledby="label_fruit"><lirole="option"aria-setsize="16"aria-posinset="5"> apples</li><lirole="option"aria-setsize="16"aria-posinset="6"> bananas</li><lirole="option"aria-setsize="16"aria-posinset="7"> cantaloupes</li><lirole="option"aria-setsize="16"aria-posinset="8"> dates</li></ul>

When specifyingaria-posinset, authorsMUST specify a value that is an integer greater than or equal to 1, and less than or equal to the size of the set when that size is known. If authors specifyaria-posinset, authorsMUST also specify a value foraria-setsize.

When specifyingaria-posinset on amenuitem,menuitemcheckbox, ormenuitemradio, authorsSHOULD set the value ofaria-posinset with respect to the total number of items in themenu, excluding any separators.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:integer

aria-pressedstate

Indicates the current "pressed"state of toggle buttons. See relatedaria-checked andaria-selected.

Toggle buttons require a full press-and-release cycle to change their value. Activating it once changes the value totrue, and activating it another time changes the value back tofalse. A value ofmixed means that the values of more than one item controlled by the button do not all share the same value. If theattribute is not present, the button is not a toggle button.

Thearia-pressed attribute is similar but not identical to thearia-checked attribute. Operating systems supportpressed on buttons andchecked on checkboxes.

Characteristics:
CharacteristicValue
Used in Roles:
Value:tristate
Values:
ValueDescription
falseThe element supports being pressed but is not currently pressed.
mixedIndicates a mixed mode value for a tri-state toggle button.
trueThe element is pressed.
undefined (default)The element does not support being pressed.

aria-readonlyproperty

Indicates that theelement is not editable, but is otherwiseoperable. See relatedaria-disabled.

This means the user can read but not set the value of thewidget. Readonly elements are relevant to the user, and authorsSHOULD NOT restrict navigation to the element or itsfocusable descendants. Other actions such as copying the value of the element are also supported. This is in contrast to disabled elements, to which applications might not allow user navigation to descendants.

Examples include:

  • A form element which represents a constant.
  • Row or column headers in a spreadsheet grid.
  • The result of a calculation such as a shopping cart total.
Characteristics:
CharacteristicValue
Related Concepts:readonly attribute inHTML
Used in Roles:
Inherits into Roles:
Value:true/false
Values:
ValueDescription
false (default)The user can set the value of the element.
trueThe user cannot change the value of the element.

aria-relevantproperty

Indicates what notifications the user agent will trigger when theaccessibility tree within a live region is modified. See relatedaria-atomic.

Theattribute is represented as a space-separated list of the followingvalues:additions,removals,text; or a single catch-all valueall.

This is used to describesemantically meaningful changes, as opposed to merely presentational ones. For example, nodes that are removed from the top of a log are merely removed for purposes of creating room for other entries, and the removal of them does not have meaning. However, in the case of a buddy list, removal of a buddy name indicates that they are no longer online, and this is a meaningfulevent. In that casearia-relevant will be set toall. When thearia-relevant attribute is not provided, the default value,additions text, indicates that text modifications and node additions are relevant, but that node removals are irrelevant.

Note

aria-relevant values of removals or all are to be used sparingly. Assistive technologies only need to be informed of content removal when its removal represents an important change, such as a buddy leaving a chat room.

Note

Text removals should only be considered relevant if one of the specified values is 'removals' or 'all'. For example, for a text change from 'foo' to 'bar' in a live region with a defaultaria-relevant value, the text addition ('bar') would be spoken, but the text removal ('foo') would not.

aria-relevant is an optional attribute of live regions. This is a suggestion toassistive technologies, but assistive technologies are not required to present changes of all the relevant types.

Whenaria-relevant is not defined, an element's value is inherited from the nearest ancestor with a defined value. Although the value is atoken list, inherited values are not additive; the value provided on a descendant element completely overrides any inherited value from an ancestor element.

When text changes are denoted as relevant, user agentsMUST monitor any descendant node change that affects theAccessible Name and Description Computation [ACCNAME-1.2] of the live region as if the accessible name were determined from contents (nameFrom: contents). For example, a text change would be triggered if theHTMLalt attribute of a contained image changed. However, no change would be triggered if there was a text change to a node outside the live region, even if that node was referenced (viaaria-labelledby) by an element contained in the live region.

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup
Value:token list
Values:
ValueDescription
additionsElement nodes are added to theaccessibility tree within the live region.
additions text (default)Equivalent to the combination of values, "additions text".
allEquivalent to the combination of all values, "additions removals text".
removalsText content, a text alternative, or an element node within the live region is removed from theaccessibility tree.
textText content or a text alternative is added to any descendant in theaccessibility tree of the live region.

aria-requiredproperty

Indicates that user input is required on theelement before a form can be submitted.

For example, if the user needs to fill in an address field, the author will need to set the field'saria-required attribute totrue.

Note

The fact that the element is required is often presented visually (such as a sign or symbol after thewidget). Using thearia-requiredattribute allows the author to explicitly convey toassistive technologies that an element is required.

Unless an exactly equivalent native attribute is available, host languagesSHOULD allow authors to use thearia-required attribute on host language form elements that require input or selection by the user.

Characteristics:
CharacteristicValue
Related Concepts:required attribute inHTML
Used in Roles:
Inherits into Roles:
Value:true/false
Values:
ValueDescription
false (default)User input is not necessary to submit the form.
trueUsers need to provide input on an element before a form is submitted.

aria-roledescriptionproperty

Defines a human-readable, author-localized description for therole of anelement.

Someassistive technologies, such as screen readers, present the role of an element as part of the user experience. Such assistive technologies typically localize the name of the role, and they might customize it as well. Users of these assistive technologies depend on the presentation of the role name, such as "region," "button," or "slider," for an understanding of the purpose of the element and, if it is a widget, how to interact with it.

Thearia-roledescription property gives authors the ability to override how assistive technologies localize and express the name of a role. Thus inappropriately usingaria-roledescription might inhibit users' ability to understand or interact with an element. AuthorsSHOULD limit use ofaria-roledescription to clarifying the purpose of non-interactive container roles likegroup orregion, or to providing amore specific description of awidget.

When usingaria-roledescription, authorsSHOULD also ensure that:

  1. The element to whicharia-roledescription is applied has a validWAI-ARIA role or has an implicitWAI-ARIA role semantic.
  2. The value ofaria-roledescription is not empty or does not contain onlywhitespace characters.
Note

Depending on the assistive technology, user verbosity settings, or other factors, certain elements' role descriptions might not be conveyed. If specifyingaria-roledescription on such elements, then the custom role descriptions might also not be conveyed by these assistive technologies.

Additionally, authorsMUST NOT specifyaria-roledescription on an element which has an explicit or implicitWAI-ARIA role wherearia-roledescription isprohibited.

User agentsMUST NOT expose thearia-roledescription property if any of the following conditions exist:

  1. The element to whicharia-roledescription is applied has an explicit or implicitWAI-ARIA role wherearia-roledescription isprohibited.
  2. The value ofaria-roledescription is undefined or the empty string.

Assistive technologiesSHOULD use the value ofaria-roledescription when presenting the role of an element, butSHOULD NOT change other functionality based on the role of an element that has a value foraria-roledescription. For example, an assistive technology that provides functions for navigating to the nextregion orbuttonSHOULD allow those functions to navigate to regions and buttons that have anaria-roledescription.

The following two examples show the use ofaria-roledescription to indicate that a non-interactive container is a "slide" in a web-based presentation application.

<divrole="article"aria-roledescription="slide"id="slide"aria-labelledby="slideheading"><h1id="slideheading">Quarterly Report</h1><!-- remaining slide contents --></div>
<articlearia-roledescription="slide"id="slide"aria-labelledby="slideheading"><h1id="slideheading">Quarterly Report</h1><!-- remaining slide contents --></article>

In the previous examples, a screen reader user might hear "Quarterly Report, slide" rather than the more vague "Quarterly Report, article" or "Quarterly Report, group."

Characteristics:
CharacteristicValue
Used in Roles:All elements of the base markup except for the following roles:generic
Value:string

aria-rowcountproperty

Defines the total number of rows in atable,grid, ortreegrid. See relatedaria-rowindex.

If all of the rows are present in theDOM, it is not necessary to set thisattribute as theuser agent can automatically calculate the total number of rows. However, if only a portion of the rows is present in theDOM at a given moment, this attribute is needed to provide an explicit indication of the number of rows in the full table.

AuthorsMUST set the value ofaria-rowcount to an integer equal to the number of rows in the full table. If the total number of rows is unknown, authorsMUST set the value ofaria-rowcount to-1 to indicate that the value should not be calculated by the user agent.

The following example shows a grid with 2000 rows, of which the first row and rows 100 through 102 are displayed to the user.

<divrole="grid"aria-rowcount="2000"><divrole="rowgroup"><divrole="row"aria-rowindex="1"><spanrole="columnheader">First Name</span><spanrole="columnheader">Last Name</span><spanrole="columnheader">Company</span><spanrole="columnheader">Phone</span></div></div><divrole="rowgroup"><divrole="row"aria-rowindex="100"><spanrole="gridcell">Fred</span><spanrole="gridcell">Jackson</span><spanrole="gridcell">Acme, Inc.</span><spanrole="gridcell">555-1234</span></div><divrole="row"aria-rowindex="101"><spanrole="gridcell">Sara</span><spanrole="gridcell">James</span><spanrole="gridcell">Acme, Inc.</span><spanrole="gridcell">555-1235</span></div><divrole="row"aria-rowindex="102"><spanrole="gridcell">Taylor</span><spanrole="gridcell">Johnson</span><spanrole="gridcell">Acme, Inc.</span><spanrole="gridcell">555-1236</span></div></div></div>
Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:integer

aria-rowindexproperty

Defines anelement's row index or position with respect to the total number of rows within atable,grid, ortreegrid. See relatedaria-rowindextext,aria-rowcount, andaria-rowspan.

If all of the rows are present in theDOM, it is not necessary to set thisattribute as theuser agent can automatically calculate the index of each row. However, if only a portion of the rows is present in theDOM at a given moment, this attribute is needed to provide an explicit indication of each row's position with respect to the full table.

AuthorsMUST set thevalue foraria-rowindex to an integer greater than or equal to 1, greater than thearia-rowindex value of any previous rows, and less than or equal to the number of rows in the full table. For a cell or gridcell which spans multiple rows, authorsMUST set the value ofaria-rowindex to the start of the span.

AuthorsSHOULD placearia-rowindex on each row. AuthorsMAY also placearia-rowindex on all of theaccessibility children of each row.

The following example shows a grid with 2000 rows, of which the first row and rows 100 through 102 are displayed to the user.

<divrole="grid"aria-rowcount="2000"><divrole="rowgroup"><divrole="row"aria-rowindex="1"><spanrole="columnheader">First Name</span><spanrole="columnheader">Last Name</span><spanrole="columnheader">Company</span><spanrole="columnheader">Phone</span></div></div><divrole="rowgroup"><divrole="row"aria-rowindex="100"><spanrole="gridcell">Fred</span><spanrole="gridcell">Jackson</span><spanrole="gridcell">Acme, Inc.</span><spanrole="gridcell">555-1234</span></div><divrole="row"aria-rowindex="101"><spanrole="gridcell">Sara</span><spanrole="gridcell">James</span><spanrole="gridcell">Acme, Inc.</span><spanrole="gridcell">555-1235</span></div><divrole="row"aria-rowindex="102"><spanrole="gridcell">Taylor</span><spanrole="gridcell">Johnson</span><spanrole="gridcell">Acme, Inc.</span><spanrole="gridcell">555-1236</span></div></div></div>

The following example shows the grid from the previous example witharia-rowindex also placed on all of theaccessibility children of each row.

<divrole="grid"aria-rowcount="2000"><divrole="rowgroup"><divrole="row"aria-rowindex="1"><spanrole="columnheader"aria-rowindex="1">First Name</span><spanrole="columnheader"aria-rowindex="1">Last Name</span><spanrole="columnheader"aria-rowindex="1">Company</span><spanrole="columnheader"aria-rowindex="1">Phone</span></div></div><divrole="rowgroup"><divrole="row"aria-rowindex="100"><spanrole="gridcell"aria-rowindex="100">Fred</span><spanrole="gridcell"aria-rowindex="100">Jackson</span><spanrole="gridcell"aria-rowindex="100">Acme, Inc.</span><spanrole="gridcell"aria-rowindex="100">555-1234</span></div><divrole="row"aria-rowindex="101"><spanrole="gridcell"aria-rowindex="101">Sara</span><spanrole="gridcell"aria-rowindex="101">James</span><spanrole="gridcell"aria-rowindex="101">Acme, Inc.</span><spanrole="gridcell"aria-rowindex="101">555-1235</span></div><divrole="row"aria-rowindex="102"><spanrole="gridcell"aria-rowindex="102">Taylor</span><spanrole="gridcell"aria-rowindex="102">Johnson</span><spanrole="gridcell"aria-rowindex="102">Acme, Inc.</span><spanrole="gridcell"aria-rowindex="102">555-1236</span></div></div></div>
Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:integer

aria-rowindextextproperty

Defines a human readable text alternative ofaria-rowindex. See relatedaria-colindextext.

AuthorsSHOULD only usearia-rowindextext when the provided or calculated value ofaria-rowindex is not meaningful or does not reflect the displayed index, as can be seen in the game Battleship.

AuthorsSHOULD NOT usearia-rowindextext as a replacement foraria-rowindex because some assistive technologies rely upon the numeric row index for the purpose of keeping track of the user's position or providing alternative table navigation.

AuthorsSHOULD placearia-rowindextext on each row. AuthorsMAY also placearia-rowindextext on all of theaccessibility children of each row.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:string

aria-rowspanproperty

Defines the number of rows spanned by a cell or gridcell within atable,grid, ortreegrid. See relatedaria-rowindex andaria-colspan.

Thisattribute is intended for cells and gridcells which are not contained in a native table. When defining the row span of cells or gridcells in a native table, authorsSHOULD use the host language's attribute instead ofaria-rowspan. Ifaria-rowspan is used on an element for which the host language provides an equivalent attribute,user agentsMUST ignore the value ofaria-rowspan and instead expose the value of the host language's attribute toassistive technologies.

AuthorsMUST set thevalue ofaria-rowspan to an integer greater than or equal to 0 and less than the value which would cause the cell or gridcell to overlap the next cell or gridcell in the same column. Setting the value to 0 indicates that the cell or gridcell is to span all the remaining rows in the row group.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:integer

aria-selectedstate

Indicates the current "selected"state of variouswidgets. See relatedaria-checked andaria-pressed.

Thisattribute is used to indicate which elements within single-selection and multiple-selectioncomposite widgets are selected.

Theoption,tab, andtreeitem roles permit user agents to provide an implicit value foraria-selected when specified conditions are met. User agentsMUST NOT provide an implicit value for aria-selected in any other circumstance.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:true/false/undefined
Values:
ValueDescription
falseThe selectable element is not selected.
trueThe selectable element is selected.
undefined (default)The element is not selectable.

aria-setsizeproperty

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in theDOM. See relatedaria-posinset.

Thisproperty is marked on the members of a set, not the container element that collects the members of the set. To orient the user by saying an element is "item X out of Y," theassistive technologies would use X equal to thearia-posinsetattribute and Y equal to thearia-setsize attribute.

If all items up to the current item in a set are present in the document structure, it is not necessary to set thisattribute, as theuser agent can automatically calculate the position for these items. However, if all previous items in the set are not present in the document structure at a given moment, the authorMUST set thisattributeto provide an explicit indication of an element's position.

When specifyingaria-setsize, authorsMUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown, authorsSHOULD set the value ofaria-setsize to-1.

When specifyingaria-setsize on amenuitem,menuitemcheckbox, ormenuitemradio, authorsSHOULD set the value ofaria-setsize based on the total number of items in themenu, excluding any separators.

The following example shows items 5 through 8 in a set of 16.

<h2id="label_fruit"> Available Fruit</h2><ulrole="listbox"aria-labelledby="label_fruit"><lirole="option"aria-setsize="16"aria-posinset="5"> apples</li><lirole="option"aria-setsize="16"aria-posinset="6"> bananas</li><lirole="option"aria-setsize="16"aria-posinset="7"> cantaloupes</li><lirole="option"aria-setsize="16"aria-posinset="8"> dates</li></ul>

The following example shows items 5 through 8 in a set whose total size is unknown.

<h2id="label_fruit"> Available Fruit</h2><ulrole="listbox"aria-labelledby="label_fruit"><lirole="option"aria-setsize="-1"aria-posinset="5"> apples</li><lirole="option"aria-setsize="-1"aria-posinset="6"> bananas</li><lirole="option"aria-setsize="-1"aria-posinset="7"> cantaloupes</li><lirole="option"aria-setsize="-1"aria-posinset="8"> dates</li></ul>
Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:integer

aria-sortproperty

Indicates if items in a table or grid are sorted in ascending or descending order.

AuthorsSHOULD only apply thisproperty to table headers or grid headers. If the property is not provided, there is no defined sort order. For each table or grid, authorsSHOULD applyaria-sort to only one header at a time.

Characteristics:
CharacteristicValue
Used in Roles:
Value:token
Values:
ValueDescription
ascendingItems are sorted in ascending order.
descendingItems are sorted in descending order.
none (default)There is no defined sort applied.
otherA sort algorithm other than ascending or descending has been applied.

aria-valuemaxproperty

Defines the maximum allowed value for a rangewidget.

AuthorsMUST ensure the value ofaria-valuemax is greater than or equal to the value ofaria-valuemin. If thearia-valuenow has a known maximum and minimum, the authorSHOULD provide properties foraria-valuemax andaria-valuemin.

Note

A range widget starts with a given value, which can be increased until reaching the maximum value, defined by thisproperty. Declaring the minimum and maximumvalues allows assistive technology to convey the size of the range to users.

Characteristics:
CharacteristicValue
Related Concepts:<input type="range"> elementmax attribute inHTML
Used in Roles:
Inherits into Roles:
Value:number

aria-valueminproperty

Defines the minimum allowed value for a rangewidget.

AuthorsMUST ensure the value ofaria-valuemin is less than or equal to the value ofaria-valuemax. If thearia-valuenow has a known maximum and minimum, the authorSHOULD provide properties foraria-valuemax andaria-valuemin.

Note

A range widget starts with a given value, which can be decreased until reaching the minimum value, defined by thisproperty. Declaring the minimum and maximumvalues allows assistive technology to convey the size of the range to users.

Characteristics:
CharacteristicValue
Related Concepts:<input type="range"> elementmin attribute inHTML
Used in Roles:
Inherits into Roles:
Value:number

aria-valuenowproperty

Defines the current value for a rangewidget. See relatedaria-valuetext.

This property is used, for example, on a range widget such as a slider or progress bar.

If the current value is not known (for example, an indeterminate progress bar), the authorSHOULD NOT set thearia-valuenowattribute. If thearia-valuenow attribute is absent, no information is implied about the current value. If thearia-valuenow has a known maximum and minimum, the authorSHOULD provide properties foraria-valuemax andaria-valuemin.

The value ofaria-valuenow is a decimal number. If the range is a set of numeric values, thenaria-valuenow is one of those values. For example, if the range is [0, 1], a validaria-valuenow is 0.5. A value outside the range, such as -2.5 or 1.1, is invalid.

Forprogressbar elements andscrollbar elements, assistive technologiesSHOULD render the value to users as a percent, calculated as a position on the range fromaria-valuemin toaria-valuemax if both are defined, otherwise the actual value with a percent indicator. For elements with roleslider andspinbutton, assistive technologiesSHOULD render the actual value to users.

When the rendered value cannot be accurately represented as a number, authorsSHOULD use thearia-valuetext attribute in conjunction witharia-valuenow to provide a user-friendly representation of the range's current value. For example, a slider might have rendered values ofsmall,medium, andlarge. In this case, the values ofaria-valuetext would be one of the strings:small,medium, orlarge.

Note

Ifaria-valuetext is specified, assistive technologies render that instead of the value ofaria-valuenow.

Characteristics:
CharacteristicValue
Related Concepts:<input type="range"> elementvalue attribute inHTML
Used in Roles:
Inherits into Roles:
Value:number

aria-valuetextproperty

Defines the human readable text alternative ofaria-valuenow for a rangewidget.

This property is used, for example, on a range widget such as a slider or progress bar.

If thearia-valuetext attribute is set, authorsSHOULD also set thearia-valuenow attribute, unless that value is unknown (for example, on an indeterminateprogressbar).

AuthorsSHOULD only set thearia-valuetext attribute when the rendered value cannot be meaningfully represented as a number. For example, a slider might have rendered values ofsmall,medium, andlarge. In this case, the values ofaria-valuenow could range from 1 through 3, which indicate the position of each value in the value space, but thearia-valuetext would be one of the strings:small,medium, orlarge. If thearia-valuetext attribute is absent, theassistive technologies will rely solely on thearia-valuenow attribute for the current value.

Ifaria-valuetext is specified, assistive technologiesSHOULD render that value instead of the value ofaria-valuenow.

Characteristics:
CharacteristicValue
Used in Roles:
Inherits into Roles:
Value:string

7.Accessibility Tree

Theaccessibility tree and theDOM tree are parallel structures. Theaccessibility tree includes the user interface objects of theuser agent and the objects of the document.Accessible objects are created in the accessibility tree for everyDOM element that should be exposed to anassistive technology, either because it might fire an accessibilityevent or because it has aproperty,relationship or feature which needs to be exposed.

7.1Excluding Elements from the Accessibility Tree

The followingelements are not exposed via theaccessibilityAPI and user agentsMUST NOT include them in theaccessibility tree:

If not already excluded from the accessibility tree per the above rules, user agentsSHOULD NOT include the following elements in the accessibility tree:

7.2Including Elements in the Accessibility Tree

If not excluded from the accessibility tree per the rules above inExcluding Elements in the Accessibility Tree, user agentsMUST provide anaccessible object in theaccessibility tree forDOMelements that meet any of the following criteria:

7.3Relationships in the Accessibility Tree

The following terms are used to describe relationships betweenDOM elements.

Theaccessibility children of aDOM element are all of the children of that element's correspondingaccessible object in theaccessibility tree. In terms of theDOM, that includes the following (with exclusions listed blow):

And excludes the following:

In the following example, thelist element has four accessibility children:

Example 53
<divrole="list"aria-owns="child3 child4"><divrole="listitem">Accessibility Child 1</div><div><divrole="listitem">Accessibility Child 2</div></div></div><divid="child3"role="listitem">Accessibility Child 3</div><divid="child4"><divrole="listitem">Accessibility Child 4</div></div>

In the following example, the firstlist element has no accessibility children, where as the secondlist element has one accessibility child, specifically thelistitem with ID value "reparented".

Example 54
<divrole="list"><divrole="listitem"aria-hidden="true">Excluded element</div><divrole="listitem"id="reparented">Reparented element</div></div><divrole="list"aria-owns="reparented"></div>

Theaccessibility descendants of aDOM element are allDOM elements which correspond to descendants of the correspondingaccessible object in theaccessibility tree.

Theaccessibility parent of aDOM element is the parent of the correspondingaccessible object in theaccessibility tree. In terms of theDOM, the accessibility parent is one of the following:

The following four examples all contain alistitem element with an accessibility parent of rolelist:

Example 55
<divrole="list"><divrole="listitem">The "list" is my accessibility parent.</div></div>
Example 56
<divrole="list"><div><divrole="listitem">The "list" is my accessibility parent.</div></div></div>
Example 57
<divrole="list"aria-owns="child"></div><divid="child"role="listitem">The "list" is my accessibility parent.</div>
Example 58
<divrole="list"aria-owns="child"></div><divid="child"><divrole="listitem">The "list" is my accessibility parent.</div></div>

8.Implementation in Host Languages

Theroles,state, andproperties defined in this specification do not form a complete web language or format. They are intended to be used in the context of ahost language. This section discusses how host languages are to implementWAI-ARIA, to ensure that the markup specified here will integrate smoothly and effectively with the host language markup.

Ahost language is a markup-based language in whichARIA can be used as an accessibility enhancement technology. Examples include [HTML] and [SVG2], which both explicitly support the use ofARIA.

Although markup languages look alike superficially, they do not share language definition infrastructure. To accommodate differences in language-building approaches, the requirements are both general and modularization-specific. While allowing for differences in how the specifications are written, the intent is to maintain consistency in how theWAI-ARIA information looks to authors and how it is manipulated in theDOM by scripts.

WAI-ARIA roles, states, and properties are implemented asattributes ofelements. Roles are applied by placing their names among the tokens appearing in the value of a host-language-providedrole attribute. States and properties each get their own attribute, with values as defined for each particular state or property in this specification. The name of the attribute is the aria-prefixed name of the state or property.

8.1Role Attribute

An implementing host language will provide aroleattribute with the following characteristics:

8.2State and Property Attributes

An implementing host languageMUST allowattributes with the following characteristics:

Host languages that supportXML Namespaces [XML-NAMES]MAY require thatWAI-ARIA attributes be used with a namespace. In this case, the namespace forWAI-ARIA state and property attributesMUST behttp://www.w3.org/ns/wai-aria/. To useWAI-ARIA in host languages that do not explicitly describe support for it, authorsSHOULD use this namespace as well, if the host language supports namespaces and there is expectation that user agents will recognize theWAI-ARIA namespace. The namespace prefix is not defined by this specification but generally is expected to be "aria".

Note

TheWAI-ARIA state and property attributes have a naming convention such that they all begin with the string "aria-". This isnot a namespace prefix, it is a part of the state or property name. Therefore, when usingWAI-ARIA states and properties with namespace prefixes, the complete attribute name will be like "aria:aria-foo".

Some host languages do not use namespaces withWAI-ARIA state and property attributes, either because the host language does not support namespaces or because the designers wish to incorporateWAI-ARIA into the core feature set. In these host languages, the namespace name for these attributes has no value. The names of these attributes do not have a prefix offset by a colon; in the terms of namespaces they are unprefixed attribute names. The ECMAScript binding of theDOM interfacegetAttributeNS for example, treats the empty string ("") as representing this condition, so that bothgetAttribute("aria-busy") andgetAttributeNS("", "aria-busy") access the samearia-busy attribute in theDOM.

Note

According to the requirements of this section, some user agents recognizeWAI-ARIA state and property attributeswith namespaces, somewithout namespaces, and some might recognize both. Authors are advised to be aware of which form is supported for the host language they are using. Unless the host language and supporting user agents explicitly indicate that the namespace is required, authors are advised to use the attribute without namespaces. Even user agents that support namespaces generally do not publish namespacedWAI-ARIA states and properties to accessibilityAPIs. In particular, current implementations ofHTML, includingXHTML, do not support this namespace.

8.3Focus Navigation

An implementing host languageMUST provide support for the author to make all interactive elementsfocusable, that is, any renderable or event-receiving elements. An implementing host languageMUST provide a facility to allow authors to define whether these focusable, interactive elements appear in the default tab navigation order. Thetabindexattribute inHTML is an example of one implementation.

8.4ImplicitWAI-ARIA Semantics

WAI-ARIA is designed to providesemantic information about objects when host languages lack native semantics for the object.WAI-ARIA is designed, however, to provide additional semantics for many host languages. Furthermore, host languages over time can evolve and provide new native features that correspond toWAI-ARIA features. Therefore, there are many situations in whichWAI-ARIA semantics are redundant with host language semantics.

These host language features can be viewed as having "implicitWAI-ARIA semantics". User agent processing of features with implicitWAI-ARIA semantics would be similar to the processing for theWAI-ARIA feature. The processing might not be identical because of lexical differences between the host language feature and theWAI-ARIA feature, but generally the user agent would expose the same information to the accessibilityAPI. Features with implicitWAI-ARIA semantics satisfyWAI-ARIA structural requirements such as Required Accessibility Parent Roles, Allowed Accessibility Child Roles, required states and properties, etc. and do not require explicitWAI-ARIA semantics to be provided. On elements with implicitWAI-ARIA roles, authors can also useWAI-ARIA states and properties supported by those roleswithout requiring explicit indication of theWAI-ARIA role.

For example, if an element with the functionality already exists, such as a checkbox or radio button, use the native semantics of the host language.WAI-ARIA markup is only intended to be used to enhance the native semantics (e.g., indicating that the element is required witharia-required), or to change the semantics to a different purpose from the standard functionality of the element.

ImplicitWAI-ARIA semantics affect the conflict resolution procedures in the following section, Conflicts with Host Language Semantics. Therefore, implicitWAI-ARIA semantics need to be defined in a normative specification, such as the host language specification or theCore AccessibilityAPI Mappings.

8.5Conflicts with Host Language Semantics

WAI-ARIA roles, states, and properties are intended to addsemantic information when native host language elements with these semantics are not available, and are generally used on elements that have no native semantics of their own. They can also be used on elements that have similar but non-identical semantics (for example, a nested list could be used to represent a tree structure). This method can be part of a fallback strategy for older browsers that have noWAI-ARIA implementation, or because native presentation of the repurposed element reduces the amount of style and/or script needed. Except for the cases outlined below, user agentsMUST always use theWAI-ARIA semantics to define how it exposes the element to accessibilityAPIs, rather than using the host language semantics.

In addition to these normal situations in whichWAI-ARIA is expected to override native semantics, there are elements that are inappropriate to override withWAI-ARIA. This could be because identical host language semantics exist, soWAI-ARIA is not needed, or because semantics fromWAI-ARIA directly conflict with host language semantics. When a feature in the host language with identical role semantics and values is available, and the author has no compelling reason to avoid using the host language feature, authorsSHOULD use the host language features rather than repurpose other elements withWAI-ARIA.

Host languages can have features that have implicitWAI-ARIA semantics corresponding to roles. When aWAI-ARIA role is provided, user agentsMUST use the semantic of theWAI-ARIA role for processing, not the native semantic, unless the role requiresWAI-ARIA states and properties whose attributes are explicitly forbidden on the native element by the host language. Values for roles do not conflict in the same way as values for states and properties (for example, theHTML 'checked' attribute and the 'aria-checked' attribute could have conflicting values), and authors are expected to have valid reason to provide aWAI-ARIA role even on elements that would not normally be repurposed.

WhenWAI-ARIA states and properties correspond to host language features that have the sameimplicitWAI-ARIA semantic, it can be particularly problematic to use theWAI-ARIA feature. If theWAI-ARIA feature and the host language feature are both provided but their values are not kept in sync, user agents and assistive technologies cannot know which value to use. Therefore, to prevent providing conflicting states and properties to assistive technologies, host languagesMUST explicitly declare where the use ofWAI-ARIA attributes on each host language element conflicts with native features for that element. When a host language declares aWAI-ARIA attribute to be in direct semantic conflict with a native feature for a given element, user agentsMUST ignore theWAI-ARIA attribute and instead use the host language feature with the same implicit semantic.

Host languagesMAY document features that cannot be overridden withWAI-ARIA (these are called "strong native semantics"). These can be features that have implicitWAI-ARIA semantics, as well as features where the processing would be uncertain if the semantics were changed withWAI-ARIA. Conformance checkersMAY signal an error or warning when aWAI-ARIA role is used on elements with strong native semantics, but as described above, user agentsMUST still use the value of the semantic of theWAI-ARIA role when exposing the element to accessibilityAPIs unless the native host language semantic is permanently presentational.

The opportunity for host languages to create exceptions to theWAI-ARIA override of native features is meant to avoid potential author errors or problems with intrinsic processing of host language features. Author errors could happen when a host language andWAI-ARIA provide similar but not identical features, where it might not be clear how changing one but not the other affects the accessibilityAPI. Intrinsic processing refers to the way a feature is processed, beyond simple rendering and exposure to the AccessibilityAPI, that cannot reasonably be changed in response to anARIA feature, and would lead to unpredictable results wereARIA allowed. In these situations, there is good reason for host languages to limit the scope ofWAI-ARIA. However, this provision does not give blanket permission for host languages to forbid the use ofWAI-ARIA simply by documenting, feature by feature, that it cannot be used. Host languages should create restrictions on the use ofARIA only when it is critical to effective processing of content.

CertainARIA features are critical to building a complete model in the accessibilityAPI. Such features are not expected to conflict with native host language semantics (though they can complement them). Therefore, host languagesMUST NOT declare strong native semantics that prevent use of the followingARIA features:

8.6State and Property Attribute Processing

State and property attributes are included in host languages, and therefore syntax for representation of their value types is governed by the host language. For each of the value types defined inValue, an appropriate value type from the host language is used. Recommended correspondences betweenWAI-ARIA value types and various host language value types are listed inMappingWAI-ARIA Value types to languages. This is a non-normative mapping in order to accommodate new host languages supportingWAI-ARIA.

The list value types—ID reference list and token list—allow more than one value of the given type to be provided. The values are separated by delimiter characters recognized by the host language for list attributes, such as space characters, commas, etc. Some languages might require a specific, single delimiter, while others might allow various delimiters.

Global states and properties are supported on any element in the host language. However, authorsMUST only use non-global states and properties on elements with a role supporting the state or property; either defined as an explicitWAI-ARIA role, or as defined by the host language implicitWAI-ARIA semantic matching an appropriateWAI-ARIA role. When a role attribute is added to an element, thesemantics and behavior of the element, including support forWAI-ARIA states and properties, are augmented or overridden by the role behavior. User agentsMUST ignore non-global states and properties used on an element without a role supporting the state or property; either defined as an explicitWAI-ARIA role, or as defined by the host languageWAI-ARIA semantic matching an appropriateWAI-ARIA role. For example, thearia-valuetext attribute can be used on aprogressbar.

WAI-ARIA roles have associated states and properties that are qualified as "supported" or "required". An example of a propertysupported by thecombobox role isaria-autocomplete. The property is designated "supported" in this case because a givencombobox might or might not implement auto completion. In contrast, thecombobox rolerequires thearia-expanded state in order to indicate that it is expandable. Comboboxes have a controlled popup element, such as alistbox, that is either open or closed. If thelistbox is open, thecombobox is in its expanded state; otherwise it is collapsed.

WhenWAI-ARIA roles are used,supported states and properties that are not present in theDOM are treated according to their default value. Keeping with thecombobox example, a missingaria-autocomplete attribute is equivalent toaria-autocomplete="none", meaning thecombobox does not offer auto completion.

However,required states and properties that are absent are an author error. Missing required states and properties are processed as detailed atHandling Author Errors.

Elements that have implicitWAI-ARIA semantics support the full set ofWAI-ARIA states and properties supported by the corresponding role. Therefore, authorsMAY omit the role when setting states and properties. The role is only needed when the implicitWAI-ARIA role of the element needs to be changed.

Sometimes states and properties are present in theDOM but have a zero-length string ("") as their value. AuthorsMAY specify a zero-length string ("") for any supported (but not required) state or property. User agentsSHOULD treat state and property attributes with a value of "" the same as they treat an absent attribute. For supported states and properties, this corresponds to the default value, but if it is a required attribute, it signals an author error and is processed as detailed atHandling Author Errors.

8.6.1ID Reference Error Processing

user agentsSHOULD ignore ID references that do not match the ID of anotherelement in the same document.

It is the author's responsibility to ensure that IDs are unique. If more than one element has the same ID, the user agentSHOULD use the first element found with the given ID. The behavior will be the same asgetElementById.

If the same element is specified multiple times in a singleWAI-ARIA relation, user agentsSHOULD return multiple pointers to the sameelement.

aria-activedescendant is defined as referencing only a single ID reference. Anyaria-activedescendant value that does not match an existing ID reference exactly is an author error and will not match any element in theDOM.

8.7CSS Selectors

Note

This section might be removed in a future version.

Support forattribute selectorsMUST includeWAI-ARIA attributes. For example,.fooMenuItem[aria-haspopup="true"] would select allelements with classfooMenuItem, andWAI-ARIA propertyaria-haspopup with value oftrue. The presentationMUST be updated for dynamic changes toWAI-ARIA attributes. This allows authors to match styling withWAI-ARIAsemantics.

9.Handling Author Errors

9.1Roles

User agents are expected to perform validation ofWAI-ARIAroles.

As stated in theDefinition of Roles section, it is considered an authoring error to useabstract roles in content. User agentsMUST NOT map abstract roles via the standard role mechanism of the accessibilityAPI.

If therole attribute contains no tokens matching the name of a non-abstractWAI-ARIA role, the user agentMUST treat the element as if norole had been provided. For example,<table role="foo"> should be exposed in the same way as<table> and<input type="text" role="structure"> in the same way as<input type="text">.

Certain landmark roles require names from authors. In situations where an author has not specified names for these landmarks, it is considered an authoring error. The user agentMUST treat such elements as if norole had been provided. If a valid fallback role had been specified, or if the element had an implicitARIA role, then user agents would continue to expose that role, instead. Instances of such roles are as follows:

9.2States and Properties

In general,user agents do not do much validation ofWAI-ARIAproperties. User agentsMAY do some minor validation on request and enforce things likearia-posinset being within 1 andaria-setsize, inclusive. User agents are not responsible for logical validation, such as the following:

  1. Circular references created by relations, such as specifying that twoelements own each other.
  2. Correct usage with regard toDOM tree structure, such as anelement being owned by more than one other element.
  3. Elements withWAI-ARIAroles correctly implement the behavior of the specified role. For example, user agents do not verify that an element with a role ofcheckbox actually behaves like a checkbox.
  4. Elements that do not correctly observe required child / parent role relationships or that appear elsewhere than in their required parent.
  5. Determining whetheraria-activedescendant actually points to anaccessibility descendant of the container widget.
  6. Determining implicit values ofaria-setsize andaria-posinset when they are specified on some but not all the elements of the set.

If the author specifies a non-numeric value for a decimal or integer value type, the user agentSHOULD do the following:

If aWAI-ARIA property contains an unknown or disallowed value, the user agentSHOULD expose to platformaccessibilityAPIs as follows:

Note

InUIA, the user agent might leave the corresponding property set to "unsupported."

User agentsMUST NOT exposeWAI-ARIA attributes that reference unresolved IDs. For example:

If a requiredWAI-ARIA attribute for a given role is missing, user agentsSHOULD process the attribute as if the values given in the following table were provided.

Fallback values for missing required attributes
WAI-ARIA roleRequired AttributeFallback value
checkboxaria-checkedfalse
comboboxaria-expandedfalse
headingaria-level2
menuitemcheckboxaria-checkedfalse
menuitemradioaria-checkedfalse
radioaria-checkedfalse
scrollbararia-valuenow If missing or not anumber,(aria-valuemax - aria-valuemin) / 2. If present but less thanaria-valuemin, the value ofaria-valuemin. If present but greater thanaria-valuemax, the value ofaria-valuemax.
separator (if focusable)aria-valuenow If missing or not anumber,(aria-valuemax - aria-valuemin) / 2. If present but less thanaria-valuemin, the value ofaria-valuemin. If present but greater thanaria-valuemax, the value ofaria-valuemax.
slideraria-valuenow If missing or not anumber,(aria-valuemax - aria-valuemin) / 2. If present but less thanaria-valuemin, the value ofaria-valuemin. If present but greater thanaria-valuemax, the value ofaria-valuemax.
switcharia-checkedfalse
meteraria-valuenowA value matching the implicit or explicitly setaria-valuemin.
Note

Implicit values for non-required states and properties appear in the characteristics table for each role. These are not considered fallback values so are not included here.

9.3Presentational Roles Conflict Resolution

There are a number of ways presentational role conflicts are resolved.

User agentsMUST NOT exposeelements having explicit or inherited presentational role in the accessibility tree, with these exceptions:

Note

SomeglobalWAI-ARIA states and properties areprohibited on certain roles. These states and properties are still considered global for the purposes of Presentational Role Conflict resolution.

For example,aria-describedby is a global attribute and would always be applied;aria-level is not a global attribute and would therefore only apply if the element was not in a presentational state.

Example 59
<!-- 1. [role="none"] is ignored due to the global aria-describedby property. --><h1role="none"aria-describedby="comment-1"> Sample Content</h1><!-- 2. [role="none"] negates both the implicit 'heading' and the non-global aria-level. --><h1role="none"aria-level="2"> Sample Content</h1>

AuthorsMUST NOT usepresentation andnone on elements where user agents will ignore that role because it conflicts with one of the above items.

10.IDL Interface

Conforming user agentsMUST implement the following IDL interface.

10.1Interface MixinARIAMixin

WebIDLinterface mixinARIAMixin {[CEReactions,Reflect] attributeDOMString?role;[CEReactions,Reflect="aria-activedescendant"] attributeElement?ariaActiveDescendantElement;[CEReactions,Reflect="aria-atomic"] attributeDOMString?ariaAtomic;[CEReactions,Reflect="aria-autocomplete"] attributeDOMString?ariaAutoComplete;[CEReactions,Reflect="aria-braillelabel"] attributeDOMString?ariaBrailleLabel;[CEReactions,Reflect="aria-brailleroledescription"] attributeDOMString?ariaBrailleRoleDescription;[CEReactions,Reflect="aria-busy"] attributeDOMString?ariaBusy;[CEReactions,Reflect="aria-checked"] attributeDOMString?ariaChecked;[CEReactions,Reflect="aria-colcount"] attributeDOMString?ariaColCount;[CEReactions,Reflect="aria-colindex"] attributeDOMString?ariaColIndex;[CEReactions,Reflect="aria-colindextext"] attributeDOMString?ariaColIndexText;[CEReactions,Reflect="aria-colspan"] attributeDOMString?ariaColSpan;[CEReactions,Reflect="aria-controls"] attributeFrozenArray<Element>?ariaControlsElements;[CEReactions,Reflect="aria-current"] attributeDOMString?ariaCurrent;[CEReactions,Reflect="aria-describedby"] attributeFrozenArray<Element>?ariaDescribedByElements;[CEReactions,Reflect="aria-description"] attributeDOMString?ariaDescription;[CEReactions,Reflect="aria-details"] attributeFrozenArray<Element>?ariaDetailsElements;[CEReactions,Reflect="aria-disabled"] attributeDOMString?ariaDisabled;[CEReactions,Reflect="aria-errormessage"] attributeFrozenArray<Element>?ariaErrorMessageElements;[CEReactions,Reflect="aria-expanded"] attributeDOMString?ariaExpanded;[CEReactions,Reflect="aria-flowto"] attributeFrozenArray<Element>?ariaFlowToElements;[CEReactions,Reflect="aria-haspopup"] attributeDOMString?ariaHasPopup;[CEReactions,Reflect="aria-hidden"] attributeDOMString?ariaHidden;[CEReactions,Reflect="aria-invalid"] attributeDOMString?ariaInvalid;[CEReactions,Reflect="aria-keyshortcuts"] attributeDOMString?ariaKeyShortcuts;[CEReactions,Reflect="aria-label"] attributeDOMString?ariaLabel;[CEReactions,Reflect="aria-labelledby"] attributeFrozenArray<Element>?ariaLabelledByElements;[CEReactions,Reflect="aria-level"] attributeDOMString?ariaLevel;[CEReactions,Reflect="aria-live"] attributeDOMString?ariaLive;[CEReactions,Reflect="aria-modal"] attributeDOMString?ariaModal;[CEReactions,Reflect="aria-multiline"] attributeDOMString?ariaMultiLine;[CEReactions,Reflect="aria-multiselectable"] attributeDOMString?ariaMultiSelectable;[CEReactions,Reflect="aria-orientation"] attributeDOMString?ariaOrientation;[CEReactions,Reflect="aria-owns"] attributeFrozenArray<Element>?ariaOwnsElements;[CEReactions,Reflect="aria-placeholder"] attributeDOMString?ariaPlaceholder;[CEReactions,Reflect="aria-posinset"] attributeDOMString?ariaPosInSet;[CEReactions,Reflect="aria-pressed"] attributeDOMString?ariaPressed;[CEReactions,Reflect="aria-readonly"] attributeDOMString?ariaReadOnly;[CEReactions,Reflect="aria-relevant"] attributeDOMString?ariaRelevant;[CEReactions,Reflect="aria-required"] attributeDOMString?ariaRequired;[CEReactions,Reflect="aria-roledescription"] attributeDOMString?ariaRoleDescription;[CEReactions,Reflect="aria-rowcount"] attributeDOMString?ariaRowCount;[CEReactions,Reflect="aria-rowindex"] attributeDOMString?ariaRowIndex;[CEReactions,Reflect="aria-rowindextext"] attributeDOMString?ariaRowIndexText;[CEReactions,Reflect="aria-rowspan"] attributeDOMString?ariaRowSpan;[CEReactions,Reflect="aria-selected"] attributeDOMString?ariaSelected;[CEReactions,Reflect="aria-setsize"] attributeDOMString?ariaSetSize;[CEReactions,Reflect="aria-sort"] attributeDOMString?ariaSort;[CEReactions,Reflect="aria-valuemax"] attributeDOMString?ariaValueMax;[CEReactions,Reflect="aria-valuemin"] attributeDOMString?ariaValueMin;[CEReactions,Reflect="aria-valuenow"] attributeDOMString?ariaValueNow;[CEReactions,Reflect="aria-valuetext"] attributeDOMString?ariaValueText;   };Element includesARIAMixin;

10.2ARIA Attribute Correspondence

The following table provides a correspondence between IDL attribute names and content attribute names, for use byARIAMixin. It also lists their correspondence to value type for informative purposes.

IDL AttributeReflectedARIA Content AttributeValue type (non-normative)
roleroletoken list
ariaActiveDescendantElementaria-activedescendantID reference list
ariaAtomicaria-atomictrue/false
ariaAutoCompletearia-autocompletetoken
ariaBrailleLabelaria-braillelabelstring
ariaBrailleRoleDescriptionaria-brailleroledescriptionstring
ariaBusyaria-busytrue/false
ariaCheckedaria-checkedtristate
ariaColCountaria-colcountinteger
ariaColIndexaria-colindexinteger
ariaColIndexTextaria-colindextextstring
ariaColSpanaria-colspaninteger
ariaControlsElementsaria-controlsID reference list
ariaCurrentaria-currenttoken
ariaDescribedByElementsaria-describedbyID reference list
ariaDescriptionaria-descriptionstring
ariaDetailsElementsaria-detailsID reference list
ariaDisabledaria-disabledtrue/false
ariaErrorMessageElementsaria-errormessageID reference list
ariaExpandedaria-expandedtrue/false/undefined
ariaFlowToElementsaria-flowtoID reference list
ariaHasPopuparia-haspopuptoken
ariaHiddenaria-hiddentrue/false/undefined
ariaInvalidaria-invalidtoken
ariaKeyShortcutsaria-keyshortcutsstring
ariaLabelaria-labelstring
ariaLabelledByElementsaria-labelledbyID reference list
ariaLevelaria-levelinteger
ariaLivearia-livetoken
ariaModalaria-modaltrue/false
ariaMultiLinearia-multilinetrue/false
ariaMultiSelectablearia-multiselectabletrue/false
ariaOrientationaria-orientationtoken
ariaOwnsElementsaria-ownsID reference list
ariaPlaceholderaria-placeholderstring
ariaPosInSetaria-posinsetinteger
ariaPressedaria-pressedtristate
ariaReadOnlyaria-readonlytrue/false
ariaRelevantaria-relevanttoken list
ariaRequiredaria-requiredtrue/false
ariaRoleDescriptionaria-roledescriptionstring
ariaRowCountaria-rowcountinteger
ariaRowIndexaria-rowindexinteger
ariaRowIndexTextaria-rowindextextstring
ariaRowSpanaria-rowspaninteger
ariaSelectedaria-selectedtrue/false/undefined
ariaSetSizearia-setsizeinteger
ariaSortaria-sorttoken
ariaValueMaxaria-valuemaxnumber
ariaValueMinaria-valueminnumber
ariaValueNowaria-valuenownumber
ariaValueTextaria-valuetextstring
Note

Note: Attributesaria-dropeffect andaria-grabbed were deprecated inARIA 1.1 and do not have corresponding IDL attributes.

10.2.1Disambiguation Pattern

This section is non-normative.

Though specification authors can make exceptions to this pattern, the following rules were used to disambiguate names and case of the IDL attributes listed above.

  • Any attribute name referencing concepts that are combinations of two or more words (such as "value text") becomes a camel-cased IDL attribute capitalizing each word boundary. For example,aria-valuetext becomesariaValueText with both the V and T capitalized.
  • Likewise, any attribute name referencing concepts that can be hyphenated (such as "multi-selectable") becomes a camel-cased IDL attribute capitalizing each hyphenation boundary. For example, the only valid spelling for "multi-selectable" is hyphenated, soaria-multiselectable becomesariaMultiSelectable with both the M and S capitalized.
  • When trusted dictionary sources list both hyphenated or non-hyphenated spellings (e.g., "multi-line" and "multiline" are both valid spellings) use the hyphenated version and apply the hyphenation rule above. For example,aria-multiline becomesariaMultiLine with both the M and L capitalized.
  • If all trusted dictionary sources list a single spelling of a compound word with no spaces or hyphens, only the first letter of the term is capitalized. For example, neither “place-holder” nor “place holder” are considered valid spellings of the term “placeholder,” soaria-placeholder becomesariaPlaceholder with only the P capitalized.
  • There are currently no acronym-basedARIA attributes, but if future attributes include acronym usage, attempt to match existingDOM conventions (e.g., ID becomes Id).

10.2.2IDL Attribute Name Notes or Exceptions

This section is non-normative.

Any notes or exceptions for specific attribute names will be listed here.

  • ariaPosInSet: Thearia-posinset attribute refers to an item's position in a set (two words: "in set") rather than the "inset" of an item from the beginning of the collection. Therefore the IDL attribute name isariaPosInSet with the P, I, and second S capitalized,notariaPosInset.

10.3Example IDL Attribute Usage

This section is non-normative.

The primary purpose ofARIA IDL attribute reflection is to ease JavaScript-based manipulation of values. The following examples demonstrate its usage.

Example 60
Example
<divid="inaccessibleButton"><!-- Use semantic markup instead. This is just a retrofit example. --></div>
Example
// Get a reference to the element.let el =document.getElementById('inaccessibleButton');el.tabIndex =0;// Make it focusable.// Set the role and label.el.role ="button";el.ariaLabel ="Edit";// Get the role and label.el.role;// Returns "button"el.ariaLabel;// Returns "Edit"// These are interchangeable with the more verbose setAttribute and getAttribute methods.el.setAttribute("role","button");el.setAttribute("aria-label","Edit");el.getAttribute("role");// Returns "button"el.getAttribute("aria-label");// Returns "Edit"// Changes via either interface are reflected by the other.el.setAttribute("aria-label","Delete");el.ariaLabel;// Returns "Delete"el.ariaLabel ="Publish";el.getAttribute("aria-label");// Returns "Publish"

11.Security Considerations

This section is non-normative.

This specification introduces no new security considerations.

12.Privacy Considerations

This section is non-normative.

In accordance withWeb Platform Design Principles, this specification provides no programmatic interface to determine if information is being used by Assistive Technologies. However, this specification does allow an author to present different information to users of Assistive Technologies from the information available to users who do not use Assistive Technologies. This is possible using many features of theARIA specification, just as this is possible using many other parts of the web technology stack. This content disparity could be abused to performactive fingerprinting of users of Assistive Technologies.

A.MappingWAI-ARIA Value types to languages

This section is non-normative.

Note

TheHTML column of the table below is advisory. Guidance on use ofWAI-ARIA state and properties inHTML is provided inDocument conformance requirements for use ofARIA attributes inHTML ([HTML-ARIA]).

Note

The suggested mappings for true/false values inHTML useKeyword and enumerated attributes with allowed values oftrue andfalse, instead of using theHTML boolean value type.

The table below provides recommended mappings betweenWAI-ARIA state and property types and attribute types fromHTML Standard andW3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes.

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 onWAI-ARIA attributes.

WAI-ARIA typeHTMLXML Schema
true/falseKeyword and enumerated attributes with allowed values of "true" and "false"boolean
true/false/undefinedKeyword and enumerated attributes with allowed values oftrue,false, andundefinedNMTOKEN with anenumeration constraint allowing values oftrue,false, andundefined
tristateKeyword and enumerated attributes with allowed values of "true", "false", and "mixed"NMTOKEN with anenumeration constraint allowing values of "true", "false", and "mixed"
numberFloating-point numbersdecimal
integerNon-negative integerinteger
tokenKeyword and enumerated attributesNMTOKEN with anenumeration constraint allowing values listed in the state or property definition
token listSpace-separated tokensNMTOKENS with anenumeration constraint allowing values listed in the state or property definition
ID referenceThe value of a definedid attribute on another elementIDREF
ID reference list The value of one or more definedid attributes on other element(s), represented asSpace-separated tokensIDREFS
stringNo value constraintsstring

B.Change Log

B.1Major feature in this release

B.2Substantive changes sinceARIA 1.2

C.Acknowledgments

This section is non-normative.

The following people contributed to the development of this document.

C.1ARIA WG participants at the time of publication

C.2Enabling funders

This publication has been funded in part with U.S. Federal funds from the Department of Education, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR), initially under contract number ED-OSE-10-C-0067, then under contract number HHSP23301500054C, and now under HHS75P00120P00168. 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.

D.References

D.1Normative references

[ACCNAME-1.2]
Accessible Name and Description Computation 1.2. Bryan Garaventa; Melanie Sumner. W3C. 23 October 2025. W3C Working Draft. URL:https://www.w3.org/TR/accname-1.2/
[CORE-AAM]
Core Accessibility API Mappings 1.1. Joanmarie Diggs; Joseph Scheuhammer; Richard Schwerdtfeger; Michael Cooper; Andi Snow-Weaver; Aaron Leventhal. W3C. 14 December 2017. W3C Recommendation. URL:https://www.w3.org/TR/core-aam-1.1/
[CORE-AAM-1.2]
Core Accessibility API Mappings 1.2. Valerie Young; Cynthia Shelly. W3C. 23 October 2025. CRD. URL:https://www.w3.org/TR/core-aam-1.2/
[CSS3-SELECTORS]
Selectors Level 3. Tantek Çelik; Elika Etemad; Daniel Glazman; Ian Hickson; Peter Linss; John Williams. W3C. 6 November 2018. W3C Recommendation. URL:https://www.w3.org/TR/selectors-3/
[DOM]
DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL:https://dom.spec.whatwg.org/
[DPUB-ARIA-1.0]
Digital Publishing WAI-ARIA Module 1.0. Matt Garrish; Tzviya Siegman; Markus Gylling; Shane McCarron. W3C. 14 December 2017. W3C Recommendation. URL:https://www.w3.org/TR/dpub-aria-1.0/
[HTML]
HTML Standard. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL:https://html.spec.whatwg.org/multipage/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL:https://infra.spec.whatwg.org/
[MathML3]
Mathematical Markup Language (MathML) Version 3.0 2nd Edition. David Carlisle; Patrick D F Ion; Robert R Miner. W3C. 10 April 2014. W3C Recommendation. URL:https://www.w3.org/TR/MathML3/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL:https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL:https://www.rfc-editor.org/rfc/rfc8174
[ROLE-ATTRIBUTE]
Role Attribute 1.0. Shane McCarron et al. W3C. 28 March 2013. W3C Recommendation. URL:https://www.w3.org/TR/role-attribute/
[SVG2]
Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL:https://www.w3.org/TR/SVG2/
[uievents-key]
UI Events KeyboardEvent key Values. Travis Leithead; Gary Kacmarcik. W3C. 22 April 2025. W3C Recommendation. URL:https://www.w3.org/TR/uievents-key/
[WEBIDL]
Web IDL Standard. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL:https://webidl.spec.whatwg.org/
[XML-NAMES]
Namespaces in XML 1.0 (Third Edition). Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. W3C. 8 December 2009. W3C Recommendation. URL:https://www.w3.org/TR/xml-names/

D.2Informative references

[AT-SPI]
Assistive Technology Service Provider Interface. The GNOME Project. URL:https://gnome.pages.gitlab.gnome.org/at-spi2-core/libatspi/
[ATK]
ATK - Accessibility Toolkit. The GNOME Project. URL:https://developer.gnome.org/atk/stable/
[AXAPI]
The NSAccessibility Protocol for macOS. Apple, Inc. URL:https://developer.apple.com/documentation/appkit/nsaccessibility
[design-principles]
Web Platform Design Principles. Martin Thomson; Jeffrey Yasskin. W3C. 22 October 2025. W3C Working Group Note. URL:https://www.w3.org/TR/design-principles/
[fingerprinting-guidance]
Mitigating Browser Fingerprinting in Web Specifications. Nick Doty; Tom Ritter. W3C. 25 September 2025. W3C Working Group Note. URL:https://www.w3.org/TR/fingerprinting-guidance/
[HTML-ARIA]
ARIA in HTML. Scott O'Hara; Patrick Lauke. W3C. 5 August 2025. W3C Recommendation. URL:https://www.w3.org/TR/html-aria/
[IAccessible2]
IAccessible2. Linux Foundation. URL:https://wiki.linuxfoundation.org/accessibility/iaccessible2/
[MSAA]
Microsoft Active Accessibility (MSAA). Microsoft Corporation. URL:https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility
[UI-AUTOMATION]
UI Automation. Microsoft Corporation. URL:https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-specification
[UIA-EXPRESS]
The IAccessibleEx Interface. Microsoft Corporation. URL:https://docs.microsoft.com/en-us/windows/win32/winauto/iaccessibleex
[wai-aria-1.1]
Accessible Rich Internet Applications (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 14 December 2017. W3C Recommendation. URL:https://www.w3.org/TR/wai-aria-1.1/
[WCAG21]
Web Content Accessibility Guidelines (WCAG) 2.1. Michael Cooper; Andrew Kirkpatrick; Joshue O'Connor; Alastair Campbell. W3C. 6 May 2025. W3C Recommendation. URL:https://www.w3.org/TR/WCAG21/
[XMLSCHEMA11-2]
W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes. David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. W3C. 5 April 2012. W3C Recommendation. URL:https://www.w3.org/TR/xmlschema11-2/


[8]ページ先頭

©2009-2025 Movatter.jp