Standard reference · updated 2 September 2026

WCAG 2.2 AA, without the standards prose

EN 301 549 points at WCAG 2.2 Level AA for web content, so this is the list your client is measured against. Here is what changed, what a scanner can see, and where a person has to sit down with a keyboard.

Published
W3C Recommendation, October 2023
New criteria
Nine added, six at A or AA
Removed
4.1.1 Parsing, obsolete
Automation
Sees roughly a quarter to a third

What Level AA actually means

WCAG is organised in three levels. A is the floor, AA is the level European procurement and EN 301 549 work from, and AAA is a target nobody is required to reach across a whole site. When a tender asks for “WCAG 2.2 AA”, it means every A and AA success criterion, on every page in scope, in every state that a user can reach.

Success criteria are testable statements, not techniques. “Contrast (minimum)” does not tell you which token to change; it tells you the measured ratio a piece of text has to clear. That distinction matters in an audit: a finding is defensible when it names the criterion, the element and the measurement, not when it names a tool.

A site does not pass or fail as a whole. Conformance is claimed per page, and a single non-conforming element on a page removes the claim for that page. This is why continuous monitoring beats a one-off audit: a theme update can undo a claim for a hundred pages at once.

The nine criteria WCAG 2.2 added

Six of them sit at A or AA, so they are in scope for an EN 301 549 assessment. The last column says whether a scanner can judge it or a person has to.

Success criteria added in WCAG 2.2, their level, and how each one is tested
SCNameLevelHow it is tested
2.4.11Focus not obscured (minimum)AAmanual
2.4.12Focus not obscured (enhanced)AAAmanual
2.4.13Focus appearanceAAAmanual
2.5.7Dragging movementsAAmanual
2.5.8Target size (minimum)AAautomated
3.2.6Consistent helpAmanual
3.3.7Redundant entryAmanual
3.3.8Accessible authentication (minimum)AApartly automated
3.3.9Accessible authentication (enhanced)AAAmanual

What the scanner checks, rule by rule

Every automated rule carries both references, so one finding reads as a WCAG success criterion for the developer and an EN 301 549 clause for the reviewer. These are the rules seeded in the public mapping table; the catalogue in the product is larger and is maintained centrally.74 rules seeded
Seeded automated rules with their WCAG success criteria, EN 301 549 clauses and typical impact
RuleWhat it detectsWCAGEN 301 549Typical impact
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

What automation can and cannot see

Every score in Conforma carries the same sentence, because the number is only part of the picture. Automated rules are excellent at measurable properties and blind to intent.

25–33%
of real barriers found by automated rules alone, on a typical marketing site
12
manual criteria in our core checklist: keyboard, focus order, screen reader flow, dragging alternatives
0
certificates issued. We produce measurements and evidence; the declaration stays with the operator

Automated testing covers a subset of accessibility barriers. Manual verification is required for a complete assessment.

How Conforma tests WCAG 2.2 AA

  • Automated rules run on every page of a scan, and each violation is written as a finding with the rule, the selector, the HTML snippet and a screenshot of the element in place.
  • Every finding carries both references: the WCAG success criterion and the EN 301 549 clause, so a report reads the same way to a developer and to a procurement reviewer.
  • Findings are fingerprinted from rule, selector and path. A fix that comes back after a deploy is reported as a regression instead of quietly counted as new work.
  • The manual checklist covers what rules cannot judge, with video evidence, the assistive technology used and a named tester, and it is sealed into the same evidence pack as the automated run.

Questions we get on this

Is WCAG 2.2 AA the same as meeting the Accessibility Act?

No. The European Accessibility Act is the law, EN 301 549 is the harmonised standard used to demonstrate it, and EN 301 549 references WCAG 2.2 Level AA for web content. Meeting AA is the technical basis for a declaration, not a certificate.

Do we have to move from 2.1 to 2.2 now?

The safe answer is yes for anything new. WCAG 2.2 is backwards compatible: content that meets 2.2 also meets 2.1, so testing against the newer version costs nothing and covers both.

Does a perfect automated score mean the site conforms?

It means no automated violation was detected on the pages scanned. Keyboard operation, focus order and screen reader flow still need a person before any claim is made.

See the criteria against your own pages

One domain, ten pages, no account. You get the mapped findings and a two-page summary the same day.