Zooming and Scaling Must Not Be Disabled: How to Fix the Viewport
- December 6, 2023
- Accessibility, Mobile and Viewport

Your audit found a viewport meta tag that stops people from pinch-zooming your page — the user-scalable=no or maximum-scale=1 trick that locks the layout at one size. This is the axe-core meta-viewport rule, mapped to WCAG 1.4.4 (Resize Text) and 1.4.10 (Reflow). Disabling zoom means anyone who needs bigger text to read your page simply can't get it — you've taken away the one accessibility feature every phone ships with by default.
What the check flags
It fires on a <meta name="viewport"> tag that contains user-scalable=no, user-scalable=0, or a maximum-scale below 2. Any of those caps how far a user can enlarge the page. It usually gets added by a developer trying to stop an accidental double-tap zoom or to make a web app "feel native" — and it quietly breaks readability for people with low vision.
A real failing example and the fix
<!-- FAILS: zoom disabled outright -->
<meta name="viewport"
content="width=device-width, initial-scale=1, user-scalable=no">
<!-- FAILS: maximum-scale caps zoom at 1x -->
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"><!-- FIXED: let users zoom -->
<meta name="viewport"
content="width=device-width, initial-scale=1">
<!-- FIXED: if you must set a max, keep it 5 -->
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=5">The clean answer is to just drop user-scalable and maximum-scale entirely. width=device-width, initial-scale=1 is all a responsive page needs — the browser handles zoom from there.
Viewport directives and their effect
| Directive in the tag | Effect | Passes the check? |
|---|---|---|
user-scalable=no | Blocks all pinch-zoom | Fails |
user-scalable=0 | Same as no | Fails |
maximum-scale=1 | Caps zoom at 1x — no enlarging | Fails |
maximum-scale=2 or higher | Allows meaningful zoom | Passes |
minimum-scale=1 | Doesn't restrict enlarging | Passes (but see the sibling check) |
| No scale directives at all | Full user control | Passes |
Why it matters for accessibility and SEO
Pinch-to-zoom is often the only way a low-vision user can read on a phone — bigger than the OS text setting reaches, right where their thumb is. Lock it and you've told a real slice of your audience the page isn't for them. WCAG requires text to scale to at least 200% without loss of content, and a zoom-blocking viewport makes that impossible.
For SEO, this lives squarely in mobile usability. Google indexes mobile-first, and a page that fights the user on a phone bleeds engagement — short sessions, fast bounces, return-to-SERP. None of those are things you want the algorithm to see. The fix is trivial and the downside of leaving it broken is pure loss.
It's also one of the cheapest audit items you'll ever close. Unlike a contrast overhaul or relabeling every form on the site, killing a zoom-blocking viewport is a one-line edit in a single template that fixes the issue everywhere at once. There's no design trade-off to negotiate and no content to rewrite — you delete two directives and ship. When you're triaging an accessibility backlog, this is the sort of high-impact, near-zero-effort win to knock out first, before the bigger structural fixes.
How to detect it on your own site
- axe DevTools — scan and filter for
meta-viewport; it flags the tag and quotes the offending directive. - Lighthouse — "[user-scalable=no] is used in the <meta name=viewport>" surfaces in the Accessibility audit.
- View source — search the HTML head for
viewportand read thecontentstring directly. - Real device test — open the page on a phone and try to pinch-zoom. If it won't budge, the tag is blocking it.
- WAVE — reports a viewport scaling alert when zoom is suppressed.
How to fix it
- Find the
<meta name="viewport">tag — usually in your theme header or base template. - Remove
user-scalable=no/user-scalable=0and anymaximum-scaleunder 2. - Leave it as
content="width=device-width, initial-scale=1"— that's the responsive baseline. - If a plugin or framework injects the tag, find its setting or filter rather than editing generated output that'll get overwritten.
- If you added it to kill double-tap zoom, solve that with
touch-action: manipulationin CSS instead of banning zoom. - Re-run axe or Lighthouse and confirm the viewport violation is gone.
FAQ
Why did a developer disable zoom in the first place?
Usually to make a web app feel native, or to stop the double-tap zoom that can misfire on buttons. Both goals have better fixes — touch-action: manipulation handles the double-tap without stripping zoom from everyone.
Will removing user-scalable=no break my layout?
No. A properly responsive layout reflows fine when a user zooms; if zooming breaks it, that's a separate reflow bug worth fixing anyway. Blocking zoom just hides it.
Is maximum-scale=2 enough?
It passes the check because it still allows meaningful enlargement, but there's rarely a reason to cap it at all. Dropping the directive entirely (letting users reach 5x) is the friendlier choice.
Does iOS ignore this tag anyway?
Recent Safari versions do override user-scalable=no to protect users, but Android and older devices still honour it — and you shouldn't rely on the browser to undo an accessibility mistake you shipped.
Is this the same as the minimum-scale check?
They're siblings. This rule targets blocked or capped maximum zoom; viewport minimum-scale set covers a related misconfiguration on the other end.
Related checks
See the closely related viewport meta tag prevents user scaling and content exceeds viewport. For the wider mobile picture: tap targets too small and close together and the accessibility and SEO overview.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







