ARIA role should be appropriate for the element
How to Fix the Problem
Ensure all values assigned to role=""
correspond to valid
WAI-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, 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
Why it Matters
Intended accessible technology behavior by a developer is not enabled when an assigned WAI-ARIA role value is invalid for the parent element.
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. When the
value for a role is invalid, there is no way to communicate the element's
features, properties, and methods to assistive technologies. For example,
applying role="table"
to a <ul>
effectively
hijacks the default semantics associated with the
<ul>
element in a way that screenreaders do not expect
resulting in unexpected behavior.
Rule Description
Values assigned to WAI-ARIA role attributes must be valid. This means values
must be spelled correctly, correspond to existing ARIA
role
values, and
must not be abstract roles in order to correctly expose the purpose of the
element.
The Algorithm (in simple terms)
Check all elements containing WAI-ARIA role attribute values to ensure that the role value is valid. A person must ensure that the role value is appropriate to the element in the context of the document.