Alert-Komponente: Barrierefreiheit
Diese Dokumentation beschreibt die Barrierefreiheitsfunktionen der Alert-Komponente und gibt Hinweise zur korrekten Verwendung für eine optimale Zugänglichkeit.
ARIA-Attribute und Rollen
Die Alert-Komponente verwendet folgende ARIA-Attribute und Rollen, um die Barrierefreiheit zu verbessern:
Alert-Container
role="alert"
: Identifiziert den Alert als wichtige Benachrichtigungaria-live="polite|assertive"
: Bestimmt, wie dringend der Alert von Screenreadern angekündigt wirdpolite
: Für Info-, Success- und Warning-Alerts (wartet, bis der Screenreader fertig ist)assertive
: Für Error-Alerts (unterbricht den Screenreader)
aria-labelledby="TITLE_ID"
: Verweist auf die ID des Titels (wenn vorhanden)aria-describedby="MESSAGE_ID"
: Verweist auf die ID der Nachrichtdata-type="info|success|warning|error"
: Gibt den Typ des Alerts an
Titel und Nachricht
id="TITLE_ID"
: Eindeutige ID für den Titelid="MESSAGE_ID"
: Eindeutige ID für die Nachricht
Schließen-Button
aria-label="Schließen"
: Beschreibt den Zweck des Buttonstype="button"
: Definiert den Button-Typ
Icons
aria-hidden="true"
: Versteckt die Icons vor Screenreadern
Tastaturnavigation
Die Alert-Komponente unterstützt folgende Tastaturinteraktionen:
- Tab: Fokussiert den Schließen-Button (wenn vorhanden)
- Enter/Space: Aktiviert den Schließen-Button
- Escape: Schließt den Alert (wenn
onClose
definiert ist)
Fokus-Management
Die Alert-Komponente implementiert folgende Fokus-Management-Strategien:
- Auto-Fokus: Der Alert kann automatisch fokussiert werden, wenn
autoFocus={true}
gesetzt ist - Fokus-Indikatoren: Deutliche visuelle Anzeige des Fokus für den Schließen-Button
Beispiele für barrierefreie Verwendung
Standard-Alert
<Alert
type="info"
message="Dies ist eine Informationsmeldung."
/>
Alert mit Titel
<Alert
type="warning"
title="Achtung"
message="Diese Aktion kann nicht rückgängig gemacht werden."
/>
Schließbarer Alert
<Alert
type="success"
message="Die Aktion wurde erfolgreich ausgeführt."
closable
onClose={handleClose}
/>
Error-Alert mit Auto-Fokus
<Alert
type="error"
title="Fehler"
message="Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut."
autoFocus
/>
Alert mit benutzerdefinierten Aktionen
<Alert
type="warning"
title="Bestätigung erforderlich"
message="Möchten Sie diese Aktion wirklich durchführen?"
>
<div className="flex space-x-2 mt-2">
<Button variant="outline" onClick={handleCancel}>Abbrechen</Button>
<Button variant="primary" onClick={handleConfirm}>Bestätigen</Button>
</div>
</Alert>
Best Practices
-
Passenden Alert-Typ wählen: Verwenden Sie den richtigen Typ für die Wichtigkeit der Nachricht
error
: Für kritische Fehler, die sofortige Aufmerksamkeit erfordernwarning
: Für potenzielle Probleme oder wichtige Warnungensuccess
: Für erfolgreiche Aktioneninfo
: Für allgemeine Informationen
-
Klare und präzise Nachrichten: Formulieren Sie Nachrichten klar und präzise
- Vermeiden Sie technischen Jargon
- Erklären Sie, was passiert ist und was der Benutzer tun kann
-
Titel für komplexe Alerts: Verwenden Sie einen Titel für komplexere Alerts
- Der Titel sollte kurz und prägnant sein
- Die Nachricht sollte Details enthalten
-
Auto-Fokus für wichtige Alerts: Verwenden Sie
autoFocus={true}
für wichtige Alerts- Besonders nützlich für Fehler-Alerts
- Stellen Sie sicher, dass der Alert nicht zu oft den Fokus erhält
-
Auto-Close mit Bedacht einsetzen: Verwenden Sie
autoClose
nur für weniger wichtige Alerts- Geben Sie dem Benutzer genügend Zeit zum Lesen
- Vermeiden Sie Auto-Close für Fehler-Alerts
Bekannte Einschränkungen
- Mehrere Alerts: Wenn mehrere Alerts gleichzeitig angezeigt werden, kann dies für Screenreader-Benutzer verwirrend sein
- Auto-Close: Auto-Close kann problematisch sein, wenn der Benutzer nicht genug Zeit zum Lesen hat
- Lange Nachrichten: Sehr lange Nachrichten können die Benutzerfreundlichkeit beeinträchtigen