Results / MUI

MUI accordion

96% against @emotion/react@11.14.0, @emotion/styled@11.14.1, @mui/lab@9.0.0-beta.6, @mui/material@9.2.0. Every check below cites the clause it measures, and every failure carries the command that reproduces it.

Reproduce this whole run

Serve the adapter from a clone of the repository, then:

npx @railing-dev/runner run --target mui --component accordion \
  --repeat 3 \
  --base-url http://localhost:5180

Or replay it without running anything: download the Playwright trace and open it with npx playwright show-trace.

The header control does not reference its panel.

Check
accordion.trigger-controls-panel
Status
fail
Severity
moderate
Why it matters
The relationship is what lets assistive technology move from the control to the content it reveals.
Expected
aria-controls referencing the panel
Measured
attribute absent
Measured against
APG pattern · WCAG 1.3.1 Info and Relationships
Reproduce
npx @railing-dev/runner run --target mui --component accordion \
  --only accordion.trigger-controls-panel \
  --base-url http://localhost:5180

Tab moves between accordion headers

Check
accordion.headers-are-tab-stops
Status
pass
Severity
serious
Why it matters
Accordion headers are each a stop in the tab sequence, the opposite of a tablist, which is a single stop navigated with arrows. Implementations that copy tab behaviour here strand the user on the first header.
Measured against
APG pattern · WCAG 2.4.3 Focus Order

What this cannot tell you

A high score means no violations were detected by automated testing. It does not mean the component is accessible. Automated tests cannot judge whether a label is meaningful, whether a reading order makes sense, or whether the experience is usable with a screen reader. Those need human judgement and disabled users. This is a floor, not a ceiling.