Skip to content

Audit and remediate contrast across every built-in theme - #1358

Open
FNDEVVE wants to merge 3 commits into
backnotprop:mainfrom
FNDEVVE:fix/theme-wcag-contrast-audit
Open

Audit and remediate contrast across every built-in theme#1358
FNDEVVE wants to merge 3 commits into
backnotprop:mainfrom
FNDEVVE:fix/theme-wcag-contrast-audit

Conversation

@FNDEVVE

@FNDEVVE FNDEVVE commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

What changed

  • adds a deterministic WCAG 2.2 theme contrast audit derived from the built-in theme registry
  • hand-remediates contrast across 52 themes and 78 supported light/dark variants
  • aligns warning banners, file-browser status markers, and deletion highlights with the exact rendered combinations the audit measures
  • adds a strict CI gate that fails on contrast regressions, missing selectors, unresolved tokens, or orphaned theme stylesheets

Results

  • 52 registered themes
  • 78 supported variants
  • 3,432 semantic states evaluated
  • 3,432 passing states
  • 0 failing states

This is a claim about the enumerated theme contrast states, not whole-product WCAG conformance.

Verification

bun test packages/ui/audit/audit.test.ts
bun run theme:audit -- --strict
bun run --cwd apps/guides-show check:manifest
bun run typecheck

Observed locally: 21 focused tests passed, strict audit passed at 100%, the generated guide viewer manifest is in sync, and workspace typecheck passed. The corrected deletion/warning/error/success states were also rendered in the live plan UI and visually inspected.

Video

plannotator-theme-wcag-all-themes.mp4

The video captures the 78-variant palette remediation. Its numeric overlay predates the final review pass that added five exact rendered-state checks; the source-of-truth result is the current 3,432-state strict CI audit above.

@FNDEVVE
FNDEVVE force-pushed the fix/theme-wcag-contrast-audit branch from c8c856b to 703aa15 Compare August 20, 2026 20:53
@FNDEVVE
FNDEVVE force-pushed the fix/theme-wcag-contrast-audit branch from 703aa15 to a729aca Compare August 21, 2026 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant