# 07 — Accessibility & performance

## Accessibility

| Item | Status | Evidence |
|---|---|---|
| `--faint` contrast | **Fixed** | `#7a8496` on `#06070b` ≈ **5.34:1** (was 3.47) |
| ink / dim / mood | Pass AA | See `brand/tokens.json` |
| Skip link | Present | `index.html` |
| Focus-visible | Mood ring | CSS `:focus-visible` |
| Companion decorative | Default aria-hidden stages | FAQ + implementation |
| Captions | `aria-live="polite"` | Demo + example |
| Reduced motion | Transforms/caret reduced | CSS media query |
| Keyboard | Nav, chips, demo, example host, **gallery cards** | Tab + Enter/Space preview; Shift+Enter configure |
| Touch | Primary CTAs ≥40px-ish | Buttons padding |
| Gallery focus | `tabIndex=0`, `role=button`, `:focus-visible` ring | `index.html` gallery |

Remaining: none blocking for core activation path.

## Performance

| Item | Behavior |
|---|---|
| Library | Zero deps, single file |
| Gallery | Lazy WebGL/canvas contexts; off-viewport sleep |
| DPR | Capped at 2 in glim.js |
| Fonts | Google fonts preconnect; system fallbacks |
| Perceived speed | Instant mount of free creature; no blocking network for activation |

Measure note: no Lighthouse CI in repo; qualitative — activation works offline by design.
