Repository navigation
[KS][KEY] Flows: focus traversal & navigation keys #82
Copy link
Copy link
Open
Labels
area:inputKeyboard, pointer, text inputKeyboard, pointer, text inputkind:flowsYAML verification flows + kitchen-sink screensYAML verification flows + kitchen-sink screenskitchen-sinkKitchen Sink verification appKitchen Sink verification apppriority:p0Gate MVPGate MVPrelease-gateBlocks releases until verifiedBlocks releases until verifiedsparkLegend Spark desktop frameworkLegend Spark desktop frameworktype:taskAgent-sized unit of workAgent-sized unit of work
Description
Part of #15 · Umbrella #9 · Task key KEY.focus
Goal
Verify with YAML flows: focus traversal & navigation keys.
Scope
Every line becomes ≥1 check ID in the registry and is covered by ≥1 YAML flow.
- Tab/Shift+Tab order; macOS Full Keyboard Access; Windows focus rectangles
- Escape cancels, Enter = default button, Cmd+. cancels
- Arrow navigation in lists; type-select
Deliverables
- Flows in
e2e/flows/keyboard/(format: see INFRA schema task) - Check IDs
KEY-…registered ine2e/checks/keyboard.yaml(only edit your area's file) - Kitchen Sink screen(s) under
examples/kitchen-sink/screens/keyboard/exercising every scope item, testIDskeyboard-<screen>-<element>
Acceptance
- Platforms: macOS + Windows
- All flows pass on the release build (signed, installed), matrix light/dark × en-US/ar (+ reduceMotion where motion is involved)
- 10/10 consecutive local passes; zero retries
- Unsupported platform → flow asserts typed
SparkError+ truthfulget*Availability() manualSteps only where automation is impossible, each with evidence- Windows half runs once [KS][INFRA] Windows black-box backend (UI Automation + SendInput) and OS-state commands #51 lands; keep this issue open until both platforms pass or Windows is explicitly typed-unsupported
Blocked by
- [KS][INFRA] macOS black-box backend (AX API + CGEvent) and OS-state commands #50 — macOS black-box backend (AX API + CGEvent) and OS-state commands
- [KS][INFRA] Kitchen Sink app shell: catalog, deep links, testID convention, merge legend-apps screens #56 — Kitchen Sink app shell: catalog, deep links, testID convention, merge legend-apps screens
Agent rules
- Claim: assign yourself before starting; one PR per task with
Closes #<this>; branchseth/ks-<issue>-<slug> - Touch only your area's flows/checks/screens/goldens; shared tooling changes go through INFRA tasks
- Missing Spark API? Do not stub or add fallbacks. Open a
kind:apitask under the same epic, mark it as blocking this one, and stop
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:inputKeyboard, pointer, text inputKeyboard, pointer, text inputkind:flowsYAML verification flows + kitchen-sink screensYAML verification flows + kitchen-sink screenskitchen-sinkKitchen Sink verification appKitchen Sink verification apppriority:p0Gate MVPGate MVPrelease-gateBlocks releases until verifiedBlocks releases until verifiedsparkLegend Spark desktop frameworkLegend Spark desktop frameworktype:taskAgent-sized unit of workAgent-sized unit of work
Activity