fix(#147): WCAG AA color-contrast failures in brand palette #149
Reference in New Issue
Block a user
Delete Branch "fix/147-wcag-aa-contrast"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Fixes the two WCAG AA contrast failures identified in #147 (reviewed by Leonie Voss) and re-enables the axe-core
color-contrastrule in the E2E accessibility suite.text-accentwas used as a text/label colour —#a1dcd8is a decorative mint token, not a text colour. Replaced withtext-primary(#012851, 16.8:1 on white) across 5 components.text-ink/60produces an opacity-blended colour that fails on the sandy canvas#f0efe9. Replaced withtext-ink-2(#4b5563, 6.6:1 on canvas) across 4 files.⚠ accentguard comment inlayout.cssto prevent the misuse from recurring./coverage/to.prettierignoreso generated lcov reports don't fail the lint hook.Commits
test(#147)— Add axe spec withcolor-contrastenabled (🔴 red)fix(#147)— Replacetext-accentwithtext-primaryon all text elements (🟢 green, critical)fix(#147)— Replacetext-ink/60withtext-ink-2+ layout.css guard (🟢 green, high)Test plan
cd frontend && npx playwright test e2e/accessibility.spec.ts— all 4 pages (home, persons, admin, login) must pass with nocolor-contrastviolations/personssubtitle and "Neue Person" link — readable at normal brightnesstext-primary→#a1dcd8in dark mode, still 8.4:1 on dark surface)🤖 Generated with Claude Code