Skip to content

Touch Targets

DodaTech 3 min read

title: "Touch Targets — SC 2.5.5 and 2.5.8" weight: 12 description: "Learn WCAG touch target requirements: SC 2.5.5 Target Size recommends 44x44px minimum, and SC 2.5.8 Target Size Enhanced requires 24x24px with spacing for accessible touch interaction." date: 2026-06-28 lastmod: 2026-06-28 tags: [accessibility, mobile]


WCAG touch target requirements ensure interactive elements are large enough to tap accurately: SC 2.5.5 Target Size recommends 44 by 44 CSS pixels minimum for pointers, and SC 2.5.8 Target Size Enhanced requires 24 by 24 with adequate spacing.

## What You'll Learn

You will understand touch target requirements, measure target sizes, ensure adequate spacing between targets, and design mobile interfaces that are easy to tap.

## Why It Matters

Small touch targets cause frustration and errors, especially for users with motor disabilities, users with large fingers, or users in motion. A target that is too small may be impossible to activate accurately.

## Real-World Use

A mobile site has close buttons that are 20x20px. Users repeatedly tap the wrong adjacent element. After increasing the target to 48x48px and adding 8px spacing, error rates drop by 60 percent.

## Touch Target Sizing

```mermaid
flowchart TD
  A[Interactive Element] --> B{Size >= 44px?}
  B -->|Yes| C{Spacing adequate?}
  B -->|No| D[Resize or add spacing]
  C -->|Yes| E[Passes SC 2.5.5]
  C -->|No| F[Add spacing]
  D --> G[Recheck]
  F --> G

Implementing Touch Targets

Ensure all interactive elements have adequate size and spacing.

<!-- Good: 48px touch target -->
<button class="mobile-btn" style="min-width:48px; min-height:48px;">
  Confirm
</button>

<!-- Bad: 24px touch target -->
<button class="mobile-btn" style="min-width:24px; min-height:24px;">
  X
</button>

<!-- Good: small icon with padding for touch -->
<button aria-label="Close" style="padding: 12px;">
  <svg width="24" height="24"><path d="..."/></svg>
</button>
/* Touch target sizing */
.touch-target {
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
}

/* Spacing between targets */
.button-group {
  display: flex;
  gap: 16px; /* Minimum spacing */
}

.nav-links a {
  display: inline-block;
  padding: 8px 12px;
}

/* Inline links need special treatment */
.text-link {
  display: inline-block;
  padding: 8px 0;
  line-height: 1.8; /* Increases tap area */
}
// Touch target audit function
function auditTouchTargets() {
  const targets = document.querySelectorAll(
    'button, a, input, select, textarea, [role="button"], [tabindex]'
  );

  const issues = [];

  targets.forEach(el => {
    const rect = el.getBoundingClientRect();
    const style = window.getComputedStyle(el);

    if (rect.width < 44 || rect.height < 44) {
      // Check if padding makes it accessible
      const padding = parseFloat(style.paddingTop) * 2;
      const effectiveHeight = rect.height + padding;

      if (effectiveHeight < 44) {
        issues.push({
          element: el.tagName,
          text: el.textContent.trim().slice(0, 20),
          size: `${Math.round(rect.width)}x${Math.round(rect.height)}`,
          issue: 'Touch target too small'
        });
      }
    }
  });

  return issues;
}

Common Mistakes

  • Making touch targets smaller than 44x44px
  • Placing targets too close together without spacing
  • Using padding instead of min-width/min-height
  • Ignoring inline links that are hard to tap on mobile
  • Making icon buttons with no padding
  • Not considering finger size differences
  • Assuming desktop click targets work on mobile

Practice and Challenge

Practice 1: Measure touch targets on your mobile site. Practice 2: Find a target smaller than 44px and identify the fix. Practice 3: Check spacing between adjacent targets. Practice 4: Test icon buttons for touch accessibility. Practice 5: Verify inline links have adequate tap area.

Challenge: Create a touch target audit tool that scans a mobile page, measures all interactive elements, checks sizes against the 44x44px recommendation, checks spacing between adjacent targets, and generates a report with failed elements and fix suggestions.

FAQ

What is the minimum touch target size?

WCAG SC 2.5.5 recommends 44x44px. SC 2.5.8 requires 24x24px with sufficient spacing.

Does SC 2.5.5 apply to all devices?

Yes, but it is especially important for mobile touch interfaces.

What counts as adequate spacing?

At least 4px between targets is recommended. More spacing is better.

Do inline links need 44x44px?

Inline links within text are exempt, but consider adding padding for better usability.

Does padding count toward target size?

Yes. The visible element plus padding is the effective touch target.

What about targets that resize on zoom?

Targets should maintain minimum size at 200 percent zoom.

Mini Project

Create a mobile touch target testing page with 10 different interactive elements (buttons, links, icon buttons, form inputs, tabs). Test each on a real mobile device and document which pass and fail the 44x44px recommendation. Propose fixes for failing elements.

What's Next

Gesture Accessibility covers making gestures accessible on mobile.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro