Guides WCAG 2.0
WCAG 2.0 — the foundation
The base layer: POUR, testable success criteria, three conformance levels.
What WCAG 2.0 is
Web Content Accessibility Guidelines (WCAG) 2.0 is the foundational international standard for making web content more accessible to people with disabilities. Published by the W3C through its Web Accessibility Initiative (WAI), it defines testable requirements for text, images, sound, and the code that structures and presents a page.
| Fact | Detail |
|---|---|
| Full title | Web Content Accessibility Guidelines (WCAG) 2.0 |
| Status | W3C Recommendation |
| Publication date | 11 December 2008 |
| Principles | 4 (Perceivable, Operable, Understandable, Robust) |
| Guidelines | 12 |
| Success criteria | 61 total (25 A, 13 AA, 23 AAA) |
WCAG 2.0 is the base layer of the modern accessibility framework, later extended by WCAG 2.1 (2018) and 2.2 (2023). The versions are backward-compatible. WCAG 2.0 is also standardised internationally as ISO/IEC 40500:2012.
The conformance model
Requirements form a hierarchy: Principles → Guidelines → Success Criteria → Techniques. Conformance is claimed against the testable success criteria, each rated Level A (minimum), AA (the common legal target), or AAA (highest). Most laws and policies reference Level AA.
The 4 principles (POUR)
- Perceivable — information must be presentable in ways users can perceive. (Guidelines 1.1 Text Alternatives, 1.2 Time-based Media, 1.3 Adaptable, 1.4 Distinguishable)
- Operable — interface and navigation must be operable. (2.1 Keyboard Accessible, 2.2 Enough Time, 2.3 Seizures, 2.4 Navigable)
- Understandable — information and operation must be understandable. (3.1 Readable, 3.2 Predictable, 3.3 Input Assistance)
- Robust — content must work reliably with current and future user agents, including assistive technologies. (4.1 Compatible)
Success criteria (Level A and AA)
Perceivable
| SC | Name | Level | Plain language |
|---|---|---|---|
| 1.1.1 | Non-text Content | A | Images, icons, and charts need a text alternative that conveys their purpose; decorative items are marked to be ignored. |
| 1.2.1 | Audio-only / Video-only (Prerecorded) | A | Provide a transcript for audio-only, and a description or text for silent video. |
| 1.2.2 | Captions (Prerecorded) | A | Synchronized captions for prerecorded video with sound. |
| 1.2.3 | Audio Description or Media Alternative | A | An audio description or full text alternative for prerecorded video. |
| 1.2.4 | Captions (Live) | AA | Real-time captions for live audio. |
| 1.2.5 | Audio Description (Prerecorded) | AA | Narration of important visual detail during dialogue pauses. |
| 1.3.1 | Info and Relationships | A | Structure shown visually (headings, lists, tables, labels) is also in the markup. |
| 1.3.2 | Meaningful Sequence | A | A correct reading order is programmatically determinable. |
| 1.3.3 | Sensory Characteristics | A | Instructions do not rely on shape, size, or location alone. |
| 1.4.1 | Use of Color | A | Color is not the only way information is conveyed. |
| 1.4.2 | Audio Control | A | Auto-playing audio over 3 seconds can be paused or muted. |
| 1.4.3 | Contrast (Minimum) | AA | Text contrast at least 4.5:1 (3:1 for large text). |
| 1.4.4 | Resize Text | AA | Text resizes to 200% without loss of content or function. |
| 1.4.5 | Images of Text | AA | Use real text instead of images of text where possible. |
Operable
| SC | Name | Level | Plain language |
|---|---|---|---|
| 2.1.1 | Keyboard | A | All functionality works from a keyboard. |
| 2.1.2 | No Keyboard Trap | A | Keyboard focus can always move away from a component. |
| 2.2.1 | Timing Adjustable | A | Time limits can be turned off, adjusted, or extended. |
| 2.2.2 | Pause, Stop, Hide | A | Moving or auto-updating content can be paused, stopped, or hidden. |
| 2.3.1 | Three Flashes or Below Threshold | A | Nothing flashes more than three times per second. |
| 2.4.1 | Bypass Blocks | A | A skip link or landmarks let users bypass repeated blocks. |
| 2.4.2 | Page Titled | A | Each page has a descriptive title. |
| 2.4.3 | Focus Order | A | Focus order preserves meaning and operability. |
| 2.4.4 | Link Purpose (In Context) | A | Link purpose is clear from its text or context. |
| 2.4.5 | Multiple Ways | AA | More than one way to find a page (menu, search, sitemap). |
| 2.4.6 | Headings and Labels | AA | Headings and labels are descriptive. |
| 2.4.7 | Focus Visible | AA | The keyboard focus indicator is visible. |
Understandable
| SC | Name | Level | Plain language |
|---|---|---|---|
| 3.1.1 | Language of Page | A | The page language is set in markup (e.g. lang=“en”). |
| 3.1.2 | Language of Parts | AA | Passages in another language are marked. |
| 3.2.1 | On Focus | A | Focusing an element does not cause an unexpected context change. |
| 3.2.2 | On Input | A | Changing a setting does not cause a surprise context change without warning. |
| 3.2.3 | Consistent Navigation | AA | Repeated navigation keeps the same relative order. |
| 3.2.4 | Consistent Identification | AA | Same-function components are identified consistently. |
| 3.3.1 | Error Identification | A | Input errors are identified and described in text. |
| 3.3.2 | Labels or Instructions | A | Inputs have labels or instructions. |
| 3.3.3 | Error Suggestion | AA | When a fix is known, it is suggested. |
| 3.3.4 | Error Prevention (Legal, Financial, Data) | AA | Important submissions are reversible, checked, or confirmed. |
Robust
| SC | Name | Level | Plain language |
|---|---|---|---|
| 4.1.1 | Parsing | A | Well-formed markup (no duplicate IDs, correct nesting). Removed in WCAG 2.2. |
| 4.1.2 | Name, Role, Value | A | Every UI component exposes its name, role, state, and value to assistive tech. |
How reala11y maps to WCAG 2.0
reala11y ships 22 automated scanner rules. Automated tooling typically detects 30–40% of WCAG issues by criteria; the rest needs manual review. reala11y pairs automated scanning with that human review — it does not replace it.
| WCAG 2.0 SC | reala11y rule(s) |
|---|---|
| 1.1.1 Non-text Content | R002 (missing alt), R014 (redundant img title) |
| 1.2.2 Captions (Prerecorded) | R019 (video, no captions track) |
| 1.3.1 Info and Relationships | R004 (heading order), R013 (main landmark), R018 (table headers), R020 (empty heading), R021 (orphaned li) |
| 1.4.3 Contrast (Minimum) | R003 |
| 1.4.4 Resize Text | R016 (viewport blocks zoom) |
| 2.4.1 Bypass Blocks | R005 (skip link) |
| 2.4.3 Focus Order | R015 (positive tabindex) |
| 2.4.4 Link Purpose | R012 (vague link text), R022 (adjacent same-destination links) |
| 2.4.7 Focus Visible | R006 |
| 3.3.2 Labels or Instructions | R007 (form labels) |
| 4.1.1 Parsing | R010 (duplicate id, informational) |
| 4.1.2 Name, Role, Value | R008 (rel=noopener), R009 (empty control), R017 (iframe name) |
reala11y helps your site move toward WCAG 2.2 AA conformance by identifying common code-level issues and offering safe, automated remediation where possible. It does not certify compliance, guarantee freedom from lawsuits, or replace a professional audit.