meta-viewport medium
Viewport meta tag disables zoom (user-scalable=no)
A viewport meta tag blocks pinch-to-zoom, locking out low-vision users who need to magnify text.
What you see
[meta-viewport] [user-scalable="no"] is used in the <meta name="viewport"> element or the [maximum-scale] attribute is less than 5 Failing element: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
What’s actually happening
Lighthouse drops your accessibility score and axe flags meta-viewport. On a phone, pinch-to-zoom does nothing on the page — it snaps back to 100%. Anyone who relies on magnifying small text can't, which is exactly the WCAG 1.4.4 (Resize Text) failure the rule is catching.
Common causes
- A copy-pasted boilerplate viewport tag that still carries user-scalable=no, very common in older starter templates and CMS themes
- maximum-scale=1 (or any value under 5) left in to 'stop the layout from breaking' when users zoom
- A developer disabled zoom to suppress the iOS 300ms tap delay or the auto-zoom on focusing a <16px input — both have better fixes now
- A plugin, builder, or AMP-style template injecting its own locked viewport tag that overrides yours
- Trying to fake a 'native app' feel by preventing all scaling
How to fix it
- Strip the scaling restrictions from the tagChange it to exactly <meta name="viewport" content="width=device-width, initial-scale=1">. Delete user-scalable=no and any maximum-scale. That single edit clears the audit and restores pinch-zoom on every mobile browser.
- Find every copy of the taggrep -RIn 'user-scalable\|maximum-scale' your templates/partials. Frameworks often set the viewport in a layout file, an SEO/head plugin, and a theme option simultaneously — the last one wins, so fix all of them or your edit gets overwritten.
- Solve the underlying reason zoom was disabledIf it was the iOS input auto-zoom, give form fields font-size: 16px (or larger) so Safari stops zooming on focus. If it was the legacy tap delay, touch-action: manipulation or a modern viewport already handles it — you don't need to kill zoom.
- Verify on a real device or emulatorReload on an actual phone or Chrome DevTools device mode and confirm pinch-to-zoom works and reaches at least 500% (5x). Re-run Lighthouse to confirm meta-viewport is gone from the report.
Stop it recurring
Keep one canonical viewport tag (width=device-width, initial-scale=1) in your base layout and add a lint/CI check that fails on user-scalable=no.
Related errors