automatica11y

What it checks.

Five tiers run by default. Use --tiers to pick fewer.

Rules.

axe-core and IBM Equal Access run side by side. They overlap, and each catches things the other misses. Their findings are reported separately and never added together. axe-core reports an impact (minor to critical). IBM reports its Toolkit level, a staged adoption scale where level 1 is essential, high-impact requirements. The two scales aren't comparable.

Interactions.

Keyboard and focus checks for ten archetypes: button, link, dialog, menu, tabs, combobox, form-field, accordion, tooltip, and live-region (a message that appears or changes without moving focus, such as an alert or status message). Each check runs on a fresh page. Archetypes are the standard building blocks of HTML and ARIA patterns. A larger widget, such as a carousel, is tested through the archetypes it's made of.

Computed checks.

automatica11y's own measurements from resolved styles in the browser, for the trigger of each archetype fixture: text contrast in rest, hover, keyboard focus, and pressed states (1.4.3), the contrast of the control's edge, fill, or icon (1.4.11), and the contrast and thickness of the focus indicator (1.4.11, and 2.4.13 at level AAA). A page that uses a gradient, an image, or transparency behind the control can't be reduced to one color, so that check reports undetermined, which is a gap and never a pass. These results are reported on their own and never added to the rule engines' counts.

Conditions.

How the page holds up under a user's settings and environment. Each check opens fresh copies of the page and says what happened:

Conditions run on whole pages and on component fixtures. Storybook stories are reported as not applicable.

Virtual screen reader.

The announcements a simulated screen reader makes, recorded as data. The output is simulated. It isn't a real screen reader, and real ones announce things differently.

What every result says.

Every result says what it ran, or why it didn't. A gap, a failure, or a result that can't be tested is a finding. It never counts as a pass.