AP-FM1-01 · Focus loses meaningful continuation
The methods agree that focus handling is broken, but their primary evidence is different: the Agent explains the modal-opening experience, while LTL proves a later control-invalidation contract violation.
Execution Agent replay
Complete task replay
- Enter opens “Review and book,” but focus remains on the background Reserve button.
- Repeated Tab moves through other results and footer links behind the visible dialog.
- Focus finally reaches the dialog’s Close button after traversing the background.
- The raw Agent trace later records document focus when the notification control disappears—closer to LTL’s witness, although the Agent’s final explanation emphasizes modal entry.
Original Agent task prompt · expand
Mode rule: use only keyboard actions. Do not use mouse, click, coordinate, DOM-query, browser navigation buttons, extraction, or hidden implementation details.
Property under demo: AP-FM1-01 - Focused control invalidated; focus loses meaningful continuation.
Complete a realistic mock booking.
Source workflow steps: Search any travel category and choose Select, Reserve, or Choose on a result. Review the item, enter traveler name and confirmation email, and click Confirm booking. A unique `EXP-` confirmation notification appears, and the booking is then listed under Upcoming trips on `/trips`.
Use only keyboard actions. When the source workflow says click, choose, open, select, or activate, perform the equivalent keyboard action with Tab, Shift+Tab, Enter, Space, arrow keys, typing, or waiting. Do not use mouse, click, coordinate, or hidden browser-inspection actions. Finish when the workflow is completed or the specified confirmation/result is visible.
LTL checker
Complete exploration replay
- LTL has continuously monitored the formal AP; it now observes keyboard activation of “Dismiss notification.”
- The activated control is removed and, after the 500 ms settle window, focus is the document rather than a connected, rendered, accessibility-exposed element.
- The checker emits
AP_FM1_01_LOCAL_CONTROL_INVALIDATION_RETAINS_EXPOSED_FOCUSwith the action, removed-control reason, settled focus, and screenshot in one witness.
Actual checker code · AP-FM1-01
The rule applies after trusted Enter/Space invalidates the focused control. It reports a violation unless settled focus is a connected, rendered, accessibility-exposed element.
export function fm1Applicable(transaction) {
return fm1OpportunityObserved(transaction)
&& fm1EvidenceComplete(transaction)
&& transaction.observation.contextStable === true
&& transaction.post.controlInvalidation.invalidated === true;
}
export function fm1SettledFocusIsSafe(transaction) {
const focus = transaction?.post?.settledFocus;
return focus?.kind === "element"
&& focus.connected === true
&& focus.rendered === true
&& focus.accessibilityExposed === true;
}
export function fm1FocusResetViolation(transaction) {
return fm1Applicable(transaction)
&& !fm1SettledFocusIsSafe(transaction);
}
export const AP_FM1_01_LOCAL_CONTROL_INVALIDATION_RETAINS_EXPOSED_FOCUS =
always(() =>
fm1LocalInvalidationFocusContractHolds(fm1ActivationObservation.current));
Why it fires here: Dismiss notification is removed, but settledFocus.kind === "document", so fm1SettledFocusIsSafe is false.
Source: online-v2/specs/atomic/properties/focus/ap-fm1-01.ts
How the Agent analyzer reaches the finding
The analyzer would separate two focus events that the execution Agent’s final narrative grouped under AP-FM1-01.
- Trace evidence
- Modal-entry trigger: step 24 Enter keeps focus
Reserve → Reserve; steps 25–35 move through other result and footer controls before step 36 reachesClose booking. Strict FM1 trigger: step 42 Enter movesConfirm booking → body/document. The final summary describes the background traversal. Raw-trace-only corroboration records modal changes0→1and1→0, plusfocus_on_document_after_keyboard_actionat step 42. - Taxonomy rule
FM1 · Focus reset after action“After an action such as submit or close, focus jumps back to page top or an unrelated element.”The earlier modal-entry path is closer toFM2 · Off-target focus drift.- Analyzer decision
- Step 42 directly satisfies FM1 because a submit/close transition leaves focus on the document. Steps 24–36 are also a website focus failure, but fit FM2 more precisely: focus drifts through background content rather than resetting after submit/close.
- Relation to LTL
- The crosswalk maps
AP-FM1-01 → FM1. LTL is narrower: trusted activation invalidates the focused control, then settled focus must remain on a connected, rendered, exposed element. Its witness is a different action—Space onDismiss notification, followed by removal and document focus. Same broad FM1 family, different primary event; not exact event agreement.