Inclusive Design & WCAG 2.2 Standards

Web Accessibility (A11y)

Build web applications that work for everyone: master POUR principles, native semantic HTML, keyboard navigation with visible focus, accessible forms, descriptive alt text, color contrast, and pragmatic ARIA.

16 Comprehensive Chapters Live Interactive Audit Lab 8 Assessment Questions WCAG 2.2 AA Compliant
INTRO

The Universal Web Promise

Tim Berners-Lee famously stated: β€œThe power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.”

Web accessibility (often abbreviated as a11yβ€” β€œa” followed by 11 letters and β€œy”) means creating digital experiences that anyone can perceive, understand, navigate, and interact with β€” including people with visual, auditory, motor, or cognitive disabilities.

01

The 4 POUR Principles

P β€” Perceivable

Sight, Hearing & Touch

Information and UI components must be presentable to users in ways they can perceive (e.g. text alternatives for images, captions for video, high color contrast).

O β€” Operable

Full Keyboard Control

Users must be able to operate the interface (all buttons, forms, and menus reachable via keyboard Tab/Enter/Space without getting trapped).

U β€” Understandable

Clear & Predictable

Content must be readable with clear language, predictable navigation flows, and descriptive form validation error guidance.

R β€” Robust

Assistive Compatibility

Content must be robust enough that it can be reliably interpreted by screen readers (NVDA, VoiceOver, JAWS) across modern browsers.

04

Semantic HTML & Page Landmarks

HTML5 landmark elements provide instant navigational jump points for screen reader users:

Semantic Landmark Layout
<header>
  <nav aria-label="Main Navigation">
    <ul>
      <li><a href="/">Home</a></li>
      <li><a href="/explore">Courses</a></li>
    </ul>
  </nav>
</header>

<main id="main-content">
  <h1>Accessible Web Architecture</h1>
  <article>
    <h2>Semantic Landmarks</h2>
    <p>Using native HTML elements.</p>
  </article>
</main>

<footer>
  <p>&copy; 2026 Pathubs</p>
</footer>
05 & 06

Keyboard Focus & Accessible Forms

Never Suppress Focus Outlines Globally

Removing outlines with * { outline: none; } blinds keyboard-only users. Instead, use modern :focus-visible to provide high-visibility focus rings only when navigating via keyboard!

Accessible Form Pattern
<form>
  <div>
    <label htmlFor="user-email">Work Email (Required)</label>
    <input 
      id="user-email" 
      type="email" 
      required 
      aria-describedby="email-hint"
    />
    <span id="email-hint" className="hint-text">
      We'll send your invoice to this address.
    </span>
  </div>
  <button type="submit">Complete Registration</button>
</form>
11

WAI-ARIA: When and When NOT to Use ARIA

The #1 Rule of ARIA

No ARIA is better than bad ARIA.ARIA does not add keyboard functionality or change browser behavior β€” it only modifies accessibility tree metadata. Always use native semantic HTML first!

14-16

Accessibility Checklist & Rules of Thumb

Production A11y Checklist
  • Use <button> for actions and <a> for page navigation.
  • Ensure all interactive elements have visible :focus-visible indicators.
  • Always connect <label for="id"> with form inputs.
  • Provide meaningful alt text or mark decorative images with alt="".
  • Verify a minimum 4.5:1 text contrast ratio (WCAG AA).
  • Trap focus inside open modal dialogs and allow dismissal via the Escape key.

πŸ”₯ Live Interactive β€” Accessibility Audit Lab

Fix an intentionally broken, inaccessible webpage by applying semantic HTML, keyboard focus, form labels, and WCAG contrast.

Audit Sandbox
Live Component Sandbox:βšͺ Outlines Hidden
Team Collaboration Card
❌ Image missing alt attribute!
❌ Unlabeled Input (Missing <label>)
Submit (Inaccessible <div>)

❌ Low Contrast Text (1.8:1 ratio β€” Fails WCAG AA standards)

Accessibility Compliance Audit (0 / 6 Passed)
1. Semantic Action ElementDiv as button
2. Form Input Programmatic LabelMissing Label
3. Descriptive Image Alt TextMissing Alt
4. WCAG 2.2 Color Contrast (4.5:1)Failing (1.8:1)
5. Visible Focus IndicatorsOutline: none
6. Clean Semantics (No Bad ARIA)Redundant ARIA
6 Issues Remaining to Fix
Apply Accessibility Fixes:
Replace <div> with Native <button>
Provides automatic tab-stop focus, Enter/Space key triggers, and screen reader role.
Add Programmatic <label htmlFor="...">
Associates explicit name for assistive tech and expands clickable touch target.
Add Contextual Alt Text to Image
Describes image content concisely for non-visual screen reader users.
Boost Color Contrast to 4.5:1+ (WCAG AA)
Replaces faint grey with high-contrast text readable in sunlight and by low-vision users.
Restore High-Visibility :focus-visible Rings
Provides unmistakable visual indicator when navigating via keyboard Tab key.
Remove Redundant Bad ARIA
Adheres to Rule #1 of ARIA: prefer clean native semantics over custom ARIA patches.
Accessibility Mini Challenges

Test your accessibility architectural choices in these common real-world scenarios.

Challenge 1: Link vs. Button
You are building a trigger that opens a Settings modal on the current page without changing the URL. Which element should you use?
Challenge 2: Writing Alt Text
An online store shows an infographic explaining "How Our 3-Step Return Policy Works". What is the best alt text?
Challenge 3: Color Blindness Defense
A form validation shows a red border on inputs with errors. What must you do to ensure color-blind users notice the error?
Challenge 4: Native vs. ARIA
You need a collapsible accordion section. Should you use <details><summary> or <div role="region" aria-expanded="...">?
Knowledge AssessmentQuestion 1 of 8

What are the four foundational principles of Web Accessibility (POUR)?