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="/courses">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)?