ARIA Roles Reference

Curated WAI-ARIA 1.2 role reference: required properties, supported states, and required parent or children context.

Global states and properties available on every role: aria-labelaria-labelledbyaria-describedbyaria-hiddenaria-livearia-disabledaria-atomicaria-current

RoleTypeRequired propsNotable supported propsContextDescription
alertstructureglobals onlyA live region with important, usually time-sensitive information. Warnings and errors are common uses; assertive politeness and aria-atomic="true" are implied.
alertdialogwindowglobals onlyA dialog containing an alert message where initial focus moves to the dialog. Requires an accessible name via aria-label or aria-labelledby.
applicationstructureglobals onlyA structure containing one or more focusable elements requiring user input that do not follow a standard widget interaction pattern, e.g. a custom canvas editor.
articlestructureglobals onlyA section of a page that forms an independent part of a document, page, or site — such as a blog post, comment, or news story.
bannerlandmarkglobals onlyA landmark region for mostly site-oriented content: the prime heading and primary navigation. Analogous to the HTML header element at the top level.
buttonwidgetaria-pressedaria-expandedAn input that allows for user-triggered actions when clicked or pressed. Use aria-pressed for toggle buttons and aria-expanded for disclosure buttons.
checkboxwidgetaria-checkedaria-readonlyA checkable input with three possible values: true, false, or mixed. aria-checked is required to expose the current state to assistive technology.
columnheaderstructurearia-sortaria-selectedaria-readonly

needs parent: columnheader inside row

A cell containing header information for a column, analogous to the HTML th element with column scope. Use aria-sort when the column is sorted.
comboboxwidgetaria-expandedaria-controlsaria-autocompletearia-activedescendantaria-requiredAn input that controls another element, such as a listbox or grid, that can dynamically pop up to help set the value. The collapsed/expanded state is required.
complementarylandmarkglobals onlyA supporting section of the document that remains meaningful when separated from the main content, such as a sidebar — analogous to the HTML aside element.
contentinfolandmarkglobals onlyA landmark region containing information about the parent document: copyrights, links to privacy statements, and similar footer content.
dialogwindowglobals onlyA descendant window of the primary window of a web application. Give every dialog an accessible name and use aria-modal for modal dialogs.
documentstructureglobals onlyAn element containing content that assistive technology users will want to browse in a reading mode rather than as a web application.
feedstructureglobals only

owns: article

A scrollable list of articles where scrolling may cause articles to be added to either end, letting users keep reading without moving focus off the article body.
figurestructureglobals onlyA perceivable section of content that typically contains a graphical document, images, code snippets, or example text, referenced from the surrounding content.
formlandmarkglobals onlyA landmark region containing a collection of items and objects that combine to form a form. Acts as a landmark only when given an accessible name.
gridwidgetaria-activedescendantaria-colcountaria-rowcount

owns: row, rowgroup

A composite widget containing rows of cells that are focusable and navigable with arrow keys rather than the Tab key, such as a spreadsheet.
gridcellwidgetaria-selectedaria-readonlyaria-requiredaria-expanded

needs parent: gridcell inside row

A cell in a grid or treegrid. Unlike plain table cells, gridcells are interactive: focusable, and navigable with arrow keys.
groupstructureglobals onlyA set of user interface objects not intended to be included in a page summary or table of contents, such as a fieldset of related form controls.
headingstructurearia-levelglobals onlyA heading for a section of the page. aria-level is required to convey the nesting depth of the heading in the document outline.
imgstructureglobals onlyA container for a collection of elements that form a single image, including overlays such as captions. Name it with aria-label or aria-labelledby.
linkwidgetaria-expandedaria-disabledAn interactive reference to an internal or external resource that, when activated, causes the user agent to navigate to that resource.
liststructureglobals only

owns: listitem

A section containing listitem elements, analogous to the HTML ul or ol elements.
listboxwidgetaria-activedescendantaria-multiselectablearia-requiredaria-orientation

owns: option

A widget that allows the user to select one or more items from a list of choices. Options must expose their state with aria-selected.
listitemstructureglobals only

needs parent: listitem inside list

A single item in a list or directory, analogous to the HTML li element.
mainlandmarkglobals onlyA landmark containing the main content of a document — content directly related to or expanding on the central topic of the page.
menuwidgetaria-activedescendantaria-orientation

owns: group, menuitem, menuitemcheckbox, menuitemradio

A widget that offers a list of choices to the user, such as a context menu. Menus are expected to be opened, navigated, and dismissed with the keyboard.
menubarwidgetaria-orientation

owns: group, menuitem, menuitemcheckbox, menuitemradio

A presentation of a menu that usually remains visible and is usually presented horizontally, like the File or Edit bars in desktop applications.
menuitemwidgetglobals only

needs parent: menuitem inside menu, menubar

