Everything written this session that has not been through the device: rounds 43 to 48 (each patch adversarially verified, 43's transient-notice expectation fixed), a partial round 49, the pipeline scripts, the Android Auto design and the icon comparison mock. Also the two harness changes that were never A/B'd — adaptive waits, which may only shorten a declared wait and never lengthen it, and a ship that runs the mock walk and the deploy at the same time. The A/B and its 255-step baseline are in handoff/tools; main stays at what the phone has actually walked.
18 lines
1.2 KiB
Plaintext
18 lines
1.2 KiB
Plaintext
android: what a screen reader says — names, roles, and the sheets out of the tree when they are down
|
|
|
|
Every control on the phone has a name now, in the app's own words, and the
|
|
desktop's word where it already has one; the nav is a tab set whose badge
|
|
count is part of the tab's name — "You, 3 transfers" rather than a stray 3
|
|
read out before it. The two sheets are dialogs with somewhere sensible for
|
|
the focus to land, and the half sheet's grab handle is finally a real
|
|
Close — the first dismissal a screen reader could reach, because the scrim
|
|
never was one. A sheet that is down is inert rather than sitting
|
|
off-screen in the accessibility tree with the hidden mini bar and the nav
|
|
under it, and one live region is mounted for the life of the app so that
|
|
an undo offer is actually announced; switches say on or off, chips say
|
|
pressed, and the waveform is a slider where it can seek. Nothing visible
|
|
changed. The walk counts the controls with no name, with a junk name, in a
|
|
hidden layer, or with unsaid state — all four held at zero on ten screens,
|
|
and the nameless count on a room and on both prompts besides, which is
|
|
where the six fields named here actually live.
|