guidelines

Phone readability guidelines.

46 guidelines in 4 topics, each with what to do, what to avoid and the WCAG 2.2 success criterion it meets.

Four topics.

  • Tap targets and touch

    Thumbs are not mouse pointers. Tap targets, zoom, gestures and the edges of a phone screen.

    Read the 11 guidelines
  • Readable type and words

    Text people can read on a small screen: line length, text size, plain words and headings that say something.

    Read the 11 guidelines
  • Contrast and accessibility

    Contrast, focus, alt text and reflow, so everyone can read and use the page, in sunlight or with a screen reader.

    Read the 12 guidelines
  • Layout and navigation

    A layout that stays the same from page to page: the same menu in the same order, a skip link and a clear mark on the current page.

    Read the 12 guidelines
Every guideline, by topic. A dash means good practice with no WCAG criterion.
GuidelineTopicPriorityWCAG 2.2
Touch targets are at least 44x44 CSS pxTap targets and touchCritical2.5.8
Keep at least 8px between adjacent touch targetsTap targets and touchHigh2.5.8
Put primary mobile actions in the thumb zoneTap targets and touchMedium-
Never disable pinch zoomTap targets and touchCritical1.4.4
Use dvh, not vh, for full-height mobile layoutsTap targets and touchHigh-
Nothing may be reachable only by hoverTap targets and touchHigh-
Set touch-action: manipulation on tappable controlsTap targets and touchLow-
Pad fixed edges with safe-area insetsTap targets and touchMedium-
Every gesture has a single-tap alternativeTap targets and touchHigh2.5.1
Drag-and-drop always ships with a non-drag fallbackTap targets and touchHigh2.5.7
Contain scrolling inside drawers, sheets and modalsTap targets and touchLow-
Front-load the point: conclusion first, details afterReadable type and wordsMedium-
Keep body text 45-75 characters per lineReadable type and wordsMedium-
Write interface copy at a lower-secondary reading levelReadable type and wordsMedium3.1.5
Action labels are verb plus object, never 'OK' or 'Submit'Readable type and wordsMedium-
Error copy is human: no raw codes, no blameReadable type and wordsMedium-
Headings describe their section's content, not the moodReadable type and wordsMedium2.4.6
Use tabular numerals for any column or ticking numberReadable type and wordsLow-
Write dates and times unambiguously, with timezone for eventsReadable type and wordsLow-
Never truncate values users must act onReadable type and wordsMedium-
Reserve all-caps for short labels, and letter-space itReadable type and wordsLow-
Size text in rem so user font-size settings are respectedReadable type and wordsHigh1.4.4
Body text contrast is at least 4.5:1 against its backgroundContrast and accessibilityCritical1.4.3
UI component boundaries and meaningful icons hit 3:1 contrastContrast and accessibilityHigh1.4.11
Every interactive element shows a visible focus indicatorContrast and accessibilityCritical2.4.7
Dialogs trap focus while open, release it on close and close on EscapeContrast and accessibilityCritical2.1.2
Anything clickable is a <button> or <a>, operable by keyboardContrast and accessibilityCritical2.1.1
Every image gets alt text for its function, or empty alt if decorativeContrast and accessibilityHigh1.1.1
Headings form a logical outline: one h1, no skipped levelsContrast and accessibilityMedium1.3.1
Honor prefers-reduced-motion for every animationContrast and accessibilityHigh2.3.3
Icon-only buttons carry an accessible nameContrast and accessibilityHigh4.1.2
Declare the page language and give every page a unique titleContrast and accessibilityMedium3.1.1
In body text, links are distinguishable without colorContrast and accessibilityMedium1.4.1
Content reflows to a 320px viewport with no horizontal scrollingContrast and accessibilityHigh1.4.10
Provide a skip link as the first focusable elementLayout and navigationHigh2.4.1
Mark the current page in the nav both visually and programmaticallyLayout and navigationMedium2.4.8
Keep navigation identical in content and order on every pageLayout and navigationMedium3.2.3
Show breadcrumbs on any hierarchy deeper than two levelsLayout and navigationMedium-
Label each nav landmark when a page has more than oneLayout and navigationMedium1.3.1
Link text must describe the destination on its ownLayout and navigationHigh2.4.4
Never override native scrolling behaviorLayout and navigationMedium-
The mobile menu toggle is a real button with expanded stateLayout and navigationCritical2.1.1
Cap top-level navigation at 5-7 itemsLayout and navigationLow-
Every distinct view gets a URL and a working Back buttonLayout and navigationHigh-
Dropdown menus open on click and forgive imprecise pointersLayout and navigationHigh1.4.13
Offer site search once content outgrows the nav (roughly 50+ pages)Layout and navigationMedium-

See how your website reads on a phone.

Run the free website health check on any site, then keep it easy to read with the Website Health Report each month.