An option in a set of choices contained by a menu or menubar.
navigationlandmarkglobals onlyA landmark collection of navigational elements, usually links, for navigating the document or related documents — analogous to the HTML nav element.
nonestructureglobals onlyRemoves an element's implicit accessibility semantics — a synonym of presentation. Use when an element is purely presentational, e.g. a list used only for layout.
optionwidgetaria-selectedaria-checked

needs parent: option inside listbox

A selectable item in a listbox. aria-selected is required to expose whether the option is currently chosen.
progressbarwidgetaria-valuenowaria-valueminaria-valuemaxA widget that displays the progress status for tasks that take a long time, exposing how much of the task has completed via aria-valuenow.
radiowidgetaria-checkedglobals only

needs parent: radio inside group, radiogroup

A checkable input in a set of radio roles where only one can be checked at a time. Group radios in a radiogroup or a named group.
radiogroupwidgetaria-requiredaria-readonly

owns: radio

A group of radio buttons, analogous to a fieldset of HTML input type radio elements. Use aria-required when a choice is mandatory.
regionlandmarkglobals onlyA perceivable section of content important enough to be included in a page summary or table of contents. Acts as a landmark only when given an accessible name.
rowstructureglobals only

needs parent: row inside grid, rowgroup, table, treegrid

owns: cell, columnheader, gridcell, rowheader

A row of cells in a tabular container such as a table, grid, or treegrid.
rowgroupstructureglobals only

needs parent: rowgroup inside grid, table, treegrid

owns: row

A structure containing one or more row elements inside a grid, table, or treegrid — analogous to the HTML thead, tbody, and tfoot elements.
scrollbarwidgetaria-valuemaxaria-valueminaria-valuenowaria-orientationaria-controlsA graphical object that controls the scrolling of content within a viewing area, regardless of whether that content is fully displayed in the viewport.
searchlandmarkglobals onlyA landmark region that contains a collection of items and objects that combine to create a search facility, typically a form with a search box.
searchboxwidgetaria-activedescendantaria-autocompletearia-placeholderaria-readonlyaria-requiredA type of textbox intended for specifying search criteria, analogous to the HTML input element with type search.
selectabstractglobals onlyAbstract superclass for widgets that let the user choose among several alternatives. Must not be used by authors — use listbox, combobox, or another subclass.
sliderwidgetaria-valuenowaria-valueminaria-valuemaxaria-orientationaria-readonlyAn input where the user selects a value from within a given range, typically rendered as a draggable thumb on a track.
spinbuttonwidgetaria-valuenowaria-valueminaria-valuemaxaria-readonlyaria-requiredA form of range that expects the user to select from among discrete choices, typically allowing typed input and arrow-key increments.
statusstructureglobals onlyA live region whose content is advisory information for the user but not important enough to justify an alert — often rendered as a status bar.
switchwidgetaria-checkedglobals onlyA type of checkbox that represents on/off values, as opposed to checked/unchecked. Use it for binary settings toggles; aria-checked is required.
tabwidgetaria-selectedaria-expanded

needs parent: tab inside tablist

A grouping label providing a mechanism for selecting the tab content to be rendered — one panel selector in a tablist.
tablestructurearia-colcountaria-rowcount

owns: row, rowgroup

A section containing data arranged in rows and columns, analogous to the HTML table element. Use rowcount/colcount when only part of the table is in the DOM.
tablistwidgetaria-activedescendantaria-multiselectablearia-orientation

owns: tab

A list of tab elements, which are controls for switching between the associated tabpanel views.
tabpanelstructureglobals onlyA container for the resources associated with a tab, where each tab is contained in a tablist. Only the currently selected panel is shown.
textboxwidgetaria-activedescendantaria-autocompletearia-multilinearia-placeholderaria-readonlyaria-requiredA type of input that allows free-form text as its value, analogous to the HTML input type text or textarea elements.
timerstructureglobals onlyA live region containing a numerical counter that indicates elapsed time from a start point, or the time remaining until an end point.
toolbarstructurearia-orientationA collection of commonly used function buttons or controls represented in compact visual form, usually horizontal.
tooltipstructureglobals onlyA contextual popup that displays a description for an element it is associated with, typically appearing on hover or keyboard focus.
treewidgetaria-activedescendantaria-multiselectablearia-orientationaria-required

owns: group, treeitem

A widget that allows the user to select one or more items from a hierarchically organized collection that can be expanded and collapsed.
treegridwidgetaria-activedescendantaria-colcountaria-rowcount

owns: row, rowgroup

A grid whose rows can be expanded and collapsed in the same way as items in a tree, combining hierarchical and tabular navigation.
treeitemwidgetaria-expandedaria-selected

needs parent: treeitem inside tree, group

An option item of a tree — a leaf node, or a branch node that can be expanded or collapsed when it has children.

Data hand-curated from the WAI-ARIA 1.2 specification . Always confirm against the normative spec before shipping.