Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
4.2 KiB
LEARN-0012 — Keyboard continuation and navigation feedback
Status: preregistered before implementation/execution. Codex author-model review. 2026-09-27 Europe/Berlin. Stream F; new comparison group F-navigation-focus-v1. Affected CAND-0010 Progressive Enhancement and boundary of CAND-0016 Focus Return. This differs from B-navigation-mechanism-v1; do not pool their learning rates.
Question, belief and disconfirmation
Does a region-replacing enhanced route need an explicit continuation/feedback policy beyond working native controls, especially if focus moves while a response is pending? Prior: keyboard activation can work while replacement loses meaningful focus and errors remain silent. Expected policy: direct navigation may focus a new heading; failed requests retain current work and expose a status/recovery action. A delayed response must not steal focus after the user moves to another surviving control. Modal return-to-invoker is not automatically the right navigation policy.
Compare raw pinned htmx 2.0.11 against an authored optional policy with identical HTML/transport. Raw outcomes are observations, not assumed failures. Disconfirm the proposed policy if it loses native operation, steals focus from a newer task, fails to report failure, or breaks history. Check real DOM activeElement, title, URL, visible feedback and live-region markup; no screen-reader announcement or WCAG conformance claim from DOM evidence. Standards inform interpretation, not scoring an entire application. No new pattern or promotion merely from passing checks.
Registered cases
Chromium and Firefox; isolated contexts; one execution per condition. Preserve all outcomes and any harness correction. No arbitrary sleeps or readiness-dependent fix. Use Tab/Enter for navigation actions, not programmatic focus or mouse clicks.
| ID | Condition | Obligation/observation |
|---|---|---|
| K01 | JavaScript disabled; native keyboard link | Tab reaches link, Enter loads selected full document; inspect title |
| K02 | Raw versus managed enhanced keyboard link | URL/content agree; observe active element/title/status; managed policy focuses new heading and labels completion |
| K03 | Raw versus managed enhanced 503 | Old view/URL and invoker focus retained; managed status explains failure; keyboard native recovery works |
| K04 | Raw versus managed request held at server; user Tabs to persistent search | Release response only after focus moved; no focus theft; managed status reflects completion |
| K05 | Raw versus managed browser history return | Restore selection; managed policy supplies route title/heading continuation; no full reload required |
| K06 | Raw versus managed background region update while search has focus | Background update does not move focus or announce a route transition |
K01 two browser cases, K02–K06 two variants × two browsers: 22 cases total. Raw rows record which managed obligations they meet rather than treating a predicted weakness as an assertion failure. Managed obligations must pass or be reported as unresolved. No accessible-name/focus-ring audit, AT speech test, user study, native history focus universality, overlapping navigation-request ordering, production recurrence or network interruption claim. Single delayed response only. A held response is not a model of every asynchronous failure. Live inference, if later required, uses llm-connect.
Effort and review boundary
45 active agent-research minutes plus 10 execution minutes before scope review. Monotonic session clock began after local orientation; subtract measured blocking experiment/check subprocess time. Include design/implementation/analysis/recording; no overlapping work. Checkpoint inspection during execution belongs to execution. Final receipt refresh/commit/snapshot/sync overhead after analysis cutoff is excluded. Tokens/cost unknown. Retain clock receipt, inputs, package/browser hashes and request traces. Commit registration before implementation/execution. Write outcome separately, append ledger entry with this protocol_ref, update affected profiles/report and take an immutable snapshot after committing candidate changes. WP-0003 T01/T02 and WP-0006 T03 retain residuals. One cycle in this new group cannot establish diminishing returns.