UX-Verfügbarkeit und Schnittstellen für alle
1) Warum es wichtig ist
Rechtlich und ethisch: Die Schnittstelle darf Menschen mit Seh-, Hör-, motorischen und kognitiven Beeinträchtigungen nicht ausschließen.
Business-Effekt: mehr Nutzer, höhere Conversion und Retention, bessere SEO und Code-Qualität.
Operativ: Verfügbarkeit ist ein Prozess, kein „zufälliger Fix“.
2) Grundlagen und Prinzipien (POUR)
Perceivable (Wahrnehmbarkeit): Kontrast, Alternativtexte, Untertitel.
Bedienbar: Alles ist über die Tastatur zugänglich, sichtbarer Fokus, Pause/Stop-Animationen.
Understandable (Verständlichkeit): vorhersehbare Navigation, klare Fehler, einfache Formulierungen.
Robust: korrekte HTML/ARIA Semantik, Kompatibilität mit assistierenden Technologien.
3) Semantik, Überschriften und ARIA
Semantische Markierung vor ARIA:'<button>','<nav>','<form>','<table>'- für den vorgesehenen Zweck.
Header-Hierarchie: ein'<h1> 'pro Seite, dann logische Struktur' <h2>'-'<h3>'.
Landmarken:'<header>','<main>','<aside>','<footer>','<nav>'- helfen den Screenern.
ARIA nur bei Bedarf: „Rolle“, „aria-label“, „aria-describedby“, „aria-expanded“, „aria-live“.
Zustände/Fehler durch 'aria-invalid',' aria-errormessage'.
4) Tastatur und Fokus-Management
Volle Bedienbarkeit der Tastatur: 'Tab/Shift + Tab' ist die Reihenfolge, 'Enter/Space' ist die Aktivierung, 'Esc' ist die Ausgabe.
Sichtbarer Fokus ist immer; outline nicht deaktivieren.
Fokusfallen: In Modalen - zyklischer Fokus, Rückkehr des Fokus auf die Quelle nach dem Schließen.
Versteckte Elemente sollten nicht in die Tab-Reihenfolge fallen ('display: none', 'aria-hidden =' true').
Skip-Links: „Gehe zum Hauptinhalt“ steht am Anfang der Seite.
5) Farbe, Kontrast und Typografie
Textkontrast: mindestens 4. 5:1 für Klartext und 3:1 für Groß.
Verlassen Sie sich nicht nur auf Farbe: Duplizieren Sie mit einem Symbol/Muster/Signatur.
Größe der anklickbaren Ziele: mindestens 40-48 px, ausreichende Felder herum.
Schriftarten: lesbare Headsets, Zeilenabstand 1. 4–1. 6, die Länge der Linie ist 45-90 Zeichen.
6) Bewegung, Animationen und epileptogener Ausbruch
Respektieren Sie das Systemflag prefers-reduced-motion - fügen Sie vereinfachte Animationen hinzu/deaktivieren Sie die Parallaxe.
Vermeiden Sie Flimmern> 3 mal/Sek.
Alle Auto-Bewegungen müssen Pause/Stop/Hide haben.
7) Formen, Fehler und Validierung
Beschriftungen und Felder explizit verknüpfen:'<label for = „id“>'.
Eine Platzhalterin ist kein Label.
Fehlermeldungen neben dem Feld und in der Fehlerzusammenfassung oben; verlinken über 'aria-describedby'.
Erklären Sie das Eingabeformat, Beispiel, Maske; Einheiten und Währung angeben.
Setzen Sie die ausgefüllten Felder nicht zurück, wenn Sie einen Fehler machen; Behalten Sie den Fokus auf das Problemfeld.
html
<label for="email">Эл. почта</label>
<input id="email" name="email" type="email" aria-describedby="email-hint email-err">
<div id="email-hint" class="hint">Мы не рассылаем спам</div>
<div id="email-err" class="error" role="alert">Укажите адрес в формате name@example.com</div>
8) Komponenten und interaktiv: Muster
Buttons vs Links: Aktion ='<button>', Übergang ='<a>'.
Tabs/Akkordeons: Navigationspfeile, 'aria-controls', 'aria-selected'.
Modalks/Dialoge: 'role =' dialog'', 'aria-modal =' true', Fokusfalle, 'Esc' schließt.
Tooltip/Popover: Zugänglichkeit per Tastatur, Timeouts stören das Lesen nicht.
Drag & Drop: Alternativen - Tasten „nach oben/unten bewegen“, Tastaturpfeile; Ereignisse nicht nur mit der Maus.
9) Medien: Video/Audio/Grafik
Video: Untertitel, Transkript, alternative Audiobeschreibungsspur (AD).
Audio: Text-Entschlüsselung.
Grafiken/Diagramme: Textzusammenfassung („worauf es ankommt“), Datentabelle, beschreibende Achsenbeschriftungen.
Living Areas: 'aria-live =' polite '/' assertive'- vorsichtig, nicht zu oft zu „schreien“.
10) Tabellen und Listen
11) i18n, locals und RTL
Das Attribut 'lang' auf der HTML-Wurzel; lokale Zahlen-/Datums-/Währungsformate.
RTL-Unterstützung (Arabisch/Hebräisch): Spiegelung von Symbolen, Navigationsreihenfolge, Cursor.
Vermeiden Sie Wörter, die in die Symbole eingenäht sind (der Text muss übersetzbar sein).
Einfache Formulierungen, Vermeidung von Jargon; Glossar der Begriffe.
12) Zeit, Sitzungen, Captchas und Alternativen
Timeouts - mit Warnung und Verlängerungsmöglichkeit.
CAPTCHA: Alternativen bevorzugen (Fragen, unsichtbare Bot-Analysatoren, Bestätigung per Mail/Telefon); wenn Sie verwenden - eine Textalternative und nicht nur eine visuelle.
Authentifizierung: Unterstützung für Passwort-Manager, „Passwort anzeigen“, WebAuthn.
13) Zugänglichkeit für sensorische und motorische Störungen
Gesten sollten Äquivalente zu Klick/Tastatur haben.
Verlangen Sie keine langen Haltepunkte/Doppeltipps ohne Alternative.
„Pointer cancellation“: Die Aktion sollte zum Loslassen ausgeführt werden, nicht zum „Drücken“, um eine Chance zum Abbrechen zu geben.
14) Zustände, Benachrichtigungen und Warnungen
Verwenden Sie' role = „status “/“ alert“ für dynamische Nachrichten.
Überlappen Sie den Fokus nicht mit „klebrigen“ Bannern.
Toast-Benachrichtigungen - mit einer Pause bei Fokus/Hover und Tastaturzugriff.
15) Testplan (manuell und automatisch)
Manuell (Minimum):- Alle Schlüsselszenarien nur mit der Tastatur durchlaufen.
- Überprüfen Sie die Sichtbarkeit des Fokus auf jedem Element.
- Zoom auf 200% - die Schnittstelle bleibt ohne horizontales Scrollen funktionsfähig.
- Aktivieren Sie den Systemmodus „Bewegungsreduzierung“ - Animationen stören nicht.
- Bestehen Sie das Skript mit einem Screenreader (NVDA/VoiceOver), stellen Sie sicher, dass die richtigen Rollen/Tags/Reihenfolge.
- Verfügbarkeitslinten auf Komponentenebene.
- Prüfung auf Kontrast, Alternativtexte, Reihenfolge der Überschriften, Gültigkeit der ARIA.
- Semantische Schnappschüsse (Rollenbaum) für kritische Bildschirme.
16) Qualitätsmetriken für die Verfügbarkeit
A11y Coverage: Anteil der Komponenten mit bestandenen Checklisten.
Keyboard-only Pass Rate: Prozentsatz der von der Tastatur passierten Skripte.
Konflikte Gewalt/1k Elemente.
SR Flow Time: Durchlaufzeit des Skripts mit Screenreader.
User-Feedback: Beschwerden über Verfügbarkeit, Reaktionszeit und Korrekturen.
17) Checkliste der Komponente
- Korrekte Semantik/Rolle ohne redundante ARIA
- Signierte Tags, 'aria-' sind korrekt
- Vollständige Tastatursteuerung, sichtbarer Fokus
- Text/Icon/Rahmen Kontrast ist normal
- Fehler und Zustände werden vom Screenreader geäußert
- Respekt für prefers-reduced-motion
- Größe des anklickbaren Bereichs ≥ 40-48 px
- Lokalisierung und RTL machen das Layout nicht kaputt
18) Anti-Muster
„Div-Buttons“ ohne Rolle/Tastatur.
Ausblenden des Fokus' outline: none' ohne Alternative.
Platzhalter statt Label.
Fehler nur in Farbe.
Modalki ohne Fokusfalle und ohne' Esc'.
Drag-only ohne Tastatur.
Lange automatische Spulen/Parallaxe ohne Option zum Ausschalten.
19) Rollen und Prozess
A11y-Besitzer im Team (Product/Design/Dev).
Die Definition von Dan (DoD) beinhaltet die Verfügbarkeit.
Design Revue: Überprüfung von Kontrast, Fokus, Labels.
Code Revue: Semantik/ARIA, Tastaturtest.
Regelmäßige Audits und ein Verbesserungsplan.
20) Implementierung durch Iterationen
Iteration 1 - Fundament (2 Wochen):- Semantik/Titel, Kontrast, Fokus und Tastatur, Grundformen und Fehler.
- Modalks, Tabs/Akkordeons, Tabellen/Grafiken mit Textzusammenfassung, Video-Untertitel, reduzierte Animation.
- Autotests in CI, RTL/i18n, Metriken, regelmäßige Audits, Teamschulungen.
21) Vorlagen und Snippets
Modalka (vereinfacht):html
<div role="dialog" aria-modal="true" aria-labelledby="dlg-title" aria-describedby="dlg-desc">
<h2 id="dlg-title">Подтвердите действие</h2>
<p id="dlg-desc">Эта операция необратима.</p>
<button>Отмена</button>
<button>Подтвердить</button>
</div>
Schaltfläche „Zum Inhalt überspringen“:
html
<a class="skip-link" href="#main">Перейти к основному содержимому</a>
<main id="main">...</main>
Respekt prefers-reduced-motion:
css
@media (prefers-reduced-motion: reduce) {
{ animation-duration: 0.01ms!important; animation-iteration-count: 1!important; transition: none!important; }
}
22) Mini-FAQ
Brauche ich eine eigene „Version für Sehbehinderte“?
Nein. Eine adaptive, zugängliche Version für alle mit Einstellungen.
Reicht es, nur den Kontrast zu prüfen?
Nein. Der Kontrast ist nur ein Teil. Sie benötigen Tastatur, Fokus, Semantik, Formfehler, Medien usw.
Wird ARIA alles lösen?
ARIA wird die falsche Semantik nicht korrigieren. Zuerst die richtigen Tags, dann die ARIA-Verfeinerungen.
Ergebnis
Die Fassbarkeit ist eine Systemdisziplin: Semantik → die Tastatur/Brennpunkt → der Kontrast/Farbe → die Formen/Fehler → die Media/Graphik → i18n/RTL → der Test-Plan und die Metriken. Machen Sie Barrierefreiheit zu einem Teil der DoD- und Teamkultur - und Ihr Produkt wird wirklich vielseitig, zuverlässig und benutzerfreundlich für alle.