Deterministic fixtures for the toolkit QA tools. Each page is a known answer; verify.mjs
runs the tools against these URLs and asserts the result against manifest.json. noindex.
| Fixture | Tool | Path | Expect | Rule | Defect / note |
|---|---|---|---|---|---|
| gold | axew | happy | PASS | — | Clean, fully accessible baseline. |
| missing-alt | axew | fail | FAIL | A11Y-1 | The portrait |
| low-contrast | axew | fail | FAIL | A11Y-2 | Light-grey text (#bdbdbd on #fff) fails 4.5:1. |
| unlabeled-select | axew | fail | FAIL | A11Y-3 | The |
| empty-link | axew | fail | FAIL | A11Y-4 | An with no discernible name. |
| no-lang | axew | fail | FAIL | A11Y-5 | The element has no lang attribute. |
| empty-button | axew | fail | FAIL | A11Y-4 | An icon |
| gold | rapidash | happy | PASS | PERF-1 | Small sized image, no blocking — fast. |
| slow-lcp | rapidash | fail | FAIL | PERF-1 | 4.2s render-blocking script + 1.9 MB hero → LCP poor. |
| layout-shift | rapidash | fail | FAIL/REVIEW | PERF-2 | A large unsized image injected after paint → CLS. |
| heavy-page | rapidash | showcase | PASS/REVIEW/FAIL | — | Realistic heavy page: 0.5 MB hero + 6 photos + copy. Showcase / viewvee capture. |
| stable (after) | snapatu | happy | PASS | — | Identical before/after — nothing changed. |
| broken-link (after) | snapatu | fail | FAIL | CONTENT-1 | The after page adds a link to a 404. |
| title-changed (after) | snapatu | fail | REVIEW | SEO-1 | The after page changes the |
| copy-edited (after) | snapatu | fail | REVIEW | — | The after page rewrites the body copy. |