ARIA role must be appropriate for the element

Rule ID: aria-allowed-role
Ruleset: axe-core 3.1
User Impact: Minor
WCAG: Best practice
You are viewing older version of the axe rule.
Go to the latest version (3.3)

What if your accessibility tools could do more?

Axe can catch a lot of accessibility issues, but what if accessibility tools could do more? Join our beta program for a new tool that takes an exciting new approach to accessibility testing.

Compliance Data & Impact

User Impact

Disabilities Affected

  • Blindness
  • Deafblindness
  • Mobility/Dexterity


  • Best Practice

WCAG Success Criteria

  • Not specified or not applicable

Section 508 Guidelines

  • Not specified or not applicable

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.


Other Resources

You may also want to check out these other resources.

Refer to the complete list of axe 3.1 rules.

Was this information helpful?

You have already given your feedback, thank you.

Your response was as follows:

Was this information helpful ?
Date/ Time feedback was submitted :