En bref, un accordéon est un élément qui a été réduit de sorte qu'on ne peut voir que son titre et une flèche descendante. Lorsque l'on clique sur le titre, l'élément se développera afin de révéler le corps du contenu. Si l'on clique une deuxième fois sur le titre, l'élément rétrécira au point de re-masquer le corps du contenu. Les accordéons permettent aux visiteurs de parcourir rapidement les titres qui figurent sur la page, ce qui peut être utile dans certains cas comme des listes de foires aux questions (FAQ).
L'accordéon est donc utilisé en interface web par soucis de permettre à l'utilisateur de parcourir rapidement le contenu et et aussi, simplement pour sauver de l'espace dans la page et éviter les longs blocs de texte infinis.
Voici la base:
Cliquez sur les accordéons ci-dessous pour développer/réduire le contenu de l'accordéon.
Remarquez le lien entre les IDs des éléments et les atributs data-bs-target, aria-controls, aria-labelledby et data-bs-parent
Conteneur de l'accordéon
L'élément parent qui contient tout les items de l'accordéon, doit avoir la classe .accordion
Conteneur de chaque item
Ensuite chaque duo titre-contenu, doit être entouré par un élément qui a la classe .accordion-item
Conteneur du titre de l'item
À l'intérieur de chaque accordion-item, il y aura un titre qui fait aussi office de bouton cliquable pour ouvrir et fermer le contenu.
Exemple:
Portez bien attention sur les attributs ci-haut.
- data-bs-target="#collapseTwo" et aria-controls="collapseTwo" où collapseTwo correspond au id du contenu qui accompagne ce titre.
Conteneur du contenu de l'item
Et finalement, toujours à l'intérieur de accordion-item, se trouve le contenu lui même.
Exemple:
Portez bien attention sur les attributs ci-haut.
- data-bs-parent="#accordionExample" où accordionExample correspond au id du parent qui contient tous les items de l'accordéon.
- aria-labelledby="headingTwo" où headingTwo correspond au id heading (h1, h2, h3 etc) qui accompagne le contenu actuel.