Web Content Accessibility Guidelines (WCAG) are developed by the W3C Web Accessibility Initiative and are the international standard for web accessibility. WCAG 2.1, published in 2018, builds on WCAG 2.0 with additional criteria for cognitive accessibility and mobile devices. Understanding WCAG is essential for developers, designers, and product managers who need to build accessible digital products.
Perceivable
Information must be presentable in ways users can perceive — not just visually.
Operable
Interface components and navigation must be operable by everyone.
Understandable
Information and interface operation must be understandable.
The Four POUR Principles
WCAG is organized around four principles, known as POUR:
- Perceivable: Users must be able to perceive information. If it's only shown visually, a blind user can't access it. Provide alt text, transcripts, and sufficient contrast.
- Operable: Users must be able to operate the interface. A keyboard-only user needs to navigate your site without a mouse. Interactive elements must be keyboard-accessible.
- Understandable: Information and interface behavior must be understandable. Use plain language, consistent navigation, and clear error messages.
- Robust: Content must be robust enough to work with current and future assistive technologies like screen readers, braille displays, and voice control.
WCAG Conformance Levels
WCAG defines three levels of conformance. Each level builds on the previous:
| Level | Description | Legal Requirement | Contrast (Normal Text) |
|---|---|---|---|
| Level A | Minimum accessibility. Prevents barriers that make content inaccessible. | Often required | 3:1 minimum |
| Level AA | Standard accessibility. Addresses major barriers for most users with disabilities. | Primary legal standard (ADA, Section 508) | 4.5:1 minimum |
| Level AAA | Enhanced accessibility. Highest standard, may not be achievable for all content types. | Not typically legally required | 7:1 minimum |
Understanding Contrast Requirements
Contrast ratio is one of the most frequently failed WCAG criteria. WCAG 2.1 defines contrast requirements in Success Criterion 1.4.3 (Contrast Minimum) and 1.4.6 (Contrast Enhanced):
Normal Text (under 18pt / 14pt bold)
Level AA: Contrast ratio of at least 4.5:1. This applies to text under 18pt (24px) regular weight or under 14pt (18.5px) bold.
Level AAA: Contrast ratio of at least 7:1.
Large Text (18pt+ / 14pt+ bold)
Level AA: Contrast ratio of at least 3:1. Large text is easier to read, so the threshold is lower.
Level AAA: Contrast ratio of at least 4.5:1.
UI Components and Graphical Objects
Non-text content like icons, buttons, form fields, and other UI components need at least a 3:1 contrast ratio against adjacent colors. This is a Level AA requirement (Success Criterion 1.4.11).
Contrast Ratio Quick Reference
Here are common contrast ratio values for reference:
- 21:1: Black text on white background — maximum contrast
- 15:1: Dark charcoal (
#333333) on white — very high contrast - 7:1: Minimum for WCAG AAA normal text
- 4.5:1: Minimum for WCAG AA normal text
- 3:1: Minimum for WCAG AA large text and UI components
- 2.5:1: Common standard blue (
#0000ff) on white — fails AA - 1.5:1: Light gray on white — fails all WCAG levels
How WCAG Applies to Your Work
As a developer: Use semantic HTML (<button>, <nav>, <main>), ensure keyboard navigation works, add aria-label where needed, and test with a screen reader. Every color choice in CSS should be verified with a contrast checker.
As a designer: Test color pairs in your design system before handoff. Build contrast requirements into your design tokens. Use the "Accessibility" filter in Figma or use a contrast checker to verify every text/background combination.
As a product manager: Add WCAG AA compliance as a requirement, not a later enhancement. Retrofitting accessibility is expensive and often incomplete. Make it part of the definition of done.
Legal Context
WCAG AA is legally required in many jurisdictions:
- United States: ADA Title III applies WCAG 2.1 Level AA to websites of businesses open to the public. Section 508 applies to federal agencies.
- European Union: EN 301 549 (EU Web Accessibility Directive) requires WCAG 2.1 AA for public sector websites.
- Canada: Accessibility for Ontarians with Disabilities Act (AODA) and the Federal Accessible Canada Act both reference WCAG.
- Australia: Disability Discrimination Act 1992 applies WCAG 2.0 Level AA as the standard.
In the United States, over 11,000 accessibility lawsuits were filed in 2024. Many major companies have settled or been ordered to make their websites accessible. The risk is real and growing.
Check Your Colors for WCAG Compliance
Use the free Color Contrast Checker to verify any text/background combination against WCAG 2.1 AA and AAA standards.
Open Color Contrast Checker →Getting Started
You don't need to memorize every WCAG criterion to get started. Focus on a few high-impact areas:
- Use semantic HTML: Screen readers rely on semantic structure. Use the right element for the job — headings, lists, buttons, links.
- Check contrast: Use a contrast checker on every color combination. Start with your text colors and brand palette.
- Test with keyboard: Unplug your mouse. Can you navigate and interact with everything using only Tab, Enter, and Escape?
- Add alt text: Every meaningful image needs alt text. Decorative images get
alt=""to be skipped by screen readers. - Label form fields: Every form input needs an associated
<label>. Placeholder text is not a label.
Once those basics are in place, you can expand to more advanced topics: ARIA roles, focus management, live regions, and cognitive accessibility. The WebAIM guide and the W3C WCAG Quick Reference are excellent next resources.
Summary
WCAG 2.1 is the international standard for web accessibility. Level AA is the legally required standard in most jurisdictions. The four POUR principles (Perceivable, Operable, Understandable, Robust) organize all WCAG requirements. Color contrast is one of the most commonly failed criteria — use a color contrast checker to verify every text/background combination in your designs and code. Accessibility is not a feature; it's a requirement.