2026-09-26 21:46:28 +02:00
|
|
|
|
---
|
|
|
|
|
|
title: Focus Return
|
|
|
|
|
|
status: draft
|
|
|
|
|
|
maturity: hypothesis
|
|
|
|
|
|
families: [quality, affordance]
|
|
|
|
|
|
scales: [L6]
|
|
|
|
|
|
admission: research-candidate-only
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# Focus Return
|
|
|
|
|
|
|
|
|
|
|
|
Context: a modal task temporarily interrupts another keyboard workflow. Closing it
|
|
|
|
|
|
can leave users without a meaningful continuation point. Continuity competes with
|
|
|
|
|
|
changing document structure and the next task's needs.
|
|
|
|
|
|
|
|
|
|
|
|
Proposed solution: retain the invocation context and choose a meaningful focus
|
|
|
|
|
|
location inside the modal. On closing, return focus to the invoker when appropriate;
|
|
|
|
|
|
if it disappeared or completion changes the next step, choose a logical surviving
|
|
|
|
|
|
target. Define ownership for nested dialogs so an obsolete close callback cannot
|
|
|
|
|
|
move focus out of the current task.
|
|
|
|
|
|
|
|
|
|
|
|
Result: interruption has an explicit return path, but dynamic targets need lifecycle
|
|
|
|
|
|
handling. Do not steal focus on unrelated background updates or apply modal focus
|
|
|
|
|
|
containment to ordinary page regions. This narrow candidate does not claim complete
|
|
|
|
|
|
accessibility conformance; labeling, inert background and keyboard behavior remain
|
|
|
|
|
|
part of the containing dialog contract.
|
|
|
|
|
|
|
|
|
|
|
|
Evidence: B06 locates APG's modal focus guidance and return exceptions. Generalizing
|
|
|
|
|
|
to route transitions requires separate evidence. Alternative: inline interaction
|
|
|
|
|
|
when modal interruption adds no value. Defer merging this into a broader accessible
|
|
|
|
|
|
interaction pattern until contrasting cases support that scope.
|
|
|
|
|
|
|
|
|
|
|
|
Proposed relation: can support [Explicit Reconciliation](ExplicitReconciliation.md)
|
|
|
|
|
|
when comparison uses a modal; reconciliation does not require a modal.
|
|
|
|
|
|
|
|
|
|
|
|
Next test: close nested dialogs, delete the invoking row, and complete a task that
|
|
|
|
|
|
creates the next target; verify keyboard and assistive-technology behavior.
|
|
|
|
|
|
|
|
|
|
|
|
Evidence locators: [breadth review](../reviews/PatternBreadthExpansion.md).
|
|
|
|
|
|
All relations are research proposals; no canonical identity or admitted graph edges.
|
|
|
|
|
|
The next test is planned, not executed. Known uses of the complete proposed contract
|
|
|
|
|
|
have not been verified in this investigation.
|
2026-09-26 22:01:35 +02:00
|
|
|
|
|
|
|
|
|
|
## Executed partial evidence — 2026-09-26
|
|
|
|
|
|
|
|
|
|
|
|
[Boundary experiment](../reviews/BoundaryRecoveryExperiment.md) X05–X08 runs Radix
|
|
|
|
|
|
Dialog 1.1.23. Ordinary return succeeds; removal of the trigger leaves BODY focused
|
|
|
|
|
|
unless the application supplies a surviving target. Nested dismissal is timing-sensitive:
|
|
|
|
|
|
immediate Escape failed the parent-return obligation in the final recorded immediate
|
|
|
|
|
|
run, while a 100 ms settling variant passed. Neither focus arrival nor dialog visibility
|
|
|
|
|
|
alone proves dismissal ownership has stabilized. The delay is an experimental variable,
|
|
|
|
|
|
not a recommended fix. Root cause and accessibility conformance remain unverified;
|
|
|
|
|
|
retain hypothesis maturity and test lifecycle ownership before a stronger claim.
|