UA Ledger · Playable Test Bench · draft for review

Let one pointer finish the drag it started

Teaching laboratory. Cases run in this page against the authored functions. This is not a device panel, network approval, analytics-delivery proof or campaign result. Inputs are synthetic.

A second touch should not steal an object already being dragged. This fixture makes pointer ownership explicit and checks that unrelated move events cannot alter the active interaction.

Primary documentation: MDN: pointer owner (body read 2026-09-19).

Cases

CaseInputExpectedFixedBroken

What a pass does not prove

The tests exercise event-selection logic using synthetic pointer records. They do not establish browser pointer capture, gesture arbitration or behaviour after a real pointer cancellation. A production handler still needs explicit release and cancellation paths so an interrupted drag cannot leave ownership permanently locked.