Standardreference · opdateret 2. september 2026

WCAG 2.2 AA, uden standardens prosa

EN 301 549 peger på WCAG 2.2 niveau AA for webindhold, så det er listen, din kunde måles op mod. Her er, hvad der ændrede sig, hvad en scanner kan se, og hvor et menneske skal sætte sig med et tastatur.

Udgivet
W3C-anbefaling, oktober 2023
Nye kriterier
Ni tilføjet, seks på A eller AA
Fjernet
4.1.1 Parsing, forældet
Automatisering
Ser cirka en fjerdedel til en tredjedel

Hvad niveau AA faktisk betyder

WCAG er organiseret i tre niveauer. A er gulvet, AA er det niveau, europæiske udbud og EN 301 549 tager udgangspunkt i, og AAA er et mål, ingen er forpligtet til at nå på tværs af et helt websted. Når et udbud beder om »WCAG 2.2 AA«, betyder det hvert A- og AA-succeskriterium, på hver side i omfanget, i hver tilstand, en bruger kan nå.

Succeskriterier er testbare udsagn, ikke teknikker. »Kontrast (minimum)« fortæller dig ikke, hvilket token du skal ændre; det fortæller dig det målte forhold, et stykke tekst skal klare. Den skelnen betyder noget i en revision: et fund er forsvarligt, når det nævner kriteriet, elementet og målingen, ikke når det nævner et værktøj.

Et websted består eller falder ikke som helhed. Overensstemmelse erklæres pr. side, og et enkelt ikke-overensstemmende element på en side fjerner erklæringen for den side. Derfor slår løbende overvågning en engangsrevision: en temaopdatering kan ophæve erklæringen for hundrede sider på én gang.

De ni kriterier, WCAG 2.2 tilføjede

Seks af dem ligger på A eller AA og er dermed i omfanget af en EN 301 549-vurdering. Den sidste kolonne siger, om en scanner kan bedømme det, eller om et menneske skal.

Succeskriterier tilføjet i WCAG 2.2, deres niveau, og hvordan hvert enkelt testes
SKNavnNiveauHvordan det testes
2.4.11Fokus ikke skjult (minimum)AAmanuel
2.4.12Fokus ikke skjult (udvidet)AAAmanuel
2.4.13Fokus-udseendeAAAmanuel
2.5.7TrækkebevægelserAAmanuel
2.5.8Målstørrelse (minimum)AAautomatiseret
3.2.6Konsekvent hjælpAmanuel
3.3.7Redundant indtastningAmanuel
3.3.8Tilgængelig autentificering (minimum)AAdelvist automatiseret
3.3.9Tilgængelig autentificering (udvidet)AAAmanuel

Hvad scanneren kontrollerer, regel for regel

