a11y/aria-integrity
ARIA references resolve and aria-hidden hides no focusables. Reglen a11y/aria-integrity kører i page-scope med severity 'error' og indgår i tilgængelighed-domænet sammen med 7 andre kontrakter i frameworket.
Hvorfor aria-integrity findes
A dangling aria-labelledby/aria-describedby produces a silent empty name; aria-hidden="true" around focusable elements creates a focus black hole — keyboard focus lands where screen readers see nothing. Both are invisible in visual QA and break assistive tech completely.
Sådan håndhæves aria-integrity
Reglen aria-integrity 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 aria-integrity er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på aria-integrity 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 aria-integrity 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/aria-integrity 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 aria-integrity sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.
Relaterede regler
Tilbage til oversigten over alle 86 regler.