Category
Plugin version
1.1.0-beta.29

Viewport

Ensures visitors can pinch/zoom on mobile—critical for low vision and general readability.

What it is

The viewport <meta> controls mobile layout. Bad values (e.g. disabling zoom) block magnification and fail common accessibility expectations.

Why it matters

  • Low vision: Up to ~500% zoom is a common real-world need
  • Everyone: Sharper text on small screens
  • WCAG: Aligns with 1.4.4 (resize) and 1.4.10 (reflow) when combined with responsive CSS
  • Responsive: device-width pairs with fluid layouts

WCAG notes

  • 1.4.4 Resize text: users must be able to scale to ~200%
  • 1.4.10 Reflow: at ~400% width, content should reflow without two-dimensional scroll (layout-dependent)

Properties the plugin can fix

  • width=device-width: match device width (recommended)
  • user-scalable=yes: allow zoom
  • initial-scale=1: 100% baseline
  • maximum-scale: if present, should not cap below 5.0; removing it is usually best

Settings

Enable viewport correction:

  • Global toggle
  • Finds the viewport tag in output and normalizes it

Property controls:

  • Ensure width=device-width
  • Ensure user-scalable=yes (strip or override user-scalable=no)
  • Ensure initial-scale=1

Maximum zoom:

  • Adjust or remove maximum-scale
  • Removing the cap allows unlimited zoom (often the best WCAG posture)
  • If you keep a cap, use at least 5.0

JavaScript fallback (experimental):

  • If the theme omits viewport or prints it in an odd place, JS may inject one—less reliable than server-side fixes

Built-in viewport check

The responsive viewport check retrieves the public home page and evaluates the detected configuration in five clear checks:

  • Device width (width=device-width)
  • Initial scale
  • Whether zooming is allowed
  • Maximum zoom
  • Number of viewport tags

A summary classifies the result as correct, in need of improvement, or problematic. Where possible, the recommended values can be selected directly in the settings. Save the settings afterwards to apply them to the website.

Open Show technical details when you need the checked URL and the complete viewport tags that were found. The checker uses a layout-matched loading state and distinguishes connection or analysis errors from configuration findings. Its layout adapts to phone, tablet, and desktop widths.

Open Help for a compact guide to safe viewport configuration. On phones it appears as a downward-swipe-dismissible bottom sheet; on larger screens it uses a dialog. It explains the recommended values, how the check works, when to use the JavaScript fallback, required cache steps, and WCAG criteria 1.4.4 and 1.4.10.

Examples

Example 1: Strong default

Enable width, user-scalable, initial-scale; remove maximum-scale entirely for unrestricted zoom.

Example 2: If you must cap zoom

Set maximum-scale to at least 5.0. Uncapped is still preferable.

Example 3: Theme has no tag

Try the JS fallback only after confirming the theme cannot add viewport in PHP; retest on real devices.

Tips

  • Use the built-in check after theme changes
  • Prefer removing maximum-scale
  • Avoid user-scalable=no
  • After changes, purge WordPress/server/CDN/browser caches—viewport is often cached aggressively
  • Test zoom on iOS and Android browsers
  • Treat JS fallback as last resort

Common issues

Viewport tag not found

Confirm the theme prints <meta name="viewport">. If not, add it in the theme or enable the fallback.

Changes not visible

Clear caches; stale HTML head is a frequent cause.

Technical notes

  • Server-side filter adjusts the first viewport meta in <head>
  • If multiple tags exist, only the first is normalized
  • JS injection is best-effort
  • 1.4.4 / 1.4.10 also depend on CSS (reflow, breakpoints)—not viewport alone

Available for: All plans Free

Focused reading view

Reading mode