ARIA states and properties
This page lists reference pages covering all the WAI-ARIA attributes discussed on MDN.
ARIA attributes enable modifying an element's states and properties as defined in the accessibility tree.
Note: ARIA only modifies the accessibility tree, modifying how assistive technology presents the content to your users. ARIA doesn't change anything about an element's function or behavior. When not using semantic HTML elements for their intended purpose and default functionality, you must use JavaScript to manage behavior, focus, and ARIA states.
ARIA attribute types
There are 4 categories of ARIA states and properties:
-
Widget attributes
aria-autocompletearia-checkedaria-disabledaria-errormessagearia-expandedaria-haspopuparia-hiddenaria-invalidaria-labelaria-levelaria-modalaria-multilinearia-multiselectablearia-orientationaria-placeholderaria-pressedaria-readonlyaria-requiredaria-selectedaria-sortaria-valuemaxaria-valueminaria-valuenowaria-valuetext
-
Live region attributes
-
Drag-and-Drop attributes
-
Relationship attributes
Global ARIA attributes
Some states and properties apply to all HTML elements regardless of whether an ARIA role is applied. These are defined as "Global" attributes. Global states and properties are supported by all roles and base markup elements.
Many of the above attributes are global, meaning they can be included on any element unless specifically disallowed:
aria-atomicaria-busyaria-controlsaria-currentaria-describedbyaria-descriptionaria-detailsaria-disabledaria-dropeffectaria-errormessagearia-flowtoaria-grabbedaria-haspopuparia-hiddenaria-invalidaria-keyshortcutsaria-labelaria-labelledbyaria-livearia-ownsaria-relevantaria-roledescription
By "specifically disallowed," all the above attributes are global except for the aria-label and aria-labelledby properties, which are not allowed on elements with role presentation nor its synonym none role.
States and properties defined on MDN
The following are the reference pages covering the WAI-ARIA states and properties discussed on MDN.
- aria-activedescendant
The
aria-activedescendantattribute identifies the currently active element when focus is on acompositewidget,combobox,textbox,group, orapplication.- aria-atomic
In ARIA live regions, the global
aria-atomicattribute indicates whether assistive technologies such as a screen reader will present all, or only parts of, the changed region based on the change notifications defined by thearia-relevantattribute.- aria-autocomplete
The
aria-autocompleteattribute indicates whether inputting text could trigger display of one or more predictions of the user's intended value for acombobox,searchbox, ortextboxand specifies how predictions will be presented if they are made.- aria-braillelabel
The global
aria-braillelabelproperty defines a string value that labels the current element, which is intended to be converted into Braille.- aria-brailleroledescription
The global
aria-brailleroledescriptionattribute defines a human-readable, author-localized abbreviated description for the role of an element intended to be converted into Braille.- aria-busy
Used in ARIA live regions, the global
aria-busystate indicates an element is being modified and that assistive technologies may want to wait until the changes are complete before informing the user about the update.- aria-checked
The
aria-checkedattribute indicates the current "checked" state of checkboxes, radio buttons, and other widgets.- aria-colcount
The
aria-colcountattribute defines the total number of columns in atable,grid, ortreegridwhen not all columns are present in the DOM.- aria-colindex
The
aria-colindexattribute defines an element's column index or position with respect to the total number of columns within atable,grid, ortreegrid.- aria-colindextext
The
aria-colindextextattribute defines a human-readable text alternative of the numericaria-colindex.- aria-colspan
The
aria-colspanattribute defines the number of columns spanned by a cell or gridcell within atable,grid, ortreegrid.- aria-controls
The global
aria-controlsproperty identifies the element (or elements) whose contents or presence are controlled by the element on which this attribute is set.- aria-current
A non-null
aria-currentstate on an element indicates that this element represents the current item within a container or set of related elements.- aria-describedby
The global
aria-describedbyattribute identifies the element (or elements) that describes the element on which the attribute is set.- aria-description
The global
aria-descriptionattribute defines a string value that describes or annotates the current element.- aria-details
The global
aria-detailsattribute identifies the element (or elements) that provide additional information related to the object.- aria-disabled
The
aria-disabledstate indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.- aria-dropeffect
The global
aria-dropeffectattribute indicates what functions may be performed when a dragged object is released on the drop target.- aria-errormessage
The
aria-errormessageattribute on an object identifies the element that provides an error message for that object.- aria-expanded
The
aria-expandedattribute is set on an element to indicate if a control is expanded or collapsed, and whether or not the controlled elements are displayed or hidden.- aria-flowto
The global
aria-flowtoattribute identifies the next element (or elements) in an alternate reading order of content. This allows assistive technology to override the general default of reading in document source order at the user's discretion.- aria-grabbed
The
aria-grabbedstate indicates an element's "grabbed" state in a drag-and-drop operation.- aria-haspopup
The
aria-haspopupattribute indicates the availability and type of interactive popup element that can be triggered by the element on which the attribute is set.The
aria-hiddenstate indicates whether the element is exposed to an accessibility API.- aria-invalid
The
aria-invalidstate indicates the entered value does not conform to the format expected by the application.- aria-keyshortcuts
The global
aria-keyshortcutsattribute indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.- aria-label
The
aria-labelattribute defines a string value that labels an interactive element.- aria-labelledby
The
aria-labelledbyattribute identifies the element (or elements) that labels the element it is applied to.- aria-level
The
aria-levelattribute defines the hierarchical level of an element within a structure.- aria-live
The global
aria-liveattribute indicates 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-modal
The
aria-modalattribute indicates whether an element is modal when displayed.- aria-multiline
The
aria-multilineattribute indicates whether atextboxaccepts multiple lines of input or only a single line.- aria-multiselectable
The
aria-multiselectableattribute indicates that the user may select more than one item from the current selectable descendants.- aria-orientation
The
aria-orientationattribute indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.- aria-owns
The
aria-ownsattribute identifies an element (or elements) in order to define a visual, functional, or contextual relationship between a parent and its child elements when the DOM hierarchy cannot be used to represent the relationship.- aria-placeholder
The
aria-placeholderattribute defines a short hint (a word or short phrase) intended to help the user with data entry when a form control has no value. The hint can be a sample value or a brief description of the expected format.- aria-posinset
The
aria-posinsetattribute defines an element's number or position in the current set of listitems or treeitems when not all items are present in the DOM.- aria-pressed
The
aria-pressedattribute indicates the current "pressed" state of a toggle button.- aria-readonly
The
aria-readonlyattribute indicates that the element is not editable, but is otherwise operable.- aria-relevant
Used in ARIA live regions, the global
aria-relevantattribute indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.- aria-required
The
aria-requiredattribute indicates that user input is required on the element before a form may be submitted.- aria-roledescription
The
aria-roledescriptionattribute defines a human-readable, author-localized description for the role of an element.- aria-rowcount
The
aria-rowcountattribute defines the total number of rows in a table, grid, or treegrid.- aria-rowindex
The
aria-rowindexattribute defines an element's position with respect to the total number of rows within a table, grid, or treegrid.- aria-rowindextext
The
aria-rowindextextattribute defines a human-readable text alternative ofaria-rowindex.- aria-rowspan
The
aria-rowspanattribute defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.- aria-selected
The
aria-selectedattribute indicates the current "selected" state of various widgets.- aria-setsize
The
aria-setsizeattribute defines the number of items in the current set of listitems or treeitems when not all items in the set are present in the DOM.- aria-sort
The
aria-sortattribute indicates if items in a table or grid are sorted in ascending or descending order.- aria-valuemax
The
aria-valuemaxattribute defines the maximum allowed value for a range widget.- aria-valuemin
The
aria-valueminattribute defines the minimum allowed value for a range widget.- aria-valuenow
The
aria-valuenowattribute defines the current value for arangewidget.- aria-valuetext
The
aria-valuetextattribute defines the human-readable text alternative ofaria-valuenowfor a range widget.