Hver automatisk regel bærer begge referencer, så ét fund læses som et WCAG-succeskriterium for udvikleren og som en EN 301 549-klausul for granskeren. Dette er de regler, der er indlæst i den offentlige koblingstabel; kataloget i produktet er større og vedligeholdes centralt.74 rules seeded
Indlæste automatiske regler med deres WCAG-succeskriterier, EN 301 549-klausuler og typiske effekt
RegelWhat it detectsWCAGEN 301 549Typisk effekt
accesskeysTwo elements claim the same access key2.1.19.2.1.1serious
area-altImage map region without alternative text1.1.1, 2.4.4, 4.1.29.1.1.1, 9.2.4.4, 9.4.1.2critical
aria-allowed-attrARIA attribute not allowed on this role4.1.29.4.1.2critical
aria-command-nameCustom button, link or menu item without a name4.1.29.4.1.2serious
aria-hidden-bodyWhole document hidden from assistive technology4.1.29.4.1.2critical
aria-hidden-focusFocusable element hidden from assistive technology1.3.1, 4.1.29.1.3.1, 9.4.1.2serious
aria-input-field-nameCustom input field without an accessible name4.1.29.4.1.2serious
aria-meter-nameMeter without an accessible name1.1.19.1.1.1serious
aria-progressbar-nameProgress indicator without an accessible name1.1.19.1.1.1serious
aria-required-attrARIA role missing a required attribute4.1.29.4.1.2critical
aria-required-childrenComposite role without its required child roles1.3.19.1.3.1critical
aria-required-parentARIA role placed outside its required container1.3.19.1.3.1critical
aria-rolesRole value is not a recognised ARIA role4.1.29.4.1.2critical
aria-toggle-field-nameCheckbox, radio or switch without an accessible name4.1.29.4.1.2serious
aria-tooltip-nameTooltip role without any text4.1.29.4.1.2serious
aria-valid-attrAttribute name is not a valid ARIA attribute4.1.29.4.1.2critical
aria-valid-attr-valueARIA attribute points at a value that does not resolve4.1.29.4.1.2critical
audio-captionAudio without a captions or transcript track1.2.19.1.2.1critical
autocomplete-validautocomplete value not recognised1.3.59.1.3.5serious
avoid-inline-spacingText spacing locked by an inline style1.4.129.1.4.12serious
blinkBlinking content that cannot be stopped2.2.29.2.2.2serious
button-nameButton without an accessible name4.1.29.4.1.2critical
bypassNo way to skip the repeated navigation2.4.19.2.4.1serious
color-contrastText contrast below the required ratio1.4.39.1.4.3serious
css-orientation-lockContent locked to one screen orientation1.3.49.1.3.4serious
definition-listDefinition list built from the wrong children1.3.19.1.3.1serious
dlitemDefinition term or description outside a list1.3.19.1.3.1serious
document-titlePage has no title2.4.29.2.4.2serious
duplicate-id-activeDuplicate id on an interactive element4.1.19.4.1.1serious
empty-headingHeading with no text1.3.19.1.3.1minor
empty-table-headerTable header cell with no text1.3.19.1.3.1minor
focus-order-semanticsFocusable element with no interactive role2.4.39.2.4.3minor
form-field-multiple-labelsField bound to more than one label3.3.29.3.3.2moderate
frame-titleFrame without a title2.4.1, 4.1.29.2.4.1, 9.4.1.2serious
heading-orderHeading level skipped1.3.19.1.3.1moderate
html-has-langPage language not declared3.1.19.3.1.1serious
html-lang-validPage language code is not valid3.1.19.3.1.1serious
html-xml-lang-mismatchlang and xml:lang disagree3.1.19.3.1.1moderate
identical-links-same-purposeLinks with the same text lead somewhere different2.4.99.2.4.9minor
image-altImage without a text alternative1.1.19.1.1.1critical
input-button-nameInput button with no value or label4.1.29.4.1.2critical
input-image-altImage button without alternative text1.1.1, 4.1.29.1.1.1, 9.4.1.2critical
labelForm field without a programmatic label1.3.1, 4.1.29.1.3.1, 9.4.1.2critical
landmark-banner-is-top-levelBanner landmark nested inside another region1.3.19.1.3.1moderate
landmark-complementary-is-top-levelComplementary landmark nested inside another region1.3.19.1.3.1moderate
landmark-no-duplicate-mainMore than one main landmark on the page1.3.19.1.3.1moderate
landmark-one-mainPage has no single main landmark1.3.1, 2.4.19.1.3.1, 9.2.4.1moderate
landmark-uniqueTwo landmarks share a role and a name1.3.19.1.3.1moderate
link-nameLink without discernible text2.4.4, 4.1.29.2.4.4, 9.4.1.2serious
listList contains elements that are not list items1.3.19.1.3.1moderate
listitemList item outside a list1.3.19.1.3.1serious
marqueeScrolling marquee content2.2.29.2.2.2serious
meta-viewportZoom disabled by the viewport meta tag1.4.49.1.4.4serious
nested-interactiveInteractive control nested inside another4.1.29.4.1.2serious
no-autoplay-audioAudio starts on its own for more than three seconds1.4.29.1.4.2moderate
object-altEmbedded object without a text alternative1.1.19.1.1.1serious
p-as-headingParagraph styled to look like a heading1.3.19.1.3.1serious
page-has-heading-onePage has no level one heading1.3.19.1.3.1moderate
presentation-role-conflictPresentation role cancelled by other markup4.1.29.4.1.2minor
regionContent sits outside any landmark1.3.19.1.3.1moderate
role-img-altElement with role img has no alternative text1.1.19.1.1.1serious
scrollable-region-focusableScrollable area cannot be reached by keyboard2.1.19.2.1.1serious
select-nameSelect element without an accessible name1.3.1, 4.1.29.1.3.1, 9.4.1.2critical
server-side-image-mapServer-side image map in use2.1.19.2.1.1minor
summary-nameDisclosure summary without a name4.1.29.4.1.2serious
svg-img-altMeaningful SVG without a text alternative1.1.19.1.1.1serious
tabindexPositive tabindex overrides the natural focus order2.4.39.2.4.3serious
table-fake-captionTable title styled as a caption instead of marked as one1.3.19.1.3.1serious
target-sizeTouch target smaller than 24 by 24 pixels2.5.89.2.5.8moderate
td-has-headerData cell in a large table has no header1.3.19.1.3.1serious
td-headers-attrData cell not associated with a header1.3.19.1.3.1serious
th-has-data-cellsTable header with no data cells attached1.3.19.1.3.1serious
valid-langLanguage of a passage is not a valid code3.1.29.3.1.2serious
video-captionVideo without a captions track1.2.29.1.2.2critical

