Touch and pointer target sizing
Make interactive elements large enough for everyone to use.
On this page
Overview
What you need to do
All buttons, links, and interactive elements need to be large enough to easily receive pointer input, whether that’s from a mouse, stylus or finger (touch).
Google recommends that interactive controls have a minimum size of 48 by 48dp (density-independent pixels) for Android apps. Apple recommends 44 by 44pt (points) for iOS apps.
In Android, a density-independent pixel (dp) is the same as a CSS pixel on the web.
In iOS, the point (pt) unit is different from a typographical point (pt) unit, and how it translates to device pixels depends on the device’s resolution. On a standard display, 1pt is the same as 1 pixel. On Retina displays, 1pt is either 2 by 2px or 3 by 3px.
Meeting the Web Accessibility Standard
When the target size of an interactive component is at least 24 by 24 CSS pixels, it meets WCAG 2 Success Criterion 2.5.8 Target Size (Minimum) (Level AA).
When the target size of an interactive component is at least 44 by 44 CSS pixels, it meets WCAG 2 Success Criterion 2.5.5 Target Size (Enhanced) (Level AAA).
Note that the Web Accessibility Standard does not require conformance to Success Criterion 2.5.5 as it is Level AAA.
Why this matters
Small touch or pointer targets are difficult to use for people with motor impairments, tremors, dexterity challenges, or large fingers.
When this applies
When interactive components need proper sizing
- Buttons and controls: All tappable elements including icon buttons
- Form elements: Input fields, checkboxes, radio buttons, toggles
- Interactive images: Clickable photos, thumbnails, image buttons
When interactive components do not need proper sizing
- Inline components: Links or other interactive components within a sentence or a block of text.
Design
Checklist for accessible touch targets
- Use minimum 24p/24pt for all interactive elements, and ideally 44dp/44pt for primary interactive elements.
- Ensure 8dp/8pt spacing between adjacent targets.
- Make the entire tappable area clear to users.
- Avoid clustering small targets together.
- Test designs with thumbs, not just index fingers.
- Consider one-handed phone use scenarios.
Design resources
For web-oriented guidance, read Understanding Success Criterion 2.5.5 Target Size (Enhanced) — WCAG 2 — W3C.
For platform-based design guidance, read:
- iOS: Mobility — Human Interface Guidelines — Apple Developer Documentation
- Android: Touch and pointer target sizes — Material Design 3.
Development
iOS implementation
Techniques and code examples for sizing touch and pointer targets to meet WCAG 2 can be found at Success Criterion 2.5.8 Target Size (Minimum) — Appt.
For complete guides on iOS accessibility from Apple Developer Documentation, read:
Android implementation
For technical documentation on sizing touch and pointer targets, refer to Use large, simple controls — Android Developers.
Techniques and code examples for sizing touch and pointer targets to meet WCAG 2 can be found at Success Criterion 2.5.8 Target Size (Minimum) — Appt.
For a complete guide on Android app accessibility, see Make apps more accessible — Android Developers.
Testing
These steps help you check that all interactive elements are large enough and properly spaced to be activated reliably by all pointer users.
- Try using your app with just your thumb — can you reach all targets easily, especially on larger devices?
- Check tap accuracy — can you hit all targets accurately without multiple attempts.
- Test with people who have motor difficulties — can they navigate without frustration?
- Try using your non-dominant hand — can you navigate the interface?
Automated testing
Use the platform accessibility testing tools to check the size of touch and pointer targets: