Docs: move point-in-time records to exploration/, trim build-narration, lift open items to plan

This commit is contained in:
2026-06-14 23:58:06 +03:00
parent de9dbf3ec8
commit 66c123e15e
16 changed files with 77 additions and 68 deletions
@@ -254,12 +254,9 @@ the Draft/Published view) is a **radio group**, never a row of `aria-pressed` to
- `role="radio"`/`aria-checked`, a **roving tabindex** (only the selected option is a tab
stop), and Arrow/Home/End to move-and-select (APG → Radio Group). One widget so the keyboard
model is defined once. _(Tabs were a candidate for Draft/Published; we chose radio group for
consistency with the other segmented controls and to avoid tabpanel wiring to Monaco. A
**toggle switch** was also weighed and rejected: APG defines `role="switch"` as on/off of a
**single** setting, but Draft/Published selects between two **named peer views** with no
natural "on" side — a radio group is the right semantics. Reserve the switch for genuine
on/off settings. Consulted via /council → APG switch / radio-group / tabs.)_ A per-option
model is defined once. _(Not a toggle switch: APG defines `role="switch"` as on/off of a **single** setting, but
Draft/Published selects between two **named peer views** with no natural "on" side — a radio
group is the right semantics. Reserve the switch for genuine on/off settings.)_ A per-option
`title` (tooltip for a terse label) doubles as the option's accessible name, so it must
**lead with the visible label** ("Original — the natural size from the spec"), or
speech-input users can't address the control they see (WCAG 2.5.3 label-in-name).
@@ -302,9 +299,9 @@ show real measured sizes instead.
- **Unavailable degrades, not disappears.** Snippets + datasets are measured from our own data, so
they always show; only the **App** segment (which needs the origin estimate) drops out when the
Storage Manager API is absent.
- **No proactive "almost full" warning.** Dropping the old 0.8/0.95 thresholds is intentional —
they keyed off the untrustworthy quota, and a fake fuel gauge fails NN/g #1 (_visibility of system
status_) more than it serves it. The genuine out-of-room event surfaces at **save time** as an
- **No proactive "almost full" warning.** A percentage gauge would key off the untrustworthy
quota, and a fake fuel gauge fails NN/g #1 (_visibility of system status_) more than it
serves it. The genuine out-of-room event surfaces at **save time** as an
actionable error (`services/storage-errors.ts` → recover by deleting), satisfying NN/g #9.
_(Consulted via /council → WAI-ARIA APG `meter`, FT Visual Vocabulary + Datawrapper (part-to-whole),
@@ -356,7 +353,7 @@ generous preview. Each card **renders live through the shared `chart-renderer`**
embed path; each card owns its `RenderHandle` and finalizes on unmount — the per-card nodes are
independent, so they don't touch `LivePreview`'s single-host serialization), and adds as an
ordinary snippet. Empty stays calm and positive, never an error (NN/g aesthetic-and-minimalist;
§3 empty ≠ error). Council resolutions for the canvas: (1) **each card preview is decorative**
§3 empty ≠ error). Three rules govern the canvas. (1) **Each card preview is decorative**
`aria-hidden`, skipped by screen readers (Carbon empty-states a11y / WCAG decorative images);
the card **name + one-line description + a uniquely-labelled `Add` button** ("Add Bar chart",
APG button) carry the meaning, so AT users reach no dead end. (2) The canvas is the **single
@@ -386,7 +383,7 @@ primary next step ("Add a dataset" → the Datasets create form) — never a dea
dataset-row "Build Chart" stays as the contextual shortcut; the onboarding canvas gains the
data-first door ("Build a chart from your data") beside its primary. _(Consulted via
/council → NN/g #6/#7, Carbon empty-states; recorded in
docs/chart-builder-enhancement-scope.md §3 · 3D. This bullet is the contract; cite it, not
docs/exploration/chart-builder-enhancement-scope.md §3 · 3D. This bullet is the contract; cite it, not
the source.)_
**Resolved — one live region per shared message.** When the same error feeds two surfaces