🌱 Lehrpfad 1: Semantisches HTML5

HTML 04: Barrierefreiheit (A11y) & WAI-ARIA

Lerne die Grundlagen digitaler Barrierefreiheit nach WCAG 2.2: Screenreader-Kompatibilität, Skip-Links, Tastatur-Fokus und ARIA-Attribute für moderne Webanwendungen.

💡 1. Warum Web Accessibility (A11y) unverzichtbar ist

Über 15 % der Weltbevölkerung leben mit einer Behinderung (Seheinschränkungen, motorische Einschränkungen, neurodiverse Wahrnehmung). Die WCAG-Leitlinien (POUR) fordern:

1. Wahrnehmbar (Perceivable): Kontraste, Alternativtexte, Screenreader-Support.
2. Bedienbar (Operable): 100% tastaturbedienbar ohne Mauszwang.
3. Verständlich (Understandable): Klare Sprache, eindeutige Fehlermeldungen.
4. Robust (Robust): Valides HTML, das mit Screenreadern harmoniert.

⌨️ 2. Skip-Links & Das "Kein Div als Button"-Gesetz

Tastatur-Nutzer wollen nicht bei jedem Seitenwechsel durch 30 Navigationslinks tabben müssen. Ein Skip-Link springt direkt zum Hauptinhalt:

<!-- Skip-Link als erstes Kind im <body>: -->
<a href="#main-content" class="skip-link">Direkt zum Hauptinhalt springen</a>

<!-- ❌ FALSCH: Unzugänglich für Tastatur & Screenreader -->
<div class="btn" onclick="openMenu()">Menü</div>

<!-- ✅ RICHTIG: Nativ fokussierbar und per Enter/Space bedienbar -->
<button type="button" aria-expanded="false" aria-controls="mobile-menu">Menü öffnen</button>

🛡️ 3. ARIA-Attribute: Rollen & Dynamische Zustände

Wenn Standard-HTML an seine Grenzen stößt (z.B. bei komplexen Accordions, Modals oder Live-Benachrichtigungen), hilft WAI-ARIA:

<!-- 1. aria-label für Icon-Buttons ohne sichtbaren Text: -->
<button type="button" aria-label="Suchleiste öffnen">
  <svg aria-hidden="true">...</svg>
</button>

<!-- 2. aria-expanded für aufklappbare Bereiche: -->
<button aria-expanded="false" aria-controls="faq-answer-1">Was ist A11y?</button>
<div id="faq-answer-1" hidden>A11y steht für Accessibility...</div>

<!-- 3. aria-live für dynamische Erfolgsmeldungen: -->
<div role="status" aria-live="polite" class="alert-box">
  Profil erfolgreich gespeichert!
</div>
🚦 Didaktische Analogie: Die rollstuhlgerechte Rampe & Akustik-Ampel

ARIA & Semantik sind wie die Sprachansage in der U-Bahn und die Bodenleitrillen für Blindenstöcke. Für sehende Menschen unauffällig, für Menschen mit Einschränkungen der einzige Weg zur selbstständigen Nutzung!

Die goldene ARIA-Regel: "No ARIA is better than bad ARIA." Verwende immer erst natives HTML (z.B. <button> statt <div role="button">)!

📑 4. Cheat-Sheet: Wichtige ARIA-Attribute

Attribut / Rolle Einsatzort Wirkung
aria-label="..." Buttons, Links, Icons Überschreibt/definiert den vorgelesenen Namen
aria-expanded="true|false" Accordion-Header, Dropdown-Toggle Informiert, ob Unterbereich geöffnet ist
aria-hidden="true" Dekorative Icons, Emojis Screenreader ignorieren das Element komplett
aria-describedby="id" Formular-Felder mit Hilfetext Verknüpft Zusatzhinweise oder Fehlermeldungen
role="status" aria-live="polite" Toasts, Feedback-Banner Wird bei Textänderung sofort laut vorgelesen

🎯 Aufgaben & Checkliste in aufgabe.html

💻 In Web-IDE öffnen → ← Zurück zu HTML 03 Weiter zu CSS 05 →