Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I3215 — The ui audit refuses a control a thumb cannot hit at the floor width

Declare the minimum touch target once in share/design/tokens.yaml and feed it to axe's target-size check, which the ui audit already runs through the wcag22aa tag, so one measurement judges every control of every discovered page at the floor width; report its violations as component.target-size, and admit today's findings through a committed baseline that only shrinks.

PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně

Part of the-ui-works-on-a-phone — Every first-party surface works on a phone, and the primary flow is accepted there.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I3215 bude přijato.

Cíl

Declare the minimum touch target once in share/design/tokens.yaml and feed it to axe's target-size check, which the ui audit already runs through the wcag22aa tag, so one measurement judges every control of every discovered page at the floor width; report its violations as component.target-size, and admit today's findings through a committed baseline that only shrinks.

Proč

A 2026-10-08 mobile review proposed about 44 px targets; the figure is a proposal for the owner or the design declaration to fix, not a fact. ADR 0022 sweeps widths but sizes nothing beyond axe's 24 px. Proposed in ADR 0215 (A phone is the baseline width of every first-party surface, and the primary flow is accepted there before a surface grows) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c197#1.

Aktuální stav

Verified on master 707a04c7ce8: scripts/lib/ui-audit.mjs runs axe with runOnly tags that include wcag22aa, which runs axe's target-size check at 24 px (WCAG 2.5.8); share/design/tokens.yaml has viewports and no touch target; nothing in scripts/ui or scripts/lib/ui-*.mjs admits a known finding, so the ui-audit gate fails on any.

Cílový stav

tokens.yaml declares the target; the audit passes it to axe as the minimum size, reports each undersized control with route, width and selector once, and .ai/repo/ui-target-size-baseline.txt holds the trunk's findings so the rule is a ratchet.

Rozsah

  • share/design/tokens.yaml
  • scripts/lib/ui-audit.mjs
  • docs/UI.md
  • .ai/repo/project/issues/I1016.yaml

Mimo rozsah

  • Fixing every finding in the same PR

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • A planted 16 px link on a fixture page is reported as component.target-size at the floor width
  • The target is read from tokens.yaml; changing it changes the audit without another edit
  • I1016.yaml records, in the PR that lands the rule, that I3215 delivered its touch-target criterion; I1016 keeps its other criteria

Validace

  • scripts/ui audit --json
  • scripts/ui viewports
  • scripts/ui test

Požadované důkazy

  • case_a_small_target_is_refused

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Canonical record: .ai/repo/project/issues/I3215.yaml. Read it back with majordomus plan show I3215.

Prohledává názvy a popisy všech stránek, které tento web publikuje.