Invalid ARIA role
Silktide checks every role attribute on your pages against the list of roles the ARIA standard defines. A role that is misspelled, made up, empty, or reserved for internal use is silently ignored by browsers, so the element's intended meaning never reaches the people who depend on it.
<!-- Problem: "buton" is not a real role, so this div stays meaningless -->
<div role="buton" tabindex="0">Save</div>
<!-- Fix: use a valid role (or better, a real button element) -->
<button>Save</button>
Why this matters
An role tells what an element is - a button, a tab, a dialog. When the role is invalid, browsers discard it: a user hears plain text where the author intended a control, and may have no way to know the element can be interacted with at all. Because the page looks and works normally for sighted mouse users, these mistakes go unnoticed without testing.
How to fix it
- Fix typos so the role matches a real ARIA role
(full list) -
for example
role="navigation", notrole="nav". - Replace abstract roles (
widget,composite,landmark,section, and similar) with a concrete role - abstract roles exist only to organise the standard and must not be used in pages. - Remove empty
role=""attributes. - Where a native element carries the right
meaning (
<button>,<nav>,<main>), prefer it and remove theroleattribute entirely.
How Silktide tests this
- Find every element on the page with a
roleattribute. - Report empty role values.
- Check each word in the role value against the roles defined by ARIA 1.2.
Roles from the digital publishing (
doc-) and graphics (graphics-) extensions are accepted. - Report words that match no defined role, and words that name an abstract role.
Troubleshooting
The role has multiple words
A role attribute may list several roles as fallbacks; browsers use the first one they recognise. Silktide reports every invalid or abstract word in the list so you can clean up the fallbacks too.
This check reports nothing even though I expect findings
ARIA testing can be turned off per website. Check the advanced settings for the website.