Files
astro-website/openspec/changes/archive/2026-02-10-lighthouse-fixes/specs/site-theming/spec.md
2026-02-10 22:37:29 -05:00

1.6 KiB

ADDED Requirements

Requirement: Theme tokens meet contrast intent

For each supported theme (dark, light, high-contrast), the theme token pairs used for primary text and primary surfaces MUST meet WCAG 2.2 AA contrast intent.

At minimum:

  • primary body text on the primary background MUST be high-contrast
  • link text on the primary background MUST be distinguishable and meet contrast intent
  • secondary labels on the primary background MUST remain readable

Scenario: Dark theme text is readable

  • WHEN data-theme="dark" is active
  • THEN primary text remains readable against primary surfaces without low-contrast combinations
  • WHEN data-theme="dark" is active
  • THEN links in common surfaces are readable against their background

MODIFIED Requirements

Requirement: Site themes

The site MUST support three themes:

  • dark
  • light
  • high-contrast

Themes MUST be applied by setting a data-theme attribute on the root document element (<html>).

Scenario: Dark theme active

  • WHEN data-theme="dark" is set on <html>
  • THEN the site's background, text, and component styling reflect the dark palette

Scenario: Light theme active

  • WHEN data-theme="light" is set on <html>
  • THEN the site's background, text, and component styling reflect the light palette

Scenario: High contrast theme active

  • WHEN data-theme="high-contrast" is set on <html>
  • THEN the site uses a high-contrast palette with a clearly visible focus ring and high-contrast borders