# Responsive markup

> Responsive markup: Agent browsers mostly run at mobile scale. The fix: add responsive markup. The page gives a command to reproduce the measurement.

- Source: /checks/viewport
- Site: AgenticWebScore
- Language: English

---
Agent browsers mostly run at mobile scale.

| Property | Value |
| --- | --- |
| Check id | `viewport` |
| Dimension | Content Accessibility (22%) |
| Tier | Emerging — pool 5 pts |
| Weight inside tier | 1 |
| Impact | Low |
| Maturity | Adopted — A ratified standard with real deployment. |
| Conditional | No |
| Publishing skill | `responsive-markup` |
| Standards | — |

## What is measured

The scanner reads the `<meta name="viewport">` tag of the homepage `/`. Pass when its `content` contains `width=device-width` and does not restrict zoom (no `maximum-scale=1`, no `user-scalable=no`); partial when the tag exists but omits `width=device-width`, or pins `maximum-scale` or `user-scalable=no`; fail when no viewport tag is present, so an agent browser at mobile scale renders the desktop layout zoomed out.

## Reproduce it yourself

You do not have to take our word for any of this. Run the same measurement against your own domain:

```bash
DOMAIN="https://example.com"
curl -sL "$DOMAIN/" | perl -0777 -ne 'm{<meta[^>]*\bname=["\x27]?viewport["\x27]?[^>]*>}i and print "viewport: ", $&, "\n"; while (m/\@media[^{]*max-width[^{]*/gi) { print "media: ", $&, "\n" }' | head -4
```

## The fix

This is the artifact to ship. It is the complete change, not a description of one.

```html
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <style>
    img, video { max-width: 100%; height: auto; }
    .grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
    @media (max-width: 640px) {
      .sidebar { display: none; }
      h1 { font-size: 1.75rem; }
    }
  </style>
</head>
```

> Never add `maximum-scale=1` or `user-scalable=no`: pinning the scale scores as a partial even when the rest of the tag is correct.

## Related checks

| Check | Tier | Impact | Same skill |
| --- | --- | --- | --- |
| `markdown-negotiation` — Markdown content negotiation | Recommended | Critical | — |
| `headings` — Semantic heading structure | Essential | High | — |
| `meta` — Title and summary metadata | Essential | High | — |
| `jsonld` — JSON-LD structured data | Essential | Critical | — |
| `faq-schema` — FAQ / question-answer schema | Recommended | High | — |
| `breadcrumb` — Breadcrumb / navigation schema | Emerging | Low | — |
| `summary` — Prominent summary block | Recommended | Medium | — |
| `lang` — Language declaration and multilingual access | Recommended | Medium | — |
