Mobile / touch · M.5
Minimum touch target
A light switch you can find in the dark.
A 44px floor on anything a thumb has to hit, with the spacing rule that lets a smaller control still pass and the in-sentence exemption that lets a link in a paragraph off.
4 knobs
How it actually works
Every rule here is about the box, and every failure here is a box that was never given one. A 15px brand dot, a 30px nav link, a 23px overlay button, an 18px range input: each looked deliberate on a mouse and each was a coin flip under a thumb. The one that is worth internalising is the range input, because a slider is not a tap, it is a drag, and a 15px handle on an 18px rail has to be caught while it is moving.
The hit area is the element's box, not the ink inside it, so the fix is almost always padding or a min-height rather than a bigger glyph. Two published floors and one exemption: WCAG 2.5.5 Target Size (Enhanced, AAA) asks for 44 by 44 CSS px; WCAG 2.5.8 Target Size (Minimum, AA) allows 24 by 24 provided a 24px circle centred on the target does not intersect the circle of any neighbour, which makes SPACING a legitimate substitute for size; and both exempt a target that is inline in a sentence or block of text, because enlarging it would wreck the line box it lives in. A native checkbox is the awkward case: it ignores padding, so a 44px hit area cannot be bolted onto one.
The knobs, named
Target size, spacing, the hit-area overlay, and the in-sentence exemption. Size and spacing are sourced: 44px is named by WCAG 2.5.5 and by the Apple Human Interface Guidelines, and the 24px spacing allowance is named by WCAG 2.5.8. The overlay is ours.
| Knob | Source | What it teaches |
|---|---|---|
| Target size | sourced | 44 is the WCAG 2.5.5 and Apple HIG number. Drag below it and the overlay turns red; drag below 24 and even the spacing allowance cannot save it. |
| Spacing | sourced | WCAG 2.5.8 lets a target under 24px pass if a 24px circle around it touches no neighbour. Spacing is a real substitute for size, and it is the one that fits a dense toolbar. |
| Hit-area overlay | ours | Draws the 44px floor as a dashed box behind each control, plus the 24px spacing circles. The mark inside each button never changes size, so what you are watching is the box move away from the standard. |
| In-sentence exemption | sourced | Both success criteria exempt a link inline in a sentence. On, the paragraph link is marked exempt; off, it is flagged like everything else, which is what a naive checker does and why naive checkers get ignored. |
sourced means the source names this parameter. ours means the source names none and the knob is our design against the mechanism. No knob here is invented and passed off as sourced.
Evidence
VERIFIED (author) + VERIFIED (ours, shipped)
The numbers are published: WCAG 2.1 SC 2.5.5 Target Size (Enhanced, AAA) states 44 by 44 CSS pixels with an exception for a target inline in a sentence or block of text; WCAG 2.2 SC 2.5.8 Target Size (Minimum, AA) states 24 by 24 with the spacing alternative; the Apple Human Interface Guidelines state 44pt. Ours, shipped and measured 2026-07-21: clients/tabblabs/build/qdeneanpeace/styles.css carries min-height: 44px on its inline actions and on .brand, and this playground's own assets/play.css carries the mobile block that took its header link from 15x15, its section nav from 30px tall and its range inputs from 18px tall up to the floor. The failures named in the narrative are our own measurements of our own pages, not an anecdote.
- Seen on
- WCAG 2.1 / 2.2 and the Apple HIG for the numbers; our own qdeneanpeace build and this playground for the failures and the fixes.
- Dependencies
- vanilla CSS
- Difficulty
- easy, and skipped anyway because a mouse never notices
- Performance
- None.
- Accessibility and the floor
- It is an accessibility criterion rather than a technique with an accessibility note. Worth stating plainly: the spacing alternative is a real pass, not a loophole, and the in-sentence exemption exists so that meeting the rule does not force you to wreck a paragraph. Nothing animates.
Notes
Composability. It is the acceptance test for every other control on this site, including this page's own knobs. The thumb-zone bar (M.1) exists to put a target in reach; this is the rule for how big that target has to be once it is there.