Results / shadcn/ui

shadcn/ui dialog

100% against @base-ui/react@1.6.0, class-variance-authority@0.7.1, clsx@2.1.1, lucide-react@0.460.0, radix-ui@1.6.7, tailwind-merge@2.6.1, shadcn@4.16.1@2026-08-04. 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 shadcn --component dialog \
  --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.

Tab never leaves the dialog, even briefly

Check
dialog.tab-never-leaves-dialog
Status
pass
Severity
moderate
Why it matters
A tab stop on nothing gives a keyboard user no feedback and no way to tell whether they have fallen out of the dialog. They have not, and can carry on, which is why this is not a blocker, but the APG asks Tab to cycle among the dialog's own elements.
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.