Imagine trying to thread a needle while wearing thick winter gloves, or attempting to pick up a grain of rice with chopsticks while your hands are shaking. This frustrating experience of trying to interact with something too small for your current capabilities is exactly what many users face when websites have tiny buttons and links that are difficult to tap accurately.
Target size refers to the minimum dimensions that interactive elements like buttons, links, and form controls should have to be easily tappable on mobile devices. When targets are properly sized, users can tap them confidently without accidentally hitting the wrong element or struggling to activate the intended action.
Properly sized touch targets benefit a wide range of users and situations:
Small touch targets create a "precision tax"—they force users to slow down, concentrate harder, and often retry interactions. This tax is particularly costly for users with disabilities, but it creates unnecessary friction for everyone.
<!-- Problematic: Tiny targets that are hard to tap -->
<button style="width: 20px; height: 20px; font-size: 10px;">×</button>
<a href="/link" style="font-size: 12px; padding: 2px;">Small link</a>
<!-- Better: Minimum 44x44px targets -->
<button style="min-width: 44px; min-height: 44px; font-size: 16px; padding: 8px;">×</button>
<a href="/link" style="font-size: 16px; padding: 12px 16px; display: inline-block;">Readable link</a>
<!-- Problematic: Targets too close together -->
<div class="button-group">
<button>Save</button><button>Cancel</button><button>Delete</button>
</div>
<!-- Better: Adequate spacing between targets -->
<div class="button-group">
<button style="margin-right: 8px;">Save</button>
<button style="margin-right: 8px;">Cancel</button>
<button>Delete</button>
</div>
/* CSS for proper spacing */
.button-group button {
min-height: 44px;
padding: 12px 16px;
margin-right: 8px;
margin-bottom: 8px;
}
<!-- Problematic: Icon button too small -->
<button class="icon-button">
<i class="icon-heart" style="font-size: 16px;"></i>
</button>
<!-- Better: Icon button with proper target area -->
<button class="icon-button" style="min-width: 44px; min-height: 44px; padding: 12px;">
<i class="icon-heart" style="font-size: 20px;"></i>
<span class="visually-hidden">Add to favorites</span>
</button>
Use established minimum dimensions for all interactive elements.
/* Recommended minimum target sizes */
button, .button, input[type="button"], input[type="submit"] {
min-height: 44px;
min-width: 44px;
padding: 12px 16px;
}
/* Links in content */
a {
min-height: 44px;
padding: 8px 4px;
display: inline-block;
}
/* Form controls */
input, select, textarea {
min-height: 44px;
padding: 12px;
}
/* Checkbox and radio buttons */
input[type="checkbox"], input[type="radio"] {
width: 20px;
height: 20px;
margin: 12px; /* Creates 44px total target area */
}
Ensure interactive elements have enough space between them to prevent accidental taps.
/* Spacing between interactive elements */
.button-group button {
margin: 4px;
}
.navigation-menu li {
margin-bottom: 8px;
}
.form-group {
margin-bottom: 16px;
}
/* Card with multiple interactive elements */
.card {
padding: 16px;
}
.card .action-buttons {
margin-top: 12px;
}
.card .action-buttons button {
margin-right: 12px;
margin-bottom: 8px;
}
Adjust target sizes appropriately for different screen sizes while maintaining minimums.
/* Responsive target sizing */
.primary-button {
min-height: 44px;
padding: 12px 24px;
font-size: 16px;
}
/* Larger targets on smaller screens */
@media (max-width: 480px) {
.primary-button {
min-height: 48px;
padding: 16px 24px;
font-size: 18px;
}
.navigation-menu a {
min-height: 48px;
padding: 16px 20px;
}
}
/* Slightly smaller (but still accessible) on larger screens */
@media (min-width: 1024px) {
.secondary-button {
min-height: 40px;
padding: 10px 16px;
}
}
For interfaces with many interactive elements, maintain target sizes while optimizing layout.
/* Data tables with action buttons */
.data-table .action-cell {
padding: 8px;
white-space: nowrap;
}
.data-table .action-button {
min-width: 36px;
min-height: 36px;
padding: 6px;
margin: 2px;
font-size: 14px;
}
/* Toolbar with many tools */
.toolbar {
display: flex;
flex-wrap: wrap;
gap: 4px;
padding: 8px;
}
.toolbar-button {
min-width: 40px;
min-height: 40px;
padding: 8px;
border: 1px solid #ccc;
background: #f5f5f5;
}
/* Mobile-first approach for dense interfaces */
@media (max-width: 768px) {
.toolbar-button {
min-width: 44px;
min-height: 44px;
margin: 2px;
}
}
Regular testing ensures your interactive elements are easy to tap for all users:
/* Main call-to-action buttons */
.cta-button {
min-height: 48px;
min-width: 120px;
padding: 16px 32px;
font-size: 18px;
font-weight: 600;
}
/* Navigation menu items */
.nav-link {
min-height: 44px;
padding: 12px 16px;
display: block;
}
/* Breadcrumb links */
.breadcrumb a {
min-height: 44px;
padding: 8px 12px;
display: inline-block;
}
/* Text inputs and dropdowns */
input[type="text"], input[type="email"], select {
min-height: 44px;
padding: 12px 16px;
font-size: 16px;
}
/* Submit buttons */
input[type="submit"], button[type="submit"] {
min-height: 44px;
min-width: 100px;
padding: 12px 24px;
}
Adequate target sizes deliver measurable business advantages:
Creating beautiful designs with accessible target sizes requires thoughtful approaches:
Target size is about respect—respecting your users' time, abilities, and goals by making every interaction as easy and reliable as possible. When buttons and links are properly sized, users can focus on what they want to accomplish rather than struggling with the mechanics of tapping accurately.
The investment in proper target sizing pays dividends across your entire user base. While it's essential for users with motor disabilities, generous target sizes benefit everyone by reducing errors, speeding up interactions, and creating more confident user experiences.
Remember that good target sizing isn't about making everything huge—it's about ensuring that every interactive element can be activated successfully by users with varying abilities and in different situations. This thoughtful approach to design creates websites that truly work for everyone.
Greadme's tools can analyze your interactive elements and identify buttons and links that may be too small for easy mobile interaction.
Check Your Website's Target Sizes Today