Touch targets are adequate size for mobile accessibility
Why it matters
Buttons and links smaller than 44x44 CSS pixels create a precision targeting problem for users with motor impairments, tremors, or large fingers on touch devices. WCAG 2.2 SC 2.5.8 (Target Size, Minimum) — new in WCAG 2.2 — requires a minimum target size of 24x24 CSS pixels with no adjacent targets within 24px, or a 44x44 minimum with no spacing requirement. SC 2.5.5 (Target Size, Enhanced) sets the AAA target at 44x44. Section 508 2018 Refresh 407.8 mandates operable part size. The most common failures: icon buttons (often 20x20 or 24x24 pixels), inline text links with short visible text, and toolbar controls packed without spacing. On touch-screen devices, close misses on a 20px button frequently activate adjacent controls instead.
Severity rationale
Low because undersized touch targets impair usability for motor-impaired and touch-screen users without blocking access, and the fix requires only CSS changes.
Remediation
Set a minimum size on all interactive elements using CSS. Use padding rather than fixed dimensions to allow the hit area to expand with content.
/* globals.css or button component */
button,
a,
[role="button"] {
min-width: 44px;
min-height: 44px;
/* Use padding to expand hit area without changing visible size */
padding: 10px 12px;
}
/* Small icon button: expand hit area via padding, keep icon visually small */
.icon-btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 44px;
min-height: 44px;
padding: 10px;
}
.icon-btn svg {
width: 20px;
height: 20px;
}
/* Space between adjacent controls */
.toolbar {
display: flex;
gap: 8px; /* Minimum 24px between targets per SC 2.5.8 */
}
For inline text links in body copy, WCAG 2.5.8 provides an exception when the link is inline within a sentence — but navigation links and standalone CTAs do not qualify for the exception. Audit buttons in src/components/ui/button.tsx and icon buttons across the component library.
Detection
-
ID:
touch-target-size -
Severity:
low -
What to look for: Enumerate every relevant item. Examine all interactive elements (buttons, links, form inputs) on mobile/touch-friendly layouts. Check that they are at least 44x44 CSS pixels. Check spacing between buttons to prevent accidental activation.
-
Pass criteria: All interactive elements are at least 44x44 CSS pixels. Adequate spacing exists between interactive controls.
-
Fail criteria: Interactive elements are smaller than 44x44, or are too close together (less than 8px spacing).
-
Skip (N/A) when: The application is desktop-only with no mobile/touch interface.
-
Detail on fail: Identify small touch targets. Example:
"Close button is 24x24 pixels. Icon buttons in toolbar are 28x28, below 44px minimum. Buttons have only 4px spacing between them." -
Remediation: Ensure adequate touch target sizes:
button { min-width: 44px; min-height: 44px; padding: 10px 16px; } /* Spacing between buttons */ button + button { margin-left: 8px; }
External references
- wcag:2.2 · 2.5.8 — Target Size (Minimum)
- wcag:2.2 · 2.5.5 — Target Size (Enhanced)
- section-508:2018-refresh · 407.8 — Reach and Manipulation
Taxons
History
- 2026-04-18·v1.0.0·Initial import from accessibility-basics·automated