lib-theme-beacon: initial import (access-first set, 2026-07)

One of three candidates for the access-first / maximum-legibility theme
family (WCAG AAA as identity): 7:1+ contrast on every pair (passes
validate-theme.mjs --aaa), 1.125rem body floor with nothing under 14px,
44px controls for everyone, 3px focus rings, links underlined at rest,
reduced-motion built in. Built for IGH/NDIS-facing surfaces first.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
jules
2026-07-08 07:20:58 +10:00
commit 1c57027888
2 changed files with 488 additions and 0 deletions

31
README.md Normal file
View File

@@ -0,0 +1,31 @@
# lib-theme-beacon
**Beacon — dark-native AAA.** The access-first theme for photophobic and
low-vision users who need dark high contrast. Near-black neutral field (not
pure `#000`, to avoid halation) carrying ~16:1 light ink, cards separated by
strong light-alpha borders, and one bright accessible yellow-gold action —
the lighthouse beam — with pure-black ink at ~14:1. Links underlined at
rest; 3px focus outline in the beam yellow; warning pushed to orange so it
never reads as the primary. Light mode is a competent high-contrast light
variant (deep amber-brown actions, ~17:1 ink).
Access-family DNA: type ramp starts at 1.125rem body / nothing below 14px,
generous line-heights, 44px controls for everyone (not just coarse
pointers), springs aliased to standard eases, `prefers-reduced-motion`
zeroes transitions.
Part of the access-first candidate set (lucent / lantern / beacon), built
2026-07 against the Crema v1 token contract; passes
`create-crema-app/scripts/validate-theme.mjs`.
## Fonts
Consuming apps load **Public Sans** (USWDS accessibility heritage) and
**IBM Plex Mono** at the top of their entry CSS:
```css
@import url("https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");
```
Body and headings are both Public Sans (headings at weight 600); code is
IBM Plex Mono.