Short answer: A WCAG 2.2 AA checklist for a marketing site is shorter than the full standard because marketing sites fail in predictable places: the sticky header, the hero and its buttons, the lead form, the carousel, the cookie banner, the PDF library and the embedded video or map. Below is the checklist we run, grouped that way, with the success criterion, a one-line test, the tool (axe DevTools, WAVE, a keyboard-only pass, a screen reader, a contrast checker, Lighthouse) and the owner. Run the automated tools first to clear the cheap failures, then do the keyboard and screen-reader passes per template, because the nine criteria that are new in 2.2 are mostly ones a scanner cannot judge. If you want the background on what changed in 2.2, the law and the cost of ignoring it, that is in WCAG 2.2 for marketing websites; this post is the companion you keep open during QA.

How do we use this without drowning in it?

Test templates, not pages. An 80-page marketing site usually has six or seven templates (home, landing, service, blog index, post, contact, legal). Pass each with a real page loaded, then spot-check the odd pages (long tables, embeds, PDFs).

Automated first, manual second. Deque's study of more than 13,000 pages found axe caught 57% of issue volume; the rest is what the keyboard, screen-reader and judgement items below are for. WebAIM's 2026 scan of the top million home pages found detectable failures on 95.9% of them, and six error types (low contrast, missing alt text, missing form labels, empty links, empty buttons, missing page language) make up 96% of the total. Fix those at the template level and the scanners go quiet.

Assign an owner. Most accessibility debt sits between roles: the designer assumes the developer will fix the contrast, the developer assumes the content editor will write the alt text, and marketing ops owns the cookie plugin nobody configured. Each item names one of designer, developer, content editor or marketing ops (whoever runs the CMS, forms tool and consent platform).

Tools: the axe DevTools and WAVE extensions, Lighthouse in Chrome DevTools (axe underneath; handy for a per-template score), the WebAIM contrast checker, a keyboard-only pass (mouse away; Tab, Shift+Tab, Enter, Space, arrows, Esc) and a screen reader (NVDA on Windows, VoiceOver on Mac and iOS). Criterion numbers and names follow the current WCAG 2.2 Recommendation (12 December 2024 edition).

Navigation and header

  • 2.4.1 Bypass Blocks (A). Test: press Tab once on page load; a "Skip to content" link appears and works. Tool: keyboard pass. Owner: developer.
  • 2.1.1 Keyboard (A) and 2.1.2 No Keyboard Trap (A). Test: every menu, dropdown and mega-menu opens, closes and is escapable with the keyboard; focus never gets stuck. Tool: keyboard pass. Owner: developer.
  • 2.4.7 Focus Visible (AA). Test: the focused nav item is always visibly outlined; no outline: none without a replacement. Tool: keyboard pass. Owner: designer (spec), developer (CSS).
  • 2.4.11 Focus Not Obscured (Minimum) (AA). Test: tab through a long page; the sticky header, sticky CTA bar and cookie banner never completely cover the focused element. Tool: keyboard pass. Fix: scroll-padding-top equal to the header height. Owner: developer.
  • 2.4.3 Focus Order (A). Test: Tab order follows the visual order (logo, nav, CTA, content), including the mobile menu. Tool: keyboard pass. Owner: developer.
  • 4.1.2 Name, Role, Value (A). Test: the hamburger announces as a button with a name and an expanded or collapsed state. Tool: screen reader, axe. Owner: developer.
  • 3.2.3 Consistent Navigation (AA) and 3.2.6 Consistent Help (A). Test: the nav, and the contact link, phone number or chat widget, appear in the same place and order on every template. Tool: visual review across templates. Owner: designer.
  • 2.5.8 Target Size (Minimum) (AA). Test: nav links, the search icon and the social icon row are at least 24×24 CSS px, or spaced so that 24 px circles centred on them do not overlap; links inside running text are exempt (Understanding 2.5.8). Tool: DevTools inspector. Owner: designer.
  • 2.4.2 Page Titled (A) and 3.1.1 Language of Page (A). Test: every page has a unique, descriptive <title> and <html lang="en"> (or en-CA). Tool: WAVE, axe. Owner: content editor (titles), developer (lang).

Hero and calls to action

  • 1.4.3 Contrast (Minimum) (AA). Test: text over hero images and gradients reaches 4.5:1 (3:1 for large text) at its worst point, not its best. Tool: contrast checker, sampling the lightest area behind the text. Owner: designer.
  • 1.4.11 Non-text Contrast (AA). Test: button borders, outline buttons and icon-only controls reach 3:1 against their background. Tool: contrast checker. Owner: designer.
  • 2.4.4 Link Purpose (In Context) (A). Test: no button reads "Learn more" or "Click here" without context; "Book a call" and "See the case study" are fine. Tool: WAVE link list, screen reader. Owner: content editor.
  • 1.1.1 Non-text Content (A). Test: hero images have an alt that describes the content, or alt="" when decorative; background images carrying text have a text equivalent. Tool: WAVE, axe. Owner: content editor.
  • 1.4.1 Use of Color (A). Test: links inside paragraphs are distinguishable without colour (underline, weight or icon). Tool: visual review in greyscale. Owner: designer.
  • 2.2.2 Pause, Stop, Hide (A). Test: any auto-playing hero video or animation longer than five seconds has a visible pause control. Tool: visual review. Owner: developer.

