The README states the boundary of the automated checks directly:
What still needs a person: none of this looks at the pages. Layout, reflow at small widths, focus visibility in practice, and reading order under a real screen reader are not settled by any check here.
The automated floor is genuine and honestly scoped — contrast is measured as arithmetic over both palettes in tests/test_site.py, page structure is checked in both toolchains so make verify keeps a floor when node is unavailable, and rules that jsdom cannot run (target-size, contrast) are reported as not-run rather than as passed.
But the site is a build artifact published from main by pages.yml, and nobody has looked at it with a screen reader.
Done when: a person has worked through the published pages — layout, small-width reflow, focus visibility, reading order — and the result is recorded.
Imported from the README ("What still needs a person") with AI assistance.
The README states the boundary of the automated checks directly:
The automated floor is genuine and honestly scoped — contrast is measured as arithmetic over both palettes in
tests/test_site.py, page structure is checked in both toolchains somake verifykeeps a floor when node is unavailable, and rules that jsdom cannot run (target-size, contrast) are reported as not-run rather than as passed.But the site is a build artifact published from
mainbypages.yml, and nobody has looked at it with a screen reader.Done when: a person has worked through the published pages — layout, small-width reflow, focus visibility, reading order — and the result is recorded.
Imported from the README ("What still needs a person") with AI assistance.