• Success Criterion 2.5.2
  • Conformance level A

Press-to-Trigger Control Where Release Confirmation Was Possible

2.5.2 — Pointer Cancellation

Scenario

Setting

An online marketplace's seller dashboard

What’s wrong

Game-style controls in general UI triggering on press where up-event completion was feasible and function isn't down-essential (keyboard emulation exception misapplied).

Example

boostBtn.addEventListener('mousedown', () => {
  chargeSellerAccount(boostFee); // billed before the click even completes
});

Why it matters

A seller who presses the boost button to see the price tooltip gets billed before deciding to buy anything.

How to test

Check any control that mimics game-style press-to-trigger behavior in ordinary UI: if the up-event completion was feasible but wasn't used, it fails.

How to fix

Reserve press-triggered firing for genuine game controls; billing actions need release-based confirmation.

boostBtn.addEventListener('click', () => {
  confirmAndCharge(boostFee);
});

Outcome

A seller can press and hold to preview the fee, then release away from the button to back out.

Who is affected

Users with tremor, and anyone relying on a pointer device that registers a single press as a longer or doubled one.

Learn more