Skip to main content
Home
Back to Guidelines

What is Pointer Cancellation?

Pointer cancellation means the user should be able to move away and cancel before the action completes, instead of triggering the result too early.

This matters for destructive actions, drag-and-drop, and press-and-hold controls where accidental activation can cause lost work or unwanted changes.

  • Complete the action on pointer up, not pointer down.
  • Allow users to move away to cancel before release.
  • Keep the interaction predictable for motor-impaired users.

Good vs Bad Examples

Use the tabs to compare the accessible pattern with the example to avoid.

Good Example 1 – Action Can Be Canceled or Completed

Delete item control that can be canceled by moving away before releasing or completed on pointer up.
html live code
<button onPointerUp="handleDelete(event)">Delete Item</button>
Why this is correct (developer logic):
  • The action waits until pointer up before it completes.
  • Users can move away to cancel before release.
  • Accidental activation is much less likely.

Good Example 2 – Drag Action Can Be Canceled

Drag and drop example where the action completes only on pointer up in a valid drop area and can be canceled by moving away.
html live code
<div onPointerUp="handleDrop(event)" onPointerLeave="cancelDrag()">Card 2</div>
Why this is correct (developer logic):
  • The drag only completes in a valid drop area.
  • Moving away can cancel the operation before release.
  • Users with motor limitations get a safer interaction.

Implementation Checklist

Progress0 / 5 completed (0%)

Knowledge Check

Answer Yes or No to test your understanding of pointer cancellation.

Score: 0 / 5 · Answered: 0 / 5

Does the good example demonstrate pointer cancellation correctly?

Is the bad example acceptable for pointer cancellation?

Should this pattern be checked with keyboard and screen reader testing?

Should users be able to cancel an action before pointer up?

Is completing an action on pointer down the safer pattern for pointer cancellation?