Forms and lead capture

  • 3.3.2 Labels or Instructions (A) and 1.3.1 Info and Relationships (A). Test: every field has a visible, programmatically associated <label>; placeholder text is not the label. Tool: WAVE, axe. Owner: developer.
  • 1.3.5 Identify Input Purpose (AA). Test: name, email, phone and address fields carry autocomplete attributes so browsers and password managers can fill them. Tool: DevTools inspector. Owner: developer.
  • 3.3.1 Error Identification (A) and 3.3.3 Error Suggestion (AA). Test: submit an empty form; errors are described in text, linked to the field and announced. Tool: screen reader. Owner: developer.
  • 3.3.7 Redundant Entry (A). Test: on a multi-step form, nothing already entered is asked again; earlier answers are pre-filled or selectable. Tool: walk the form. Owner: marketing ops (form tool configuration).
  • 3.3.8 Accessible Authentication (Minimum) (AA). Test: no puzzle, transcription or memory CAPTCHA on gated content or portal sign-in without an alternative; paste is allowed in password fields. Tool: walk the flow. Owner: marketing ops.
  • 4.1.3 Status Messages (A). Test: the "Thanks, we got it" confirmation is announced to screen readers (role="status") without moving focus. Tool: screen reader. Owner: developer.
  • 2.5.8 Target Size (Minimum) (AA). Test: checkboxes, radios and consent toggles are at least 24×24 px or spaced. Tool: DevTools inspector. Owner: designer.

Media and carousels

  • 1.2.2 Captions (Prerecorded) (A) and 1.2.5 Audio Description (Prerecorded) (AA). Test: every marketing video has accurate captions (auto-captions reviewed by a person), and visual-only information is described or covered in a transcript. Tool: play it. Owner: content editor.
  • 2.5.7 Dragging Movements (AA). Test: carousels, before/after sliders and draggable maps work with visible next and previous buttons, not just drag. Tool: keyboard and mouse pass. Owner: developer.
  • 2.2.2 Pause, Stop, Hide (A). Test: auto-rotating carousels and logo tickers can be paused; better, do not auto-rotate at all. Tool: visual review. Owner: developer.
  • 2.5.8 Target Size (Minimum) (AA). Test: carousel dots and arrows meet 24×24 px. Tool: DevTools inspector. Owner: designer.
  • 1.1.1 Non-text Content (A). Test: every slide image has alt text; the client logo wall uses the company name as alt text, not "logo". Tool: WAVE. Owner: content editor.
  • 4.1.2 Name, Role, Value (A). Test: slides announce their position ("slide 2 of 5") and the current slide's links are reachable by Tab. Tool: screen reader. Owner: developer.

Content and typography

  • 1.3.1 Info and Relationships (A) and 2.4.6 Headings and Labels (AA). Test: one h1 per page, headings nest in order, and nothing is a heading because it looked nice bigger. Tool: WAVE outline. Owner: content editor.
  • 1.4.4 Resize Text (AA). Test: zoom the browser to 200%; nothing is clipped or overlapping. Tool: browser zoom. Owner: developer.
  • 1.4.10 Reflow (AA). Test: at 320 px wide (or 400% zoom on a 1280 px window) the page reads in one column with no horizontal scroll, data tables excepted. Tool: DevTools responsive mode. Owner: developer.
  • 1.4.12 Text Spacing (AA). Test: apply the text-spacing bookmarklet; no text is cut off in cards or buttons. Tool: text-spacing bookmarklet. Owner: developer.
  • 1.4.3 Contrast (Minimum) (AA). Test: body text, captions, muted "meta" text and placeholders all hit 4.5:1; light grey on white is the single most common failure on the web. Tool: axe, contrast checker. Owner: designer.
  • 2.4.4 Link Purpose (In Context) (A). Test: links in body copy say where they go. Tool: WAVE link list. Owner: content editor.
  • 1.4.13 Content on Hover or Focus (AA). Test: tooltips and hover cards can be dismissed with Esc and stay open when the pointer moves onto them. Tool: keyboard and mouse pass. Owner: developer.

Cookie consent and modals

  • 2.1.2 No Keyboard Trap (A) and 2.4.3 Focus Order (A). Test: when a modal or consent dialog opens, focus moves into it, Tab cycles within it, Esc closes it and focus returns to the trigger. Tool: keyboard pass. Owner: developer (marketing ops if the consent platform renders it).
  • 4.1.2 Name, Role, Value (A). Test: the dialog has role="dialog", an accessible name and aria-modal="true". Tool: screen reader, axe. Owner: developer.
  • 2.4.11 Focus Not Obscured (Minimum) (AA). Test: a non-modal cookie bar pinned to the bottom does not hide the focused element; make it modal or add scroll-padding-bottom. Tool: keyboard pass. Owner: developer.
  • 2.5.8 Target Size (Minimum) (AA). Test: the close "×" and the "Reject" control are at least 24×24 px, and "Reject" is as easy to reach as "Accept". Tool: DevTools inspector. Owner: marketing ops (consent platform settings).
  • 2.2.1 Timing Adjustable (A). Test: exit-intent and timed pop-ups can be closed and do not re-open on every page; nothing times out without warning. Tool: browse for five minutes. Owner: marketing ops.

