mirror of
https://github.com/olehomelchenko/astrolabe.git
synced 2026-08-08 02:02:33 +00:00
31 lines
1.8 KiB
Markdown
31 lines
1.8 KiB
Markdown
# UX second pass — batched council review
|
|
|
|
A running parking lot of small UX / interaction decisions deferred for a **batched
|
|
[`/council`](../.claude/skills/council/SKILL.md) review**, rather than gating each one the
|
|
moment it surfaces. Append quirks here as they come up; resolve them together in one pass,
|
|
record the resolution into the contract (`docs/architecture/09`+`10` and the relevant
|
|
`docs/spec/`), then delete the row.
|
|
|
|
## Open
|
|
|
|
### Chart Builder — encoding type control: cycle vs. explicit pick
|
|
|
|
- **Where:** `src/app/components/ChartBuilderModal.tsx` → `ChannelPill` (the `pillType` chip).
|
|
- **What:** a mapped channel's field type is shown as a **cycling chip** — activating it steps
|
|
N → O → Q → T within the set valid for the column/channel. It is compact and matches the
|
|
approved field-first pill design, but a _cycling_ button gives a screen-reader / keyboard
|
|
user no way to jump straight to a type; they step through the cycle. The pre-2B control was
|
|
an explicit `N | O | Q | T` segmented radio (direct pick, APG radio pattern).
|
|
- **Decision to make:** keep the cycle, restore the explicit segmented control, or a hybrid
|
|
(chip for a quick mouse cycle + an accessible radio/menu for direct selection).
|
|
- **Lens:** WAI-ARIA APG (radio vs. toggle button), IBM Carbon, the project's keyboard-first
|
|
accessibility bar.
|
|
|
|
### Chart Builder — empty Colour/Size "or constant" affordance
|
|
|
|
- **Where:** `ChannelPill` / `ChannelSlot` — the constant-value entry on Colour/Size (2A).
|
|
- **What:** an empty Colour/Size slot offers a small underlined "or constant" text button to
|
|
switch the channel from a field binding to a fixed `{ value }`. Confirm the copy, emphasis,
|
|
and discoverability read well alongside the field-assign affordance.
|
|
- **Lens:** Carbon / GOV.UK content + control emphasis.
|