Tabular data is shown inside a <pre> block (fixed-width text) instead of a real table — no headers or cell navigation for screen readers.
learning hub
WCAG 2.2 Accessibility Scenario Learning Hub
A guided course for learning accessibility through realistic, industry-grounded product scenarios. Each scenario carries a unique real-world example, plain-language explanation, and a direct reference to the official WCAG 2.2 Understanding document.
690 scenarios
Module · Perceivable
1.3.1 — Info and Relationships
Structure you can SEE (headings, lists, tables, labels, groups, required marks) must also exist in the code so screen readers perceive the same structure.
Table cells point to the wrong header cells (broken headers/id links (code linking data cells to their headers) wiring) — screen readers read incorrect column/row names for the data.
Data table header cells are not marked up as headers — screen readers can't tell users which column/row a value belongs to.
role="presentation" (code that strips an element's meaning) is put on real content (an actual table or list), stripping its structure — screen readers lose the table/list entirely.
A control shows label text on screen but has no accessible name at all — screen readers announce nothing useful and voice control can't target it.
Two elements share the same id, so a label points at the wrong field (or none) — screen readers announce the wrong name. (Old WCAG 2.0 failure — still fails this rule when it breaks label associations.).
Visual lists marked up as <div>/<br> sequences instead of list code (list code (ul/ol)/dl).
Heading levels skipped or chosen for styling (h1→h4), or multiple unrelated h1s obscuring structure.
Form inputs with no programmatic label (label, aria-label, aria-labelledby (code pointing to the element that names it), title) — placeholder used as the only label.
label present but for/id pairing (code tying a label to its field) mismatch or duplicate ids breaking the association.
Glossary
- Accessible name
- The short name assistive technology uses for a control — often from a label, aria-label, or associated text. Comes up directly in WCAG 4.1.2 Name, Role, Value: user interface components must expose an accessible name, role, and current value or state that assistive technologies can determine and update.
- Alt text (text alternative)
- The written description of an image that screen readers read aloud instead of the image. Comes up directly in WCAG 1.1.1 Non-text Content: every meaningful image, icon, chart, or other non-text object needs a text alternative that serves the same purpose, while purely decorative images must be hidden from assistive technology.
- ARIA
- A set of HTML attributes that explain roles, names, and states to assistive technologies when native HTML is not enough.
- Assistive technology (AT)
- Tools people with disabilities use to operate software: screen readers, magnifiers, voice control, switch devices. Comes up directly in WCAG 4.1.2 Name, Role, Value: user interface components must expose an accessible name, role, and current value or state that assistive technologies can determine and update.
- Contrast ratio
- A measured difference between text (or a graphic) and what sits behind it; higher ratios are easier to see. Comes up directly in WCAG 1.4.3 Contrast (Minimum): normal text must meet at least 4.5:1 contrast against its background, and large text must meet at least 3:1.
- Focus / keyboard focus
- The single element currently 'selected' by the keyboard — where Enter/Space/typing will act. Moved with Tab. Comes up directly in WCAG 2.4.7 Focus Visible: keyboard focus must always be visible.
- Focus indicator
- The visible highlight that shows which element currently has keyboard focus. Comes up directly in WCAG 2.4.7 Focus Visible: keyboard focus must always be visible.
- Focus order / tab order
- The sequence elements are reached when pressing Tab repeatedly. Comes up directly in WCAG 1.3.2 Meaningful Sequence: the reading order in the code must match the order that makes sense visually.
- Keyboard trap
- A situation where keyboard focus moves into a component and cannot move out using standard keys. Comes up directly in WCAG 2.1.2 No Keyboard Trap: keyboard focus must never get stuck anywhere on the page.
- Landmark
- A page region such as banner, navigation, main, or contentinfo that screen-reader users can jump between. Comes up directly in WCAG 1.3.1 Info and Relationships: structure you can SEE (headings, lists, tables, labels, groups, required marks) must also exist in the code so screen readers perceive the same structure.
- Live region / status role
- Markup (for example aria-live or role="status") that tells screen readers to announce updates without moving focus. Comes up directly in WCAG 4.1.3 Status Messages: status messages ('Saved', 'Loading', '3 results') must be announced by screen readers without stealing focus.
- Programmatically determinable
- Available in code so software — not only human eyes — can read the information reliably.
- Reading order
- The order assistive technology reads content, which follows the DOM sequence rather than pure visual placement. Comes up directly in WCAG 1.3.2 Meaningful Sequence: the reading order in the code must match the order that makes sense visually.
- Screen reader
- Software such as NVDA, JAWS, VoiceOver, or TalkBack that speaks or brailles interface content and controls. Comes up directly in WCAG 1.1.1 Non-text Content: every meaningful image, icon, chart, or other non-text object needs a text alternative that serves the same purpose, while purely decorative images must be hidden from assistive technology.
- Semantic markup
- Using HTML elements that match meaning (headings, lists, tables, buttons) instead of generic styled containers alone. Comes up directly in WCAG 1.3.1 Info and Relationships: structure you can SEE (headings, lists, tables, labels, groups, required marks) must also exist in the code so screen readers perceive the same structure.
- Viewport
- The visible browser area. Reflow testing often uses about 320 CSS pixels of width. Comes up directly in WCAG 1.4.10 Reflow: at 320px width (400% zoom on desktop) content must reflow into one column with no horizontal scrolling and nothing missing.
Capstone audits
Practice spotting real issues (and ignoring correct implementations) in branded product flows.
CityLights (W3C Before & After Demo)
Audit This: CityLights — W3C’s real ‘Before and After Demonstration’ site
6 checks · 4 fails · 2 passes
Start audit →Animal Shelter Demo (codepo8 / Christian Heilmann)
Audit This: A real open-source ‘page with errors’ accessibility teaching demo
7 checks · 5 fails · 2 passes
Start audit →Atomic Accessibility Demo
Audit This: A real published ‘inaccessible web page’ demo, checked against its own accessible twin
4 checks · 4 fails · 0 passes
Start audit →Final exam
Comprehensive assessment
WCAG 2.2 Comprehensive Assessment
110 questions · pass at 80% · scored by WCAG principle with remediation links
Take the final examget in touch
Know where you stand. Know what to work on next.
Tell us what you’re working on and where you need support. Our accessibility specialists can help with audits, remediation, VPAT/ACR, accessible development, and ongoing compliance.
Let’s find the barriers before your users do
Indicates a required field.
Your information is kept private and never shared with third parties.