Skip to content

find focus/type dispatch: close its waived interaction guarantees (offscreen, parentOwnedTouchPoint, nonHittable, targetStability) #3734

Open

Description

@thymikee

Purpose

#3727 classifies the find <locator> focus / find <locator> type dispatch path as find-focus-dispatch in packages/contracts/src/interaction-guarantees.ts. Four of its cells are gap: waivers. ADR 0011 requires every gap waiver to cite an open tracking issue; this issue owns those four. (outcomeObservation is owned by #3335.)

Required behavior, per cell

  • offscreen: a focus/type match whose target is off screen is refused with a typed reason, or scrolled into view by the shared rule. It is not dispatched at an off-screen point.
  • parentOwnedTouchPoint: the seam aims at the point resolveInteractionTouchPoint chooses, not centerOfRect of the resolved node, so a center tiled by an independent child is not tapped.
  • nonHittable: a non-hittable match is either promoted with the targetHittable / hint annotation the other paths emit, or refused.
  • targetStability: the target is re-confirmed (or the ref frame checked) between capture and dispatch, the same way the other paths do it.

Completion

Each cell moves from waived to an enforced classification (runtime / runner / delegated) whose via names the shared implementation. interaction-guarantees.test.ts passes, and each change carries a red/green regression. Cells can close in separate PRs; close this issue when none remain waived.

Blocked by: #3727 (introduces the row).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions