Say in the manual and the register that colour labels exist

The manual's library section described rating and flagging only, and
the outstanding register still said colour labels were "set and shown
nowhere" and that three NFR-A11Y-3 clauses had no test. Both are now
untrue: the manual gives the keys, the Label button and the chips, and
the register names the test file and what it can and cannot vouch for.
This commit is contained in:
2026-09-24 21:52:23 -04:00
parent f1db919b9d
commit 96f1d5c896
2 changed files with 23 additions and 17 deletions
+13 -15
View File
@@ -283,22 +283,20 @@ on one control — the parameter slider in `adjust.slint` — and nothing is set
all. Everything else in eighteen Slint files is unnamed to AT-SPI and TalkBack. The requirement's own
caveat, that Slint's Android accessibility needs verifying, is spike S13, which has not run.
**NFR-A11Y-3 — Colour-independent status.** Built where a control exists, and now tagged: the
clipping readout pairs a marker that appears or disappears with a figure in words, the rating strip
is a solid star against an outline in an achromatic palette, the pick/reject mark is a tick against
a cross, and the focus-peaking colour chips say "Red" and "Cyan" rather than showing swatches. Each
of those already carried the reasoning in a comment naming this requirement and simply had no
`TRACES` line.
**NFR-A11Y-3 — Colour-independent status.** Built, and now asserted. The clipping readout pairs a
marker that appears or disappears with a figure in words; the rating strip is a solid star against
an outline in an achromatic palette; the pick/reject mark is a tick against a cross; the
focus-peaking colour chips say "Red" and "Cyan" rather than showing swatches; and colour labels —
the requirement's first named example — now have an interface built with a shape from the start:
every mark carries its label's initial (R, Y, G, B, P) on its colour, and every chip, picker and the
develop bar name the label in words.
Two caveats, because the tag now says more than the evidence does. **Only the clipping clause has a
test** — `a_clipping_figure_distinguishes_none_from_nearly_none`, which pins `<0.1%` apart from `0%`
so the figure cannot contradict the lit marker beside it. The three Slint components are
inspected-and-argued, not asserted, and nothing would fail if a future edit made a star differ only
in tint. **And the requirement's first named example has no interface at all**: catalog colour
labels are a nullable `label INTEGER` column on the versions table and are set and shown nowhere, so
the clause about them is untestable rather than satisfied. That clause closes when the label UI is
built, not before, and it should be built with a shape from the outset — which is the same argument
as below, for doing this alongside NFR-A11Y-2 rather than after it.
The clipping clause is pinned by `a_clipping_figure_distinguishes_none_from_nearly_none`. The other
four are pinned by `ui/dr-ui/tests/status_is_not_colour_alone.rs`, which reads the markup and fails
if a star, a flag or a label comes to differ in tint alone — if the glyph a state selects stops
depending on the state, if two states select the same drawing, if two labels share a letter, or if
the peaking chips stop being words. It is a structural check, not a perceptual one: it cannot say
whether the letters are legible at 14px on a given screen, which is still a matter of looking.
---