This appendix provides a compact accessibility checklist, recommended color tokens with contrast-safe values, and testing guidance to apply to the Newsroom UI.
--color-canvas: #FDFBF7 (Paper) — background--color-ink: #0B0B0B (Ink) — primary text--color-accent: #B00020 (Accent/Action) — buttons/alerts (approved for normal text contrast)--color-muted: #6B6B6B — secondary text--color-success: #0A7A3E--color-warning: #B36A00Notes: these values were selected to meet at least 4.5:1 contrast for body text against --color-canvas and to provide clear semantic mapping.
rem) for font sizes and spacing. Base font-size: 16px (1rem).1.5rem (h1 small screens) up to 2.5rem (desktop), ensure responsive scaling.44x44 CSS pixels for interactive elements.skip to content link at the top of the page.nav, main, header, footer, button, form.role="dialog" with aria-modal="true" and ensure focus trap and return focus to the opener on close.aria-live="polite" for non-critical updates and aria-live="assertive" for critical alerts.alt text for generated images derived from prompt_used or journalist-specified caption.color-contrast-checker or axe.axe-core integration in Playwright tests for critical paths (Triage, Editor, Publish flow).Add an accessibility test in CI using Playwright + axe-core:
# Example: run a11y checks locally
npx playwright test tests/a11y.spec.ts
Example minimal test (Playwright + axe) should load the page and run axe on main regions.
frontend_spec.md