Skip to content

[test] Roll the per-component reports up into a library scorecard - #48925

Draft
michelengelen wants to merge 12 commits into
mui:masterfrom
michelengelen:a11y/stack/scorecard
Draft

[test] Roll the per-component reports up into a library scorecard#48925
michelengelen wants to merge 12 commits into
mui:masterfrom
michelengelen:a11y/stack/scorecard

Conversation

@michelengelen

@michelengelen michelengelen commented Aug 4, 2026

Copy link
Copy Markdown
Member

Adds pnpm a11y:scorecard, which parses the count table out of every <Component>/accessibility.md, regenerates the index table in packages/mui-material/src/accessibility.md, and emits the JSON the public conformance page is built from.

pnpm a11y:scorecard:check fails when either output is stale, so a new component report cannot land without its rollup.

This is the aggregation @mj12albert described on #48708 — rolling the per-component scorecards up into a library-level one. Current totals across the 12 assessed components:

Result Count
✅ Supports 206
⚠️ Partially Supports 24
❌ Does Not Support 0
➖ Not Applicable 387

It also rolls results up per success criterion, taking the worst rating any component scores: 32 criteria exercised, 25 Supports, 7 Partially Supports, 0 Does Not Support.


Stack position. Builds on #48924. Until that merges this PR's diff also
shows its ancestors — review only the final commit:
86b1c28

Part of the WCAG conformance effort (#14187).


Also wires pnpm a11y:scorecard:check into the test_static CircleCI job. It fails when a conformance report changes without its rollup being regenerated, and when a report rates a criterion ⚙️ Automated without citing the test or axe rule that proves it — the check that caught LinearProgress 1.4.1 claiming automation with nothing behind it.

@code-infra-dashboard

code-infra-dashboard Bot commented Aug 4, 2026

Copy link
Copy Markdown

Deploy preview

Bundle size

Bundle Parsed size Gzip size
@mui/material 0B(0.00%) 0B(0.00%)
@mui/lab 0B(0.00%) 0B(0.00%)
@mui/private-theming 0B(0.00%) 0B(0.00%)
@mui/system 0B(0.00%) 0B(0.00%)
@mui/utils 0B(0.00%) 0B(0.00%)

Details of bundle changes


Check out the code infra dashboard for more information about this PR.

mj12albert and others added 12 commits August 6, 2026 12:42
Lets a fixture assert every axe rule it exercises rather than only the
CSS-dependent visual ones, which is what the per-component WCAG reports
need.
Adds a table-driven Playwright suite covering 1.4.10 Reflow, 1.4.4 Resize
Text and 1.4.12 Text Spacing across the assessed components. axe has no rule
for any of them, so they were rated Manual on evidence from source review.
Adds `pnpm a11y:scorecard`, which parses the count table out of every
`<Component>/accessibility.md`, regenerates the index table, and emits the
JSON that the public conformance page is built from. `--check` fails when
either output is stale so a new report cannot land without its rollup.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants