Breadcrumb-Komponente: Barrierefreiheit
Diese Dokumentation beschreibt die Barrierefreiheitsfunktionen der Breadcrumb-Komponente und gibt Hinweise zur korrekten Verwendung für eine optimale Zugänglichkeit.
ARIA-Attribute und Rollen
Die Breadcrumb-Komponente verwendet folgende ARIA-Attribute und Rollen, um die Barrierefreiheit zu verbessern:
Navigation-Container
aria-label="Breadcrumb"
: Beschreibt den Zweck der Navigation
Aktuelle Seite
aria-current="page"
: Kennzeichnet das aktuelle Element in der Breadcrumb-Navigation
Icons und Separatoren
aria-hidden="true"
: Versteckt dekorative Elemente vor Screenreadern
Strukturierte Daten (Schema.org)
Die Breadcrumb-Komponente implementiert das Schema.org BreadcrumbList Markup für eine bessere Suchmaschinenoptimierung:
itemScope
unditemType="https://schema.org/BreadcrumbList"
auf dem<ol>
-ElementitemProp="itemListElement"
,itemScope
unditemType="https://schema.org/ListItem"
auf jedem<li>
-ElementitemProp="item"
auf jedem Link oder SpanitemProp="name"
auf dem Text-WrapperitemProp="position"
mit dem Index als Inhalt
Tastaturnavigation
Die Breadcrumb-Komponente unterstützt folgende Tastaturinteraktionen:
- Tab: Navigiert durch die Links in der Breadcrumb-Navigation
- Enter: Aktiviert den fokussierten Link
Beispiele für barrierefreie Verwendung
Standard-Breadcrumb
<Breadcrumb
items={[
{ label: 'Home', href: '/' },
{ label: 'Produkte', href: '/products' },
{ label: 'Kategorie', active: true }
]}
/>
Breadcrumb mit Home-Icon
<Breadcrumb
items={[
{ label: 'Home', href: '/' },
{ label: 'Produkte', href: '/products' },
{ label: 'Kategorie', active: true }
]}
showHomeIcon
/>
Breadcrumb mit benutzerdefiniertem Separator
<Breadcrumb
items={[
{ label: 'Home', href: '/' },
{ label: 'Produkte', href: '/products' },
{ label: 'Kategorie', active: true }
]}
separator=">"
/>
Breadcrumb mit Komponenten
<Breadcrumb>
<BreadcrumbItem href="/">Home</BreadcrumbItem>
<BreadcrumbItem href="/products">Produkte</BreadcrumbItem>
<BreadcrumbItem isCurrentPage>Kategorie</BreadcrumbItem>
</Breadcrumb>
Best Practices
- Konsistente Platzierung: Platzieren Sie die Breadcrumb-Navigation immer an der gleichen Stelle auf allen Seiten
- Klare Hierarchie: Stellen Sie sicher, dass die Breadcrumb-Navigation die Seitenhierarchie korrekt widerspiegelt
- Aktuelle Seite markieren: Markieren Sie immer die aktuelle Seite mit
active: true
oderisCurrentPage
- Kurze Labels: Verwenden Sie kurze, prägnante Labels für die Breadcrumb-Elemente
- Home-Link: Beginnen Sie die Breadcrumb-Navigation immer mit einem Link zur Startseite
Bekannte Einschränkungen
- Lange Breadcrumbs: Sehr lange Breadcrumbs können auf kleinen Bildschirmen schwer zu bedienen sein
- Dynamische Breadcrumbs: Dynamisch generierte Breadcrumbs können für Screenreader-Benutzer verwirrend sein, wenn sie sich unerwartet ändern