Breadcrumb Component
CSS-only Tailwind CSS breadcrumb navigation with custom separators and accessible landmark markup. WCAG AA, works with Django, HTMX, Laravel, React, and any Tailwind CSS v4 project.
Les composants du fil d'Ariane affichent la hiérarchie de navigation et aident les utilisateurs à comprendre leur emplacement sur un site Web. Construit avec des éléments de navigation HTML sémantiques et des repères ARIA pour l'accessibilité, le fil d'Ariane améliore la convivialité en permettant aux utilisateurs de naviguer rapidement vers les sections parentes. Le système de fil d'Ariane Frutjam restitue automatiquement les séparateurs et prend en charge les séparateurs personnalisés pour un style flexible.
CSS uniquement, aucun JavaScript requis. WCAG AA accessible et indépendant du framework – fonctionne avec Django, HTMX, Laravel, React et n'importe quelle pile.
| Classe | Taper | Description |
|---|---|---|
| breadcrumb | Base | Conteneur de navigation pour le fil d'Ariane |
| breadcrumb-list | Modificateur | Liste ordonnée des éléments du fil d'Ariane |
| breadcrumb-item | Modificateur | Élément de liste individuel dans le fil d'Ariane |
| breadcrumb-link | Modificateur | Élément d'ancrage stylisé sous forme de lien de fil d'Ariane |
| breadcrumb-separator | Modificateur | Élément séparateur entre les éléments |
| breadcrumb-current | Modificateur | Marque l'élément de page actuel (actif) |
Utilisation de base
Si aucun séparateur n’est fourni, une flèche s’affiche automatiquement entre les éléments du fil d’Ariane.
1 2 3 4 5 6 7 8 9 10 | <nav class="breadcrumb" aria-label="Breadcrumb"> <ol class="breadcrumb-list"> <li class="breadcrumb-item"> <a href="/" class="breadcrumb-link">Home</a> </li> <li class="breadcrumb-item"> <span class="breadcrumb-current" aria-current="page">Current Page</span> </li> </ol> </nav> |
1 2 3 4 5 6 7 8 9 10 | <nav className="breadcrumb" aria-label="Breadcrumb"> <ol className="breadcrumb-list"> <li className="breadcrumb-item"> <a href="/" className="breadcrumb-link">Home</a> </li> <li className="breadcrumb-item"> <span className="breadcrumb-current" aria-current="page">Current Page</span> </li> </ol> </nav> |
Séparateurs de fil d'Ariane
Fil d'Ariane avec séparateur de texte
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <nav class="breadcrumb" aria-label="Breadcrumb"> <ol class="breadcrumb-list"> <li class="breadcrumb-item"> <a href="/" class="breadcrumb-link">Home</a> </li> <li class="breadcrumb-item"> <span class="breadcrumb-separator">/</span> <a href="/components" class="breadcrumb-link">Components</a> </li> <li class="breadcrumb-item"> <span class="breadcrumb-separator">/</span> <span class="breadcrumb-current" aria-current="page">Badge</span> </li> </ol> </nav> |
Fil d'Ariane avec séparateur d'icônes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <nav class="breadcrumb" aria-label="Breadcrumb"> <ol class="breadcrumb-list"> <li class="breadcrumb-item"> <a href="/" class="breadcrumb-link">Home</a> </li> <li class="breadcrumb-item"> <span class="breadcrumb-separator"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M5 12h14"></path> <path d="m12 5 7 7-7 7"></path> </svg> </span> <a href="/components" class="breadcrumb-link">Components</a> </li> <li class="breadcrumb-item"> <span class="breadcrumb-separator"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M5 12h14"></path> <path d="m12 5 7 7-7 7"></path> </svg> </span> <span class="breadcrumb-current" aria-current="page">Button</span> </li> </ol> </nav> |
Accessibilité du fil d'Ariane
Pour garantir que le fil d'Ariane est accessible aux lecteurs d'écran :
- Enveloppez la structure dans un élément
<nav>avec unaria-label="Breadcrumb". - Le dernier élément (page actuelle) doit utiliser
aria-current="page"et être de préférence un<span>plutôt qu'un lien. - Les séparateurs doivent être ignorés par les lecteurs d'écran (souvent gérés via CSS ou
aria-hidden="true"si vous utilisez un élément physique).