a11y/viewport

Af content-framework-redaktionen · Opdateret
Tilgængelighed · scope: page · severity: error

Viewport meta exists and does not disable zoom. Reglen a11y/viewport kører i page-scope med severity 'error' og indgår i tilgængelighed-domænet sammen med 7 andre kontrakter i frameworket.

Hvorfor viewport findes

A missing viewport meta breaks mobile rendering; user-scalable=no or a low maximum-scale blocks pinch-zoom, which is a WCAG 1.4.4 failure and a Lighthouse a11y penalty. Gold standard: <meta name="viewport" content="width=device-width, initial-scale=1"> with zoom untouched.

Sådan håndhæves viewport

Reglen viewport evalueres på hver enkelt renderet HTML-side for sig, så et fund altid kan føres tilbage til én konkret side og én konkret rettelse i data eller template. Fejler en side, får agenten en finding, hvor fix-instruktionen for viewport er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på viewport fejler hele verifikationen med exit-kode 1, så hverken CI eller en agent kan skibe sitet før fundet er rettet.

Domænet: tilgængelighed

A11y-domænet håndhæver WCAG 2.2-krav ud over hvad Lighthouse måler: landmarks, tilgængelige navne, ARIA-integritet, zoom-frihed og skip-links. Tilgængelighed og agent-læsbarhed er næsten samme akse — semantisk HTML tjener både skærmlæsere og sprogmodeller. Netop derfor hører viewport hjemme her: kravet kan afgøres maskinelt, og dermed kan det håndhæves i stedet for blot at blive anbefalet.

Test og fixtures

Som alle kontrakter i frameworket har a11y/viewport en mutant-test, der beviser at reglen fejler, når kravet brydes — en regel uden en fejlende test er ikke en regel. Golden-fixturet beviser omvendt, at en fuldt compliant side består viewport sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.

Relaterede regler

Tilbage til oversigten over alle 86 regler.