PDFs and downloads

  • 1.1.1 Non-text Content (A) and 1.3.1 Info and Relationships (A), applied to PDFs. Test: brochures, white papers and case-study PDFs are tagged, with a reading order, headings and alt text; scanned PDFs are OCR'd or replaced with an HTML page. Tool: Acrobat accessibility checker, PAC. Owner: content editor (or the designer who exported it).
  • 2.4.4 Link Purpose (In Context) (A). Test: download links say what and how big ("Pricing guide, PDF, 2 MB"). Tool: WAVE link list. Owner: content editor.
  • Policy decision. Publish the HTML page and offer the PDF as a download; one accessible HTML version is cheaper than remediating every PDF. Owner: marketing ops.

Third-party embeds

  • 4.1.2 Name, Role, Value (A). Test: every <iframe> (YouTube, Vimeo, maps, booking widgets, hosted forms) has a title attribute saying what it is. Tool: axe, WAVE. Owner: developer.
  • 2.1.1 Keyboard (A). Test: you can Tab into the embed, operate it and Tab out again. Tool: keyboard pass. Owner: developer (and the vendor).
  • 2.5.7 Dragging Movements (AA). Test: an embedded map has zoom buttons and a text address beside it. Tool: mouse and keyboard pass. Owner: developer.
  • 1.4.3 Contrast (Minimum) (AA) and 3.3.2 Labels or Instructions (A), inside the embed. Test: run axe on a page with the embedded form or chat widget; failures inside the iframe count against you in a complaint even though you did not build it. Tool: axe. Owner: marketing ops (vendor choice).
  • Conformance evidence. Ask each vendor for a current VPAT or accessibility conformance report and keep it with your own statement. Owner: marketing ops.

The nine WCAG 2.2 criteria at a glance

Criterion Level Marketing-site hotspot
2.4.11 Focus Not Obscured (Minimum) AA Sticky header, sticky CTA bar or bottom-pinned cookie banner hiding the focused link
2.4.12 Focus Not Obscured (Enhanced) AAA Same, stricter: no part of the focused element may be hidden
2.4.13 Focus Appearance AAA Focus-ring thickness and contrast; cheap to meet anyway
2.5.7 Dragging Movements AA Carousels, before/after sliders, draggable maps, range sliders in calculators
2.5.8 Target Size (Minimum) AA Social icon rows, carousel dots, pagination, the cookie banner's "×", tag chips
3.2.6 Consistent Help A Contact link, phone number and chat widget moving around between templates
3.3.7 Redundant Entry A Multi-step lead forms asking for email twice; quote calculators
3.3.8 Accessible Authentication (Minimum) AA CAPTCHAs on gated downloads and client portals; paste blocked in password fields
3.3.9 Accessible Authentication (Enhanced) AAA Same, with no object-recognition exception

Six of the nine are at A or AA. Note also that 4.1.1 Parsing was removed in 2.2, so an audit report that still cites it is counting a criterion that no longer exists.

Which standard does the law actually name?

In the United States, the Department of Justice's ADA Title II rule requires state and local governments (and the vendors building for them) to meet WCAG 2.1 AA, with compliance dates pushed by an April 2026 interim final rule to 26 April 2027 for entities serving 50,000 people or more and 26 April 2028 for smaller ones; there is still no Title III regulation for private businesses, so 2.1 AA is the de facto standard plaintiffs use. Section 508, for US federal agencies and their suppliers, still incorporates WCAG 2.0 AA from the 2017 refresh, with an update under consideration. In Canada, Ontario's AODA requires organisations with 50 or more employees to meet WCAG 2.0 AA. The European Accessibility Act has applied to e-commerce, banking, ticketing and similar consumer services, including those sold into the EU from abroad, since 28 June 2025. Testing to 2.2 AA satisfies all of them, because each WCAG 2.x version is backwards compatible with the one before.

How we run it

Every site we build is designed and coded to WCAG 2.2 AA, and before launch we run this checklist as a separate audit pass: automated scans of every template, then a keyboard and screen-reader walk of each one, then the carousel, form, consent and embed checks by hand. Findings go into the QA report with a severity, a criterion number and an owner, which is what makes the report usable by an agency's own QA team. That pass is part of the process described on How we work, and the commitments behind it are on Trust.

What to do next

Copy the checklist into your project tracker, assign the four owners, and run the automated tools on your six or seven templates this week; that alone clears most of the 96% bucket. Then book an hour per template for the keyboard and screen-reader passes. If you would rather have a second pair of eyes on an existing site first, the free audit includes an automated accessibility pass and a short note on which of the manual checks above are most likely to bite.