This document is intended to be used as a quick reference quide of the W3C Web Accessibility Initiative – Accessible Rich Internet Applications 1.0(WAI-ARIA). Each ARIA attribute is displayed in the table of contents with a link on this page to its related explanation.
A few Notes: Abstract roles were removed to avoid confusion about whether developers should/shouldn’t use them (they SHOULD NOT). Each more info link outside the Table of Contents takes the user to the W3C ARIA specification page with more information (does not open in a new window). The Back to TOC button beside each title element returns the user to the Table of Contents section.
W3C Documentation: ARIA 1.0, ARIA Primer, ARIA Authoring Practices
alertalertdialogapplicationarticlebannerbuttoncheckboxcolumnheadercomboboxcomplementarycontentinfodefinitiondialogdirectorydocumentformgridgridcellgroupheadingimglinklistlistboxlistitemlogmainmarqueemathmenumenubarmenuitemmenuitemcheckboxmenuitemradionavigationnoteoptionpresentationprogressbarradioradiogroupregionrowrowgrouprowheaderscrollbarsearchseparatorsliderspinbuttonstatustabtablisttabpaneltextboxtimertoolbartooltiptreetreegridtreeitemaria-activedescendantaria-atomicaria-autocompletearia-busy (state)aria-checked (state)aria-controlsaria-describedbyaria-disabled (state)aria-dropeffectaria-expanded (state)aria-flowtoaria-grabbed (state)aria-haspopuparia-hidden (state)aria-invalid (state)aria-labelaria-labelledbyaria-levelaria-livearia-multilinearia-multiselectablearia-orientationaria-ownsaria-posinsetaria-pressed (state)aria-readonlyaria-relevantaria-requiredaria-selected (state)aria-setsizearia-sortaria-valuemaxaria-valueminaria-valuenowaria-valuetextWeb 2.0 applications are not accessible without additional standardized markup. The W3C WAI-ARIA specification suggests adding additional semantics to expose behavior to ATs. The semantics are a combination of roles, properties and states. Roles, such as a log, define structure or how a widget is expected to behave through pre-defined defaults. States and properties, such as a live region, add additional descriptive markup about a widget. ARIA became an official W3C specification as of December 2009 and exists to fill the gap between the transition from HTML4 to HTML5. The ARIA markup is planned to be included in the future HTML5 specification except where overlaps are found.
Properties are not expected to change in an application life cycle. States are expected to have their attributes modified and expose these changes in a meaningful way to AT. A role is a collection of attributes that define how an element is expected to behave. Roles should not be altered dynamically via the DOM as AT will probably not be able to handle this.
alertA message with important, and usually time-sensitive, information. Also see alertdialog and status.alertdialogA type of dialog that contains an alert message, where initial focus goes to the dialog or an element within it. Also see alert and dialog.applicationA region declared as a web application, as opposed to a web document.articleA section of a page that consists of a composition that forms an independent part of a document, page, or site.bannerA region that contains mostly site-oriented content, rather than page-specific content.buttonAn input that allows for user-triggered actions when clicked or pressed.checkboxA checkable input that has three possible values: true, false, or mixed.columnheaderA cell containing header information for a column.comboboxA presentation of a select; usually similar to a textbox where users can type ahead to select an option, or type to enter arbitrary text as a new item in the list. Also see listbox.complementaryA supporting section of the document, designed to be complementary to the main content at a similar level in the DOM hierarchy, but remains meaningful when separated from the main content.contentinfoA large perceivable region that contains information about the parent document.definitionA definition of a term or concept.dialogA dialog is an application window that is designed to interrupt the current processing of an application in order to prompt the user to enter information or require a response. Also see alertdialog.directoryA list of references to members of a group, such as a static table of contents.documentA region containing related information that is declared as document content, as opposed to a web application.formA region of the document that represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing.gridA grid contains cells of tabular data arranged in rows and columns, like a table.gridcellA cell in a grid or treegrid.groupA set of user interface objects which are not intended be included in a page summary or table of contents by assistive technologies.headingA heading for a section of the page.imgA container for a collection of elements that form an image.linkAn interactive reference to an internal or external resource that, when activated, causes the user agent to navigate to that resource.listA group of non-interactive list items. Also see listbox.listboxA widget that allows the user to select one or more items from a list of choices. Also see combobox and list.listitemA single item in a list or directory.logA type of live region where new information is added in meaningful order and old information may disappear. Also see marquee.mainThe main content of a document.marqueeA type of live region where non-essential information changes frequently. Also see log.mathAn element that represents a mathematical expression.menuA type of widget that offers a list of choices to the user.menubarA presentation of menu that usually remains visible and is usually presented horizontally.menuitemAn option in a group of choices contained by a menu or menubar.menuitemcheckboxA checkable menuitem that has three possible values: true, false, or mixed.menuitemradioA checkable menuitem in a group of menuitemradio roles, only one of which can be checked at a time.navigationA collection of navigational elements (usually links) for navigating the document or related documents.noteA section whose content is parenthetic or ancillary to the main content of the resource.optionA selectable item in a select list.presentationAn element whose implicit native role semantics will not be mapped to the accessibility API.progressbarAn element that displays the progress status for tasks that take a long time.radioA checkable input in a group of radio roles, only one of which can be checked at a time.radiogroupA group of radio buttons.regionA large perceivable section of a web page or document, that the author feels is important enough to be included in a page summary or table of contents, for example, an area of the page containing live sporting event statistics.rowA row of cells in a grid.rowgroupA group containing one or more row elements in a grid.rowheaderA cell containing header information for a row in a grid.scrollbarA graphical object that controls the scrolling of content within a viewing area, regardless of whether the content is fully displayed within the viewing area.searchA landmark region that contains one or more widgets used to define and execute a search.separatorA divider that separates and distinguishes sections of content or groups of menuitems.sliderA user input where the user selects a value from within a given range.spinbuttonA form of range that expects a user to select from amongst discrete choices.statusA container whose content is advisory information for the user but is not important enough to justify an alert. Also see alert.tabA grouping label providing a mechanism for selecting the tab content that is to be rendered to the user.tablistA list of tab elements, which are references to tabpanel elements.tabpanelA container for the resources associated with a tab, where each tab is contained in a tablist.textboxInput that allows free-form text as their value.timerA numerical counter which indicates an amount of elapsed time from a start point, or the time remaining until an end point.toolbarA collection of commonly used function buttons represented in compact visual form.tooltipA contextual popup that displays a description for an element.treeA type of list that may contain sub-level nested groups that can be collapsed and expanded.treegridA grid whose rows can be expanded and collapsed in the same manner as for a tree.treeitemAn option item of a tree. This is an element within a tree that may be expanded or collapsed if it contains a sub-level group of treeitems.aria-activedescendantIdentifies the currently active descendant of a composite widget.aria-atomicIndicates whether the assistive technology will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. Also see aria-relevant.aria-autocompleteIndicates whether user input completion suggestions are provided.aria-busy (state)Indicates whether a live region is currently being updated.aria-checked (state)Indicates the current “checked” Indicates the current “checked” state of checkboxes, radio buttons, and other widgets. Also see aria-pressed and aria-selected.aria-controlsIdentifies the element (or elements) whose contents or presence are controlled by the current element. Also see aria-owns.aria-describedbyIdentifies the element (or elements) that describes the object. Also see aria-labelledby.aria-disabled (state)Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. Also see aria-hidden and aria-readonly.aria-dropeffectIndicates what functions can be performed when the dragged object is released on the drop target. This allows an assistive technology to convey the possible drag options available to them 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.aria-expanded (state)Indicates whether an expandable/collapsible group of elements is currently expanded or collapsed.aria-flowtoIdentifies the next element (or elements) in the recommended reading order of content, overriding the general default to read in document source order.aria-grabbed (state)Indicates an element’s “grabbed” state in a drag-and-drop operation.aria-haspopupIndicates that the element has a popup context menu or sub-level menu.aria-hidden (state)Indicates that the element is not visible or perceivable to any user. Also see aria-disabled.aria-invalid (state)Indicates the entered value does not conform to the format expected by the application.aria-labelDefines a string value that labels the current element when included as an attribute of the current element. Also see aria-labelledby.aria-labelledbyIdentifies the element (or elements) that labels the current element. Also see aria-label and aria-describedby.aria-levelDefines the hierarchical level of an element within a structure.aria-liveIndicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.aria-multilineIndicates whether a text box accepts only a single line, or if it can accept multiline input.aria-multiselectableIndicates that the user may select more than one item from the current selectable descendants.aria-orientationIndicates whether the element and scrolling orientation is horizontal or vertical.aria-ownsIdentifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between DOM elements where the DOM hierarchy cannot be used to represent the relationship. Also see aria-controls.aria-posinsetDefines an element’s number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. Also see aria-setsize.aria-pressed (state)Indicates the current “pressed” state of toggle buttons. Also see aria-checked and aria-selected.aria-readonly Indicates that the element is not editable, but is otherwise operable. Also see aria-disabled.aria-relevantIndicates what user agent change notifications (additions, removals, etc.) assistive technology will monitor within a live region. Also see aria-atomic.aria-requiredIndicates that user input is required on the element before a form may be submitted.aria-selected (state)Indicates the current “selected” state of various widgets. Also see aria-checked and aria-pressed.aria-setsizeDefines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. Also see aria-posinset.aria-sortIndicates if items in a table or grid are sorted in ascending or descending order.aria-valuemaxDefines the maximum allowed value for a range widget.aria-valueminDefines the minimum allowed value for a range widget.aria-valuenowDefines the current value for a range widget. Also see aria-valuetext.aria-valuetextDefines the human readable text alternative of aria-valuenow for a range widget.