Skip to content
WCAG 1.4.4 Resize Text

How to fix: Do not block zoom

The viewport meta tag must not disable pinch-to-zoom or cap the scale. People with low vision rely on zooming text to read it.

The fix

Do not disable zoom: remove user-scalable=no and maximum-scale limits from the viewport meta tag.

Who this affects

Someone with low vision reading on a phone pinches to enlarge the text. Where the browser still honours the tag, user-scalable=no kills the gesture outright, and a maximum-scale below 2 lets it run out early, short of the 200% zoom that 1.4.4 requires. Current iOS Safari ignores both restrictions, and Chrome on Android ignores them when Force enable zoom is switched on in accessibility settings, so the people left stuck are the ones who have never found that setting.

Before and after

Fails
<meta name="viewport" content="width=device-width, user-scalable=no">
Passes
<meta name="viewport" content="width=device-width, initial-scale=1">

Where this usually comes from

  • A viewport line copied from an old tutorial, starter template or theme boilerplate and never questioned.
  • Zoom disabled to stop iOS Safari zooming in when a form field is focused, rather than setting the input font size to 16px.
  • A web view or hybrid app shell where scaling was turned off to make the page feel more like a native screen.
  • A CMS or framework default: the theme header prints the tag and the application layout never overrides it.
  • A map, canvas or drag-and-drop screen where pinch was blocked to protect a custom gesture, applied to the whole document.

Checking it yourself

Read the tag first: document.querySelector('meta[name=viewport]').content in the console, then look for user-scalable=no or a maximum-scale under 2. Then try to pinch-zoom on a real phone, or in Chrome DevTools device mode where pinch is simulated by holding Shift and dragging vertically. Desktop browser zoom with Ctrl and plus will not reproduce it, because the viewport tag has no effect there.

A scanner finds this one automatically. What it cannot judge, and how the score is built, is on how we test.

Related fixes

Check your site for this issue

Scan any page free against WCAG 2.2 AA and get every automatically detected issue with its fix.

Scanning a page needs no account. The checks run on axe-core.

← All fix guides