The production New settlement confirmation does not take or contain keyboard focus. In the rebuilt browser game, opening it leaves focus on the header button; pressing Tab focuses the map canvas behind the confirmation. Escape then reaches the map and leaves the confirmation open. Its accessibility node is an unnamed container rather than a named dialog.
Reproduction through actual browser input:
- Start and pause an original tutorial settlement.
- Click New settlement.
- Press Tab. The focused element is the Settlement map canvas, while Start a new settlement? remains visible.
- Press Escape. The confirmation remains visible and focus remains on the map.
Source owner: the application confirmation in resources/views/index.stx, using maintained stx/Stacks UI focus and dialog primitives. Related #90 and the shared keyboard controls. Do not add document/window access to the STX script or copy a framework focus runtime into the app.
Acceptance:
- Retain a real production-browser keyboard regression for opening, Tab/Shift+Tab, Escape and focus restoration.
- Give the confirmation its proper accessible name and dialog semantics. Focus the seed input or another appropriate initial control when it opens.
- Contain keyboard navigation and prevent underlying game shortcuts while the confirmation is open. Preserve its own input editing.
- Restore focus to New settlement when cancelled, and to the map after starting a new settlement. Retain seed validation/error behavior and existing checkpoint replacement behavior.
- Use maintained stx/Stacks UI capabilities, correcting an upstream defect in its owner if the required primitive does not deliver its documented behavior.
- Verify short desktop and narrow screens, reduced motion, lint/types and the full production browser gate. Qualify pushed CI diagnostics before closing.
The separate remembered-world correction is tracked in #222.