
The Touch Target Problem: Why Your App's Buttons Are Too Small to Tap Accurately
You finally ship the first build of your app, hand your phone to a friend, and watch them stab at the screen three times before the "Save" button reacts. Nothing is broken in the code. The button works perfectly. It is just 28 pixels tall, tucked beside a thumb-sized gap that belongs to a different button entirely. Dolfy.ai exists partly because this exact kind of problem is invisible on a laptop screen and painfully obvious in a real hand.
This post explains the touch target problem: why small, crowded tap areas quietly cost you users, what the real numbers are, and how to build them correctly from the start instead of patching them after launch reviews complain.
Key Takeaways
- Apple recommends a minimum tap area of 44 x 44 points and Google's Material Design recommends 48 x 48 dp; most "tiny button" bugs come from ignoring both.
- A touch target is the tappable area, not the visible icon, so you can keep a delicate look and still hit the size requirement.
- Spacing between targets matters as much as size: crowded targets cause mis-taps even when each one is large enough.
- Defining target sizes once as design tokens makes every screen consistent without anyone re-measuring.
What is a touch target, and why does its size matter?
A touch target is the area of the screen that responds when a finger lands on it. On desktop, a mouse pointer is a single pixel wide, so a 16-pixel link is fine. A fingertip, however, covers roughly 8 to 10 millimeters of screen, which is why a control that looks tidy in a design file can feel impossible on a phone.
Small targets hurt in three measurable ways. Users mis-tap and trigger the wrong action, they repeat taps because the first one "didn't work," and they give up on tasks that need precision. Accessibility suffers too: people with motor impairments, tremors, or simply a phone case that changes their grip find undersized targets close to unusable. If you have ever watched someone use an app one-handed on a moving train, you have seen this problem live.

What are the official minimum sizes for tap targets?
The short answer: 44 x 44 points on iOS and 48 x 48 density-independent pixels (dp) on Android. A "point" and a "dp" are both resolution-independent units, meaning they stay the same physical size across screens with different pixel densities, so you do not have to think in raw pixels.
Those two numbers come from Apple's Human Interface Guidelines and Google's Material Design guidance. The web accessibility standard, WCAG 2.2, adds its own thresholds: a 24 x 24 CSS pixel minimum at level AA and a more generous 44 x 44 at the stricter AAA level. If your React Native app also ships a web build through Expo, it is smart to treat 44 as your floor everywhere, since that satisfies every platform at once.
Nothing says the visible element must be that large. A 20-pixel icon button can have invisible padding that expands its tap area to 44 or 48. In React Native this is what the hitSlop prop and padding are for, and it is the cheapest accessibility win in mobile development.
Why do tiny buttons slip through design reviews?
Because design reviews usually happen on a large monitor, at a zoom level nobody holds a phone at. A 32-pixel button looks perfectly generous when you zoom to 200 percent in Figma or Sketch, and nobody measures it again before it is built.
The second cause is that targets are defined screen by screen. One designer pads the back arrow generously, another leaves the "more" menu icon at its natural 24 pixels, and a developer copies a style from an older component. After a few months you have a dozen different tap sizes and no rule that explains why. This is the same drift that creates apps that look like five different apps: without a shared source of truth, every screen makes its own decision.
A third cause is plain optimism. We tend to test with our own fingers, on our own phones, while calm and seated. Real users are walking, holding a coffee, or using a thumb that has to travel across a 6.7-inch screen.

