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, VorleseâTexte).
- 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 â Topâ10 fĂŒr den Prototyp
- Tastatur zuerst: TabâReihenfolge logisch; Enter/Space aktivieren; Esc schlieĂt Dialoge.
- Sichtbarer Fokus: Immer klarer FokusâRing, auch im UnityâMenĂŒ.
- Kontrast: Text â„ 4.5:1, groĂer Text â„ 3:1.
- Ăberschriftenstruktur: H1âH2âH3 ohne SprĂŒnge.
- Alternativtexte: Sinnvolle
altâTexte bei Bildern/Badges. - Formulare: Label gebunden; Fehlermeldungen in Klartext; nicht nur Farbe als Signal.
- Bewegung reduzierbar: âRuhiger Modusâ + respektiere
prefers-reduced-motion. - Untertitel/Transkript: FĂŒr Audio/Video.
- Sprache & RTL:
langâAttribut; RTLâLayout möglich; IME/OnâScreenâKeyboard. - OfflineâfĂ€hig: Kerninhalte im PWAâCache; keine CaptchaâHĂŒrden.
4) Web/PWA â Umsetzungsnotizen
- Semantik: Buttons sind
<button>, Links sind<a>; LandmarkâRollen (<main>,<nav>,<header>âŠ). - ARIA sparsam: Erst Semantik, dann ARIA; keine ARIAâAntiâPatterns.
- Fokusmanagement: Beim Ăffnen eines Dialogs Fokus in den Dialog; beim SchlieĂen Fokus zurĂŒck.
- Fehlerkommunikation:
aria-live="polite"fĂŒr InlineâFehler/Hinweise. - Medien: LautstĂ€rke steuerbar; Autoplay aus; Untertitel/Transkript verfĂŒgbar.
- Kontrast/Theming: Hell/Dunkel; Farbbedeutung nie allein; Icon+Text.
5) UnityâWebGL â Umsetzungsnotizen
- MenĂŒâNavigation: Alle MenĂŒs per Tab/Shift+Tab erreichbar; Auswahl per Enter/Space; sichtbarer Fokus.
- Remap: KeyâRemapping ermöglichen (z.âŻB. Pfeile/WASD/Enter/Esc).
- TextgröĂe: Skalierbar; TextâOverflow vermeiden.
- Untertitel: Untertitelspur/Callouts fĂŒr AudioâHinweise.
- Bewegung/Effekte: Option fĂŒr reduzierte Effekte; keine Strobe/Flacker.
- Bridge: A11yâEvents via
postMessagean 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. - InputâFallback: OnâScreenâKeyboard; groĂe ZielâflĂ€chen.
- OfflineâPacks: Sprache/Assets im Cache; sauberer âOfflineâHinweisâ statt Fehler.
7) Internationalisierung (i18n) & Eingaben
- Lokalisierung: Strings als Keys; PseudoâLocale in QA.
- RTL: Mirroring testen; Caret/Selektion korrekt.
- IME: Ostasiatische Eingaben; OnâScreenâKeyboard verfĂŒgbar.
8) A11yâTests â minimal praktikabel
-
Manuell:
-
[ ] Komplett per Tastatur bedienbar (ohne Maus).
- [ ] FokusâRing immer sichtbar.
- [ ] Dialoge/Toasts fangen Fokus korrekt.
- [ ]
EscschlieĂt modale Dialoge. - [ ] Kontrastchecker zeigt â„ 4.5:1.
- [ ] Screenreader liest sinnvolle Reihenfolge/Labels vor.
- [ ] âRuhiger Modusâ reduziert Effekte hörâ/sichtbar.
- Automatisiert (optional): Lighthouse/AxeâChecks; CI bricht bei kritischen VerstöĂen ab.
9) KomponentenâRichtlinien
- Buttons/Links: GröĂe â„ 44Ă44 px; Fokus/Hover klar;
aria-labelnur wenn Text fehlt. - Dialoge/Modale:
role="dialog",aria-modal="true", FokusâTrap,EscschlieĂt. - Tabs/Accordion: PfeiltastenâNavigation;
aria-selected,aria-controlskorrekt. - Toasts/Alerts:
role="status"/alert; Timeout nicht zu kurz; per Tastatur schlieĂbar. - Loader/Progress:
role="progressbar"mitaria-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?â
- A11yâLabel: VorleseâTexte fĂŒr Badges/Icons (âBadge: TerminalâNavigator\:inâ).
11) AbnahmeâKriterien (Vertical Slice)
- [ ] Komplett per Tastatur bedienbar (inkl. UnityâMenĂŒ).
- [ ] Fokus ist sichtbar, logisch, rĂŒckkehrend.
- [ ] Kontraste erfĂŒllt (AA).
- [ ] Untertitel/Transkript vorhanden.
- [ ] âRuhiger Modusâ vorhanden;
prefers-reduced-motionrespektiert. - [ ] DE/EN umschaltbar;
langgesetzt; OnâScreenâKeyboard nutzbar. - [ ] OfflineâPack geladen; Fehlermodi freundlich.
- [ ] Screenreader liest Startâ/Hauptbereiche korrekt.
12) Incident & Pflege
- Melden: A11yâProblem via Taste/Form; lokal puffern.
- Reaktion: Triage †72 h; Hotfix bei Blockern.
- Versionierung: Changelog, SemVer; A11yâChecks als ReleaseâGate.
13) MiniâGlossar
- A11y: Barrierefreiheit (Accessibility).
- i18n/l10n: Internationalisierung/Lokalisierung.
- Screenreader: VorleseâSoftware (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.