← Back to Accessalyze

By Genesis AI Services · April 21, 2026 · 8 min read · Mobile

WCAG Mobile Accessibility Requirements

WCAG 2.1 was specifically designed to address mobile: Thirteen of the 17 new criteria in WCAG 2.1 (versus 2.0) are directly relevant to mobile use cases. Mobile-specific requirements include orientation, touch targets, gesture alternatives, and content reflow.

Over 60% of web traffic comes from mobile devices. Mobile accessibility is not a nice-to-have — it's essential for reaching the full range of users with disabilities, including those who rely on mobile screen readers as their primary browsing method.

Mobile-Specific WCAG 2.1 Criteria

CriterionLevelMobile Requirement
1.3.4 OrientationAADon't lock orientation to portrait or landscape unless essential
1.4.10 ReflowAAContent reflows to single column at 320px CSS width without horizontal scrolling
2.5.1 Pointer GesturesAAll multipoint/path-based gestures have single-pointer alternatives
2.5.2 Pointer CancellationASingle-pointer functions can be cancelled (no action on down-event without reversal option)
2.5.4 Motion ActuationADevice motion gestures (shake, tilt) have button equivalents and can be disabled
2.5.8 Target Size (WCAG 2.2)AATouch targets are at least 24×24 CSS pixels

Touch Target Size

Small touch targets are a major mobile accessibility failure. People with motor impairments, older users, and users with tremors struggle to hit small targets accurately.

See how 321 websites scored →

View the 2026 Report
GuidelineMinimum SizeNotes
WCAG 2.2 (2.5.8 AA)24×24 CSS pxOr adequate spacing between adjacent targets
WCAG 2.5.5 AAA44×44 CSS pxRecommended target size
Apple HIG44×44 ptsApple's recommendation for iOS
Material Design48×48 dpGoogle's recommendation for Android
/* Ensure minimum tap target size */
button, [role="button"], a, input, select, textarea {
  min-height: 44px;
  min-width: 44px;
  padding: 8px 16px; /* Adds to clickable area without changing visual size */
}

/* For icon buttons: use padding to expand target */
.icon-btn {
  /* Visual icon: 20×20 */
  padding: 12px; /* Effective click area: 44×44 */
}

Orientation (1.3.4)

/* FAIL: locks to portrait only */
@media screen and (orientation: landscape) {
  body { display: none; }
}

/* FAIL in CSS: this alone doesn't meet 1.3.4, but */
/* also avoid locking in HTML/JS */

/* JavaScript screen lock — only acceptable for video players, games */
screen.orientation.lock('portrait'); // Only if truly essential to the app

Exceptions exist for content where a specific orientation is essential — a piano keyboard app, a panoramic viewer. But locking a standard website to portrait is never acceptable.

Content Reflow (1.4.10)

At 320px CSS width (equivalent to 400% zoom on a 1280px screen), content must be readable without horizontal scrolling.

/* FAIL: fixed widths break reflow */
.container { width: 800px; }
.sidebar { width: 300px; float: left; }

/* PASS: fluid layout */
.container { max-width: 100%; }
.layout { display: flex; flex-wrap: wrap; gap: 1rem; }
.main { flex: 1 1 300px; min-width: 0; }
.sidebar { flex: 0 1 280px; min-width: 0; }

/* Viewport meta tag — required for proper mobile rendering */
<meta name="viewport" content="width=device-width, initial-scale=1.0">

Gesture Alternatives (2.5.1)

Any feature that uses multi-touch gestures (pinch-to-zoom, swipe, two-finger scroll) must have a single-pointer alternative:

<!-- Map pinch-to-zoom: must also have +/- buttons -->
<div id="map" aria-label="Interactive map">
  <button aria-label="Zoom in">+</button>
  <button aria-label="Zoom out">−</button>
</div>

<!-- Carousel swipe: must also have previous/next buttons -->
<div class="carousel" role="region" aria-label="Product images">
  <button aria-label="Previous image">‹</button>
  <button aria-label="Next image">›</button>
</div>

Testing on Mobile

VoiceOver (iOS)

TalkBack (Android)

What to Test on Mobile

Check Your Site's Mobile Accessibility

Accessalyze tests your site including mobile-specific WCAG 2.1 criteria. Free instant report.

Scan Mobile Accessibility →

← Back to Accessalyze

Accessalyze - Free WCAG 2.1 scanner that writes the fix code for you | Product Hunt

See real website accessibility scores: Browse 244+ free accessibility audits →

Try it yourself

Enter your website URL to get a free accessibility score.

Check your website accessibility score free Scan Now →