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 

When interactive components do not need proper sizing 

Design

Checklist for accessible touch targets 

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:

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.

  1. Try using your app with just your thumb — can you reach all targets easily, especially on larger devices?
  2. Check tap accuracy — can you hit all targets accurately without multiple attempts.
  3. Test with people who have motor difficulties — can they navigate without frustration?
  4. 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: