ARIA roles used must conform to valid values

Rule ID: aria-roles
User Impact: Critical
WCAG: 4.1.2

Compliance Data & Impact

User Impact

Disabilities Affected

  • Blind
  • Deafblind
  • Mobility

Requirement(s)

  • WCAG 2.0 (A): MUST

WCAG Success Criteria

  • 4.1.2 Name, Role, Value

Section 508 Guidelines

  • Not specified, or not applicable

Rule Description

Values assigned to ARIA role values must be valid. Role values must be spelled correctly, correspond to existing ARIA role values, and must not be abstract roles to correctly expose the purpose of the element.

Why it Matters

Elements assigned invalid ARIA role values are not interpreted by assistive technology as intended by the developer.

When screen readers and other assistive technologies do not know the role of each element on the web page, they are not able to interact with it intelligently, nor are they able to communicate the role to the user. An element’s features, properties, and methods of conveying information to and/or from the user can be communicated via assistive technologies when a role value is invalid.

How to Fix the Problem

Ensure all values assigned to role="" correspond to valid ARIA roles.

Available roles by type are:

  • Landmark: article, banner, complementary, main, navigation, region, search, contentinfo
  • Widget: alert, alertdialog, application, dialog, group, log, marquee, menu, menubar, menuitem, menuitemcheckbox, menuitemradio, progressbar, separator, slider, spinbutton, status, tab, tablist, tabpanel, timer, toolbar, tooltip, tree, treegrid, treeitem
  • Pseudo HTML: button, button, checkbox, columnheader, combobox, contentinfo, form, grid, gridcell, heading, img, link, listbox, listitem, option, radio, radiogroup, row, rowgroup, rowheader, scrollbar, textbox
  • Document: document (when creating a document region inside an other type of region)
  • Application: application (only around a widget to enable normal keyboard shortcuts for page content)
  • Presentation: presentation (to cancel the native role of the element)
  • Other Semantic: math, definition, note, directory
  • Abstract: command, composite, input, landmark, range, section, sectionhead, select, structure, widget

The Algorithm (in simple terms)

Checks all elements that contain the WAI-ARIA role attribute to ensure that the role value is valid