ARIA roles used must conform to valid values
How to Fix the Problem
Ensure all values assigned to
role="" correspond to valid ARIA
Available roles by type are:
- Document blocks: application, article, blockquote, caption, document, feed, group, heading, list, listitem, note, paragraph, separator (when not focusable), toolbar.
- Document Content: code, definition, deletion, emphasis, figure, img, insertion, mark, math, meter, strong, subscript, superscript, term, time, tooltip
- Landmark: banner, complementary, contentinfo, form, main, navigation, region, search.
- Live region: alert, log, marquee, status, timer.
- Presentational: none, generic, presentation (to cancel the native role of the element)
- Table: cell, columnheader, row, rowgroup, rowheader, table.
- Widget: button, checkbox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, progressbar, radio, scrollbar, searchbox, separator (when focusable), slider, spinbutton, switch, tab, tabpanel, textbox, treeitem.
- Widget (composite): combobox, grid, listbox, menu, menubar, radiogroup, tablist, tree, treegrid.
- Window Roles: alertdialog, dialog.
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't be communicated via assistive technologies when a role value is invalid.
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.
The Algorithm (in simple terms)
Checks all elements that contain the WAI-ARIA role attribute to ensure that the role value is valid