How much space should sit between tap targets?
Aim for at least 8 dp of space between neighboring targets. Size alone does not save you: two 48 dp buttons touching edge to edge will still cause mis-taps, because a thumb lands in a blob, not a point.
Spacing is most dangerous in three spots: rows of icon buttons in a toolbar, destructive actions placed next to safe ones (a "Delete" button beside "Edit"), and list rows that contain both a tappable row and a small inline control. The rule of thumb is that a wrong tap should never be expensive. If hitting the wrong control deletes data or sends a payment, give it extra distance, a confirmation step, or both.
Placement matters too. On large phones the easiest zone to reach with one thumb is the lower middle of the screen, while top corners are the hardest. Put frequent actions where the thumb lives, and keep rarely used or risky ones at the edges.
How can you check touch targets before you ship?
Start with a checklist you can run in ten minutes. Open each key screen on a real phone, not a simulator, and tap every control with your thumb only. Then answer four questions:
- Does every interactive element have at least a 44 x 44 tap area?
- Is there at least 8 dp between adjacent targets?
- Are destructive actions separated from safe ones?
- Can you hit the primary action one-handed without stretching?
You can also automate part of it. Both iOS and Android ship accessibility inspection tools that highlight targets under the recommended size, and linting rules for React Native can flag Pressable components without padding or hitSlop. Treat these as a safety net, not a replacement for the real-phone check, because only a hand tells you how a screen feels.
How does Dolfy approach tap targets in its design process?
Dolfy guides you through a five-step Design OS methodology: Product Definition, Data Model, Design Foundation, Screen Design, and Export. Touch targets live mostly in the Design Foundation step, where you set up your design tokens. A design token is a named value, such as a color, a spacing unit, or a size, that every screen reuses instead of hard-coding its own number.
When the minimum tap size is a token rather than a number someone remembers, every button, list row, and icon control pulls from the same definition. If you later decide that 48 is a better floor than 44, you change one value instead of auditing forty screens. This is the real advantage of a design system, which is simply a shared set of rules and reusable components that keep an app consistent.
During Screen Design, Dolfy generates screens as React Native and Tailwind CSS components with TypeScript types, so the structure you review is the same structure that ships. You can then use the Expo Go and Web Preview options to open the result on an actual phone, which is exactly where touch target problems become visible. The export step produces production-ready components, so the spacing and sizing decisions you tested carry into the real codebase rather than being re-interpreted by hand.
None of this replaces your judgment, and no tool can promise a flawless interface. What a structured workflow does is make the correct size the default, so the tiny-button mistake takes effort to make instead of happening quietly.
What common touch target mistakes should you avoid?
A handful of patterns cause most of the damage:
- Icon-only buttons with no padding. The icon is 20 pixels and the tap area is also 20 pixels. Add padding or
hitSlopso the touchable region reaches 44 or more. - Text links inside paragraphs. A single word as a link is a tiny target. Where possible, turn inline links into proper buttons or give the line generous height.
- Close buttons in the corner. The little "x" on a modal is often 16 pixels wide and placed against the screen edge. Enlarge it and inset it from the corner.
- Checkboxes and toggles. The control may be small, but the whole row should be tappable, not just the box.
- Dense tab bars. Cramming six items into a bottom bar leaves roughly 60 pixels each on a small phone, and labels then collide. Four or five is usually the practical limit.
Each of these is cheap to fix when found early and surprisingly annoying when found through one-star reviews. If you want a deeper dive on navigation specifically, consider how your bottom bar affects which features users can actually reach.
Frequently Asked Questions
Do touch targets have to be visually 44 points wide?
No. Only the tappable area needs to meet the minimum. You can keep a small, elegant icon and extend its hit area with padding or hitSlop in React Native. Users never see the invisible padding; they just notice that the button finally responds on the first tap.
Is 44 or 48 the right number for a cross-platform app?
Use 48 if you want a single safe floor for both iOS and Android, or 44 if your design is iOS-first and you are following Apple's guidance. The difference is small, and either is far better than the 24 to 32 pixels many apps ship with. What matters most is choosing one value and applying it consistently.
Will bigger tap targets make my app look clunky?
Rarely. Because the target is the tappable area rather than the visible shape, you can keep refined visuals. Most apps that feel polished, including the ones you probably use every day, simply have generous padding that you stop noticing because nothing ever mis-taps.
How do I test touch targets without a usability lab?
Hand your phone to three people who did not build the app and ask them to complete one task each while you watch quietly. Note every hesitation, repeated tap, and wrong tap. Three sessions of ten minutes will usually surface the worst offenders.
Fixing the touch target problem before your users find it
Tap targets are one of the few usability issues where the solution is both objective and cheap: a 44 or 48 point minimum, about 8 dp of spacing, and a single token that everyone shares. The hard part is remembering to enforce it on every screen, every sprint. A workflow that bakes those decisions in from the start does that remembering for you.
If you would like a structured way to define your design foundation, generate screens, and preview them on a real device before you commit to code, take a look at Dolfy. Your users' thumbs will thank you.