Spacing and size must both hold
Aliases: target gap · adjacent targets · size and spacing
What it is
Each target can be large enough, its neighbour large enough too, and a 2-pixel gutter between them will still produce wrong hits. Size decides whether you can hit yourself. Spacing decides whether you hit the neighbour instead. The failure modes differ, so both floors must hold: enlarging targets then packing them, or opening a gap then leaving a 12-pixel hit area, both collapse under a real finger and under tremor.
Some checklists allow “undersized, but isolated by an empty zone equal to the floor”. Isolation lowers the chance of hitting a neighbour. It does not make an undersized hit area easier to hit. Treating isolation as a substitute for size collapses two error types into one.
Why it happens
Motor noise lands in a cloud around the target. The cloud’s radius grows with tremor, speed and contact area. When size is short, even a centred cloud still drops landings outside — a miss. When spacing is short, the cloud covers a neighbour’s hit area — a mis-hit. Consequences are asymmetric: a miss can be retried; a mis-hit may submit, delete, or follow the wrong person.
Enlarging size while squeezing the gutter merely converts misses into mis-hits. Opening a gutter without changing a tiny icon leaves the misses. That is the “both”: each parameter repairs one error, and neither stands in for the other. The larger the consequence gap between neighbours (“Cancel” flush with “Delete forever”), the more spacing weighs, because the cost of a mis-hit is not “click again”.
Studying it
Measure in pairs: each target’s edge length, and the clear gap to the nearest clickable neighbour (not including the target itself). Plot size × spacing; points in the lower-left of both thresholds fail both. In tasks, log misses and mis-hits separately; do not fold them into one accuracy number.
Tremor or gloved touch enlarges the noise cloud. Hitting with a mouse in the lab does not pass touch. Retest adjacent icon toolbars with a real finger or a touch simulator, not only isolated buttons.
Where it stops holding
An isolated target with no clickable neighbour satisfies spacing by construction; size still has to hold. Controls that look adjacent while their hit areas sit on different layers (a sticky footer overlapping the last list row) must be measured as composited pixels, not as document-flow margin. Spacing compresses under zoom; a gutter that was enough at default type may fail at 200%. That is also a reflow issue; acceptance for this leaf should still include default size and one zoom level.
Applying it
- Every clickable object meets the size floor and keeps a clear gap from the nearest clickable neighbour that will not share a noise cloud.
- Isolate high-consequence neighbours (delete / send / agree) first; colour alone is not isolation.
- Do not excuse an undersized hit area with “plenty of empty space around it”. Empty space repairs mis-hits, not misses.
- How to check: on an icon toolbar, tap adjacent items in sequence with a finger. Stable mis-hits versus stable empty taps tell you whether spacing or size is the missing parameter.
Related
- Same group: J3.04.1 The size floor applies to every clickable control · J3.04.3 Inline links are a common exception and need careful handling
- Nearby: C2.03 Minimum touch target spacing · C2.02 Minimum touch target size · J2.11 Reflow and text resize
- Search terms:
target spacing·adjacent targets·miss vs mis-hit