Files
Crumb-Core-v.1/docs/crumbforest/a11y_entry.md

5.8 KiB
Raw Blame History

A11y Leitfaden für Crumbforest (Barrierefreiheit)

Eulencode: ruhig, klar, kindgerecht. Ziel: Jede*r kann mitspielen mit Maus, Tastatur, Screenreader, Touch, langsamem Netz oder offline.


1) Was ist A11y?

A11y ist das Numeronym für Accessibility (Barrierefreiheit): A + 11 Buchstaben + y. In formalen Texten nutzen wir den Begriff Barrierefreiheit.

Warum? Weil Kinder (und Erwachsene) sehr verschieden sind: Sehen, Hören, Motorik, Kognition, Sprache, Kultur, Geräte, Netz und dennoch sollen alle Fragen stellen können.


2) Leitprinzipien (POUR)

  • Wahrnehmbar (Perceivable): Inhalte sind lesbar/hörbar/verständlich (Kontraste, Untertitel, VorleseTexte).
  • Bedienbar (Operable): Alles geht per Tastatur; Fokus ist sichtbar; keine „Traps“.
  • Verständlich (Understandable): Klare Sprache, konsistente Navigation, verständliche Fehlermeldungen.
  • Robust (Robust): Funktioniert mit Hilfstechnologien (Screenreader) und in unterschiedlichen Browsern/Geräten.

3) Quickstart Top10 für den Prototyp

  1. Tastatur zuerst: TabReihenfolge logisch; Enter/Space aktivieren; Esc schließt Dialoge.
  2. Sichtbarer Fokus: Immer klarer FokusRing, auch im UnityMenü.
  3. Kontrast: Text ≥ 4.5:1, großer Text ≥ 3:1.
  4. Überschriftenstruktur: H1→H2→H3 ohne Sprünge.
  5. Alternativtexte: Sinnvolle altTexte bei Bildern/Badges.
  6. Formulare: Label gebunden; Fehlermeldungen in Klartext; nicht nur Farbe als Signal.
  7. Bewegung reduzierbar:Ruhiger Modus“ + respektiere prefers-reduced-motion.
  8. Untertitel/Transkript: Für Audio/Video.
  9. Sprache & RTL: langAttribut; RTLLayout möglich; IME/OnScreenKeyboard.
  10. Offlinefähig: Kerninhalte im PWACache; keine CaptchaHürden.

4) Web/PWA Umsetzungsnotizen

  • Semantik: Buttons sind <button>, Links sind <a>; LandmarkRollen (<main>, <nav>, <header>…).
  • ARIA sparsam: Erst Semantik, dann ARIA; keine ARIAAntiPatterns.
  • Fokusmanagement: Beim Öffnen eines Dialogs Fokus in den Dialog; beim Schließen Fokus zurück.
  • Fehlerkommunikation: aria-live="polite" für InlineFehler/Hinweise.
  • Medien: Lautstärke steuerbar; Autoplay aus; Untertitel/Transkript verfügbar.
  • Kontrast/Theming: Hell/Dunkel; Farbbedeutung nie allein; Icon+Text.

5) UnityWebGL Umsetzungsnotizen

  • MenüNavigation: Alle Menüs per Tab/Shift+Tab erreichbar; Auswahl per Enter/Space; sichtbarer Fokus.
  • Remap: KeyRemapping ermöglichen (z.B. Pfeile/WASD/Enter/Esc).
  • Textgröße: Skalierbar; TextOverflow vermeiden.
  • Untertitel: Untertitelspur/Callouts für AudioHinweise.
  • Bewegung/Effekte: Option für reduzierte Effekte; keine Strobe/Flacker.
  • Bridge: A11yEvents via postMessage an den Host (z.B. „focus-change“, „dialog-open“, „caption-on“).

6) Kiosk/Offline (Linux/RPi)

  • Start: Chromium --kiosk --force-device-scale-factor=1.25 --enable-webgl2 --use-gl=egl.
  • InputFallback: OnScreenKeyboard; große Zielflächen.
  • OfflinePacks: Sprache/Assets im Cache; sauberer „OfflineHinweis“ statt Fehler.

7) Internationalisierung (i18n) & Eingaben

  • Lokalisierung: Strings als Keys; PseudoLocale in QA.
  • RTL: Mirroring testen; Caret/Selektion korrekt.
  • IME: Ostasiatische Eingaben; OnScreenKeyboard verfügbar.

8) A11yTests minimal praktikabel

  • Manuell:

    • Komplett per Tastatur bedienbar (ohne Maus).
    • FokusRing immer sichtbar.
    • Dialoge/Toasts fangen Fokus korrekt.
    • Esc schließt modale Dialoge.
    • Kontrastchecker zeigt ≥ 4.5:1.
    • Screenreader liest sinnvolle Reihenfolge/Labels vor.
    • „Ruhiger Modus“ reduziert Effekte hör/sichtbar.
  • Automatisiert (optional): Lighthouse/AxeChecks; CI bricht bei kritischen Verstößen ab.


9) KomponentenRichtlinien

  • Buttons/Links: Größe ≥ 44×44 px; Fokus/Hover klar; aria-label nur wenn Text fehlt.
  • Dialoge/Modale: role="dialog", aria-modal="true", FokusTrap, Esc schließt.
  • Tabs/Accordion: PfeiltastenNavigation; aria-selected, aria-controls korrekt.
  • Toasts/Alerts: role="status"/alert; Timeout nicht zu kurz; per Tastatur schließbar.
  • Loader/Progress: role="progressbar" mit aria-valuenow/-min/-max.

10) Sprache & Copy (kindgerecht)

  • Kurze Sätze. Ein Begriff pro Satz, Fachwort erklären.
  • Fehlermeldungen: „Was ist passiert? Was kann ich tun?“
  • A11yLabel: VorleseTexte für Badges/Icons („Badge: TerminalNavigator:in“).

11) AbnahmeKriterien (Vertical Slice)

  • Komplett per Tastatur bedienbar (inkl. UnityMenü).
  • Fokus ist sichtbar, logisch, rückkehrend.
  • Kontraste erfüllt (AA).
  • Untertitel/Transkript vorhanden.
  • „Ruhiger Modus“ vorhanden; prefers-reduced-motion respektiert.
  • DE/EN umschaltbar; lang gesetzt; OnScreenKeyboard nutzbar.
  • OfflinePack geladen; Fehlermodi freundlich.
  • Screenreader liest Start/Hauptbereiche korrekt.

12) Incident & Pflege

  • Melden: A11yProblem via Taste/Form; lokal puffern.
  • Reaktion: Triage ≤ 72 h; Hotfix bei Blockern.
  • Versionierung: Changelog, SemVer; A11yChecks als ReleaseGate.

13) MiniGlossar

  • A11y: Barrierefreiheit (Accessibility).
  • i18n/l10n: Internationalisierung/Lokalisierung.
  • Screenreader: VorleseSoftware (z.B. NVDA, VoiceOver).
  • ARIA: Accessible Rich Internet Applications Zusatzrollen/Attribute.

Schluss: Barrierefreiheit ist kein Extra. Sie ist unser Startpunkt (0). Jede Frage zählt für alle.