Do not disable pinch zoom
SkillDocs & knowledgeviewport-zoom is a skill for AI agents that inspects the viewport meta tag in HTML documents. It flags content attributes that block pinch-to-zoom on mobile devices, such as user-scalable=no or maximum-scale values below 2. This is a common mistake in mobile-first templates and CSS frameworks.
Use Do not disable pinch zoom in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Do not disable pinch zoom and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Do not disable pinch zoom skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have an AI agent that can load and use skills.
What your AI can do with it
- Detects user-scalable=no and user-scalable=0 in viewport meta tags
- Flags maximum-scale=1 and maximum-scale values less than 2
- Applies to any <meta name='viewport'> element in HTML documents
- Catches a common mistake in mobile-first templates and CSS frameworks
Getting started
- Have an AI agent that can load and use skills.
- Add the viewport-zoom skill to the agent's available skills.
- Provide the HTML document or page to check.
- Ask the agent to inspect the viewport meta tag for zoom-blocking attributes.
What this skill tells your AI
The instructions your AI receives, as published by thedaviddias/front-end-checklist in skills/viewport-zoom/SKILL.md and read by ahel’s review.
Pinch-to-zoom is an essential accessibility feature for low-vision users who cannot read text at the page's default size. When zoom is disabled, these users cannot enlarge text or images, making the page completely inaccessible without external magnification software. Low-vision users who rely on browser zoom are entirely blocked. Additionally, all users benefit from being able to zoom in on small text, fine-print, or complex images. Disabling zoom is one of the most harmful and easily preventable accessibility failures.
Quick Reference
- Never use
user-scalable=nooruser-scalable=0in the viewport meta tag - Never set
maximum-scale=1(or any value below 5) in the viewport meta tag - Both prevent pinch-to-zoom, violating WCAG 2.1 SC 1.4.4 (Resize Text, Level AA)
- The correct viewport meta tag is:
<meta name='viewport' content='width=device-width, initial-scale=1'> - Note: iOS 10+ ignores
user-scalable=noin Safari, but other browsers and older iOS do not
Check
Find the <meta name='viewport'> element in the HTML <head>. Check its content attribute for: (1) user-scalable=no — disables all zoom; (2) user-scalable=0 — same effect; (3) maximum-scale=1 or maximum-scale=1.0 — limits zoom to the initial scale; (4) any maximum-scale value below 2 — significantly limits zoom range. Flag any of these. Also check CSS for touch-action: none or user-zoom: fixed (CSS Device Adaptation, rarely used) that may limit zoom.
Fix
Remove user-scalable=no and maximum-scale=1 from the viewport meta tag. The correct viewport meta tag for a responsive site is: <meta name='viewport' content='width=device-width, initial-scale=1'>. If maximum-scale was set for a specific reason (e.g., to prevent unintended zoom on input focus on iOS), the correct fix is to set form input font-size: 1rem (16px) instead — iOS Safari only auto-zooms on input focus when font-size is below 16px.
Explain
WCAG 2.1 SC 1.4.4 (Resize Text, Level AA) requires that text can be resized up to 200% without loss of content or functionality, except for captions and images of text. On mobile devices, pinch-to-zoom and the browser's built-in text size settings are the primary mechanisms for resizing text. Setting user-scalable=no or maximum-scale=1 in the viewport meta tag disables pinch-to-zoom entirely (or limits it to 1x), preventing low-vision users from enlarging content. This is a direct violation of SC 1.4.4. While iOS 10+ Safari ignores these settings, Android browsers, Chrome for iOS, and older iOS versions do not — so the setting must be removed regardless.
Code Review
Review stylesheets, component styles, and responsive states related to Do not disable pinch zoom. Flag exact selectors, declarations, or breakpoints that violate the rule in the rendered UI.
For full implementation details, code examples, and framework-specific guidance,
see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/accessibility/viewport-zoom
Signals
- GitHub stars
- 74k
- Forks
- 7k
- Last commit
- Oct 2026
Questions
- What does viewport-zoom check for?
- It checks the content attribute of any <meta name='viewport'> element for user-scalable=no, user-scalable=0, maximum-scale=1, or maximum-scale values less than 2.
- Why is blocking pinch-to-zoom a problem?
- The skill flags viewport settings that block pinch-to-zoom on mobile devices, which the description identifies as a common mistake in mobile-first templates and CSS frameworks.
- Does it work on any HTML document?
- Yes, it applies to any <meta name='viewport'> element in HTML documents.
Advanced
- Item type
- skill
- Key
viewport-zoom- Source
- github.com/thedaviddias/front-end-checklist
github.com/thedaviddias/front-end-checklist
More in Docs & knowledge
Skill · mattpocock
More in Docs & knowledgecanvas-design
Skill · anthropics
More in Docs & knowledgedoc-coauthoring
Skill · anthropics
More in Docs & knowledgewriting-for-agents
Skill · mattpocock
More in Docs & knowledgespec-driven-development
Skill · addyosmani
More in Docs & knowledgedefuddle
Skill · kepano
More in Docs & knowledge