FileUpload Barrierefreiheit
Implementierte Verbesserungen
Die FileUpload-Komponente wurde mit folgenden Barrierefreiheitsverbesserungen aktualisiert:
ARIA-Attribute
aria-labelledby
- Verknüpft das Label mit dem Upload-Elementaria-describedby
- Verknüpft Beschreibungen, Hilfetexte und Fehlermeldungenrole="button"
- Definiert die Dropzone als Buttonrole="progressbar"
- Definiert den Fortschrittsbalkenaria-valuenow
,aria-valuemin
,aria-valuemax
- Gibt den aktuellen Fortschritt anrole="alert"
- Markiert Fehlermeldungen als Alertsrole="status"
- Markiert Status-Ankündigungen
Tastaturunterstützung
- Enter/Space zum Öffnen des Dateiauswahldialogs
- Tab-Navigation durch alle interaktiven Elemente
- Tastaturzugriff auf alle Funktionen (Hochladen, Entfernen, etc.)
Screenreader-Unterstützung
- Beschreibende Texte für Upload-Elemente
- Ankündigungen von Status-Änderungen (Datei hinzugefügt, Upload gestartet, etc.)
- Versteckte Hilfstexte mit
sr-only
-Klassen - Live-Regionen für dynamische Ankündigungen
Fortschrittsanzeige
- Barrierefreie Fortschrittsbalken mit korrekten ARIA-Attributen
- Ankündigungen des Fortschritts für Screenreader
- Visuelle und textuelle Darstellung des Status
Beispiel-Implementierung
<FileUploadA11y
label="Dokumente hochladen"
accept="image/*,application/pdf"
multiple
maxSize={5 * 1024 * 1024} // 5MB
helperText="Unterstützt werden Bilder und PDF-Dateien bis 5MB"
onChange={files => console.log(files)}
/>
Barrierefreiheitstests
Die FileUpload-Komponente wurde mit folgenden Tests auf Barrierefreiheit geprüft:
- Automatisierte Tests mit jest-axe zur Überprüfung der ARIA-Attribute
- Tastaturnavigation zur Sicherstellung der vollständigen Bedienbarkeit ohne Maus
- Screenreader-Tests zur Überprüfung der korrekten Ankündigungen
- Fokus-Management-Tests zur Sicherstellung der korrekten Fokusreihenfolge
Bekannte Einschränkungen
- Der native Dateiauswahldialog kann je nach Browser unterschiedlich zugänglich sein
- Drag-and-Drop ist für Tastaturbenutzer nicht verfügbar, aber es gibt alternative Methoden
- Vorschauen von Bildern benötigen aussagekräftige Alt-Texte, die vom Benutzer bereitgestellt werden müssen