role="presentation" must not be on focusable or labelled elements
Rule
presentation-role-conflict· ARIA · impact moderate · Static + live
Why it matters
role="presentation"/"none" tells AT to ignore an element’s semantics — but the browser ignores that request if the element is focusable or carries a global ARIA state/label, producing a contradictory, unpredictable result.
How to fix
Remove the presentation role, or remove the focusability / aria-* that conflicts with it.
Example
<button role="presentation" aria-label="x">x</button>
<span role="presentation">x</span>
WCAG success criteria
4.1.2 Name, Role, Value — Level A
Every UI component must expose a correct name, role, and (where relevant) state/value to assistive technology.
Standards
This rule contributes to the following standards:
WCAG A EN 301 549 ACT Best practice
| Standard | Criteria |
|---|---|
| EN 301 549 | 9.4.1.2 |
| ACT (WCAG SC) | 4.1.2 |