Pagination Barrierefreiheit
Implementierte Verbesserungen
Die Pagination-Komponente wurde mit folgenden Barrierefreiheitsverbesserungen aktualisiert:
ARIA-Attribute
role="navigation"
- Definiert das Element als Navigationselementaria-label
- Bietet eine Beschreibung der Paginationaria-controls
- Verknüpft die Navigation mit der Seitenlisterole="list"
- Definiert die Seitenliste als Listearia-current="page"
- Markiert die aktuelle Seitearia-label
für Seitennummern - Bietet eine beschreibende Bezeichnung für jede Seitearia-disabled
- Zeigt an, ob ein Button deaktiviert istaria-live="polite"
- Sorgt dafür, dass Änderungen an der Seitenzahl angekündigt werdenaria-atomic="true"
- Sorgt dafür, dass der gesamte Inhalt des Elements angekündigt wirdaria-describedby
- Verknüpft eine ausführliche Beschreibung mit der Pagination
Tastaturunterstützung
- Vollständige Tastaturnavigation mit Tab-Taste
- Enter/Space zum Aktivieren von Buttons
- Korrekte Fokus-Reihenfolge zwischen Buttons
- Korrekte Deaktivierung von Buttons am Anfang/Ende
Screenreader-Unterstützung
- Versteckte Beschreibungen für zusätzliche Informationen
- Korrekte Ankündigung von Seitenwechseln
- Beschreibende Texte für Icons und Aktionen
- Korrekte Ankündigung von Ellipsen
- Korrekte Ankündigung der aktuellen Seite
Zusätzliche Funktionen
- Benutzerdefinierte Labels für alle Elemente
- Barrierefreie Icons mit versteckten Texten
- Barrierefreie Ellipsen mit beschreibenden Texten
- Barrierefreie Seitenzähler mit Live-Regionen
Beispiel-Implementierung
<PaginationA11y
pageCount={10}
currentPage={5}
onChange={(page) => setCurrentPage(page)}
labels={{
pagination: "Seitennavigation",
previous: "Zurück",
next: "Weiter",
first: "Erste Seite",
last: "Letzte Seite",
pageTemplate: "Seite {page} von {total}"
}}
description="Navigieren Sie durch die Suchergebnisse"
showPageCount
/>
Barrierefreiheitstests
Die Pagination-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
- Bei sehr vielen Seiten kann die Tastaturnavigation zeitaufwändig sein
- Die Komponente unterstützt derzeit keine Eingabe einer bestimmten Seitenzahl
- Die Komponente unterstützt derzeit keine Anpassung der Anzahl der Elemente pro Seite
- Die Ellipsen sind nicht anklickbar, um zu einer Seite zwischen den angezeigten Seiten zu springen