Hvad automatiseringen kan og ikke kan se

Ved hver score i Conforma står den samme sætning, for tallet er kun en del af billedet. Automatiske regler er fremragende til målbare egenskaber og blinde over for hensigt.

25–33 %
af de reelle barrierer finder automatiske regler alene, på et typisk marketingwebsted
12
manuelle kriterier i vores kerne-tjekliste: tastatur, fokusrækkefølge, skærmlæserforløb, alternativer til træk
0
udstedte certifikater. Vi frembringer målinger og dokumentation; erklæringen bliver hos operatøren

Automatiseret test dækker kun en del af tilgængelighedsbarriererne. En manuel verificering er nødvendig for en fuldstændig vurdering.

Sådan tester Conforma WCAG 2.2 AA

  • Automatiske regler kører på hver side i en scanning, og hver overtrædelse skrives som et fund med reglen, selektoren, HTML-uddraget og et skærmbillede af elementet på plads.
  • Hvert fund bærer begge referencer: WCAG-succeskriteriet og EN 301 549-klausulen, så en rapport læses ens for en udvikler og for en indkøbsgransker.
  • Fund får et fingeraftryk ud fra regel, selektor og sti. En rettelse, der vender tilbage efter en udrulning, rapporteres som en regression i stedet for stille at blive talt som nyt arbejde.
  • Den manuelle tjekliste dækker det, regler ikke kan bedømme, med videobevis, den anvendte hjælpeteknologi og en navngiven tester, og den forsegles i samme dokumentationspakke som den automatiske kørsel.

Spørgsmål vi får om dette

Er WCAG 2.2 AA det samme som at opfylde tilgængelighedsloven?

Nej. European Accessibility Act er loven, EN 301 549 er den harmoniserede standard, der bruges til at påvise den, og EN 301 549 henviser til WCAG 2.2 niveau AA for webindhold. At nå AA er det tekniske grundlag for en erklæring, ikke et certifikat.

Skal vi skifte fra 2.1 til 2.2 nu?

For alt nyt er det sikre svar ja. WCAG 2.2 er bagudkompatibel: indhold, der opfylder 2.2, opfylder også 2.1, så at teste mod den nyere version koster intet og dækker begge.

Betyder en perfekt automatisk score, at webstedet er i overensstemmelse?

Det betyder, at ingen automatisk overtrædelse blev fundet på de scannede sider. Tastaturbetjening, fokusrækkefølge og skærmlæserforløb kræver stadig et menneske, før der fremsættes nogen påstand.

Se kriterierne mod dine egne sider

Ét domæne, ti sider, ingen konto. Du får de koblede fund og et resumé på to sider samme dag.