Skip to main content

Detection Matrix

A complete overview of all patterns detected by the plugin.

Redundant Roles

IDPatternDescriptionAutofix
R1<button role="button">Role equals implicit roleRemove role
R2<nav role="navigation">Redundant landmark roleRemove role
R3<ul role="list">Implicit list roleRemove role
R4<li role="listitem">Implicit listitem roleRemove role
R5<table role="table">Implicit table roleRemove role

Destructive Roles

IDPatternDescriptionAutofix
R6<button role="none">Removes interactive semanticsRemove role
R7<a href role="presentation">Breaks accessibilityRemove role
R8<ul role="presentation">Removes structural meaningRemove role

Role / ARIA Conflicts

IDPatternDescriptionAutofix
A1role="alert" aria-live="polite"Conflicts with implicit assertiveRemove aria-live
A2role="status" aria-live="assertive"Conflicting politenessRemove aria-live
A3role="log" aria-live="assertive"Redundant or conflictingRemove aria-live

Unsupported ARIA Attributes

IDPatternDescriptionAutofix
A4<div aria-checked="true">No valid role contextRemove attribute
A5<button aria-valuenow="5">Invalid attribute for roleRemove attribute
A6<img aria-expanded="true">Unsupported attributeRemove attribute

Default ARIA Values

IDPatternDescriptionAutofix
D1aria-hidden="false"Default valueRemove attribute
D2aria-required="false"Default valueRemove attribute
D3aria-expanded="false"Default (static only)Remove attribute
D4aria-pressed="false"Default valueRemove attribute

Empty / Invalid ARIA

IDPatternDescriptionAutofix
D5aria-label=""Empty labelRemove attribute
D6aria-*=""Invalid empty attributeRemove attribute

Interactivity Conflicts

IDPatternDescriptionAutofix
I1<button aria-hidden="true">Focusable but hiddenRemove aria-hidden
I2<a href aria-hidden="true">ContradictionRemove aria-hidden
I3[tabindex] + aria-hiddenFocusable but hiddenRemove aria-hidden