diff --git a/src/fr/articles/menu-deroulant/index.njk b/src/fr/articles/menu-deroulant/index.njk index 8e0f3f78c..d673fbff4 100644 --- a/src/fr/articles/menu-deroulant/index.njk +++ b/src/fr/articles/menu-deroulant/index.njk @@ -7,14 +7,22 @@ tags: - component --- -
Dans cet exemple nous allons utiliser le menu déroulant disponible dans la librairie Boosted. Cette librairie basée sur Bootstrap permet de concevoir rapidement des interfaces accessibles aux couleurs de la charte Orange.
+L'exemple d'implémentation décrit ci-dessous est aussi bien adapté aux menus de navigation comme aux composants unitaires présentant une liste d'actions.
+Les menus déroulants permettent d’organiser et d’afficher des options de navigation ou des actions de manière compacte et structurée. Cependant, s’ils ne sont pas correctement développé, ils créer des problèmes d’accessibilité pour de nombreux utilisateurs.
+Un menu déroulant accessible garantit une navigation fluide et intuitive pour tous, en respectant la conformité et les recommandations des normes (WCAG, RGAA, EN301549 etc.).
+Dans les exemples suivants, nous allons utiliser le menu déroulant disponible dans la librairie Boosted. Cette librairie basée sur Bootstrap permet de concevoir rapidement des interfaces accessibles aux couleurs de la charte Orange et conforme aux normes WCAG ainsi qu'au motif de conception aria combobox
-Voici le rendu de notre menu.
+Pour que le menu déroulant soit accessible, il faudra faire particulièrement attention aux points suivants :
+aria-expanded
et aria-current
par exemple)
+
<div class="dropdown">
- <button class="btn btn-outline-secondary dropdown-toggle" type="button" id="dropdownMenu1" data-bs-toggle="dropdown">
+ <button class="btn btn-outline-secondary dropdown-toggle" aria-expanded="false" type="button" id="dropdownMenu1" data-bs-toggle="dropdown">
Mon compte
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
- <li><a class="dropdown-item" href="#">Mon panier</a></li>
+ <li><a class="dropdown-item" href="#" >Mon panier</a></li>
<li><a class="dropdown-item" href="#">Mes commandes</a></li>
<li><a class="dropdown-item" href="#">Mes informations</a></li>
<li role="separator" class="dropdown-divider"></li>
@@ -49,8 +57,14 @@ tags:
</div>
+aria-expanded
: l'attribut aria-expanded
avec comme valeur true/false
, permet de vocaliser l'état du menu (ouvert ou fermé).aria-current
: si le menu déroulant est utilisé au sein d'un menu de navigation, prévoir l'ajout d'un attribut aria-current="page"
sur l'item correspondant à la page active.aria-haspopup
: l'attribut aria-haspopup
est réservé au rôle menu
(voir paragraphe "Cas particulier des menus applicatifs"). Il n'est donc pas présent dans cette implémentation.Pour que ce menu soit accessible, il doit être utilisable, à la souris, au clavier et au lecteur d'écran.
aria-expanded
: l'attribut aria-expanded
avec comme valeur true/false
, permet de vocaliser l'état du menu (ouvert ou fermé).aria-current
: si le menu déroulant est utilisé au sein d'un menu de navigation, prévoir l'ajout d'un attribut aria-current="page"
sur l'item correspondant à la page active.aria-haspopup
: l'attribut aria-haspopup
est réservé au rôle menu
(voir paragraphe "Cas particulier des menus applicatifs"). Il n'est donc pas présent dans cette implémentation.
- <button aria-expanded="false">Mon compte</button>
- <ul class="dropdown-menu">
- <li><a class="dropdown-item" href="#">Mon panier</a></li>
- <li><a class="dropdown-item" href="#" aria-current="page">Mes commandes</a></li>
- <li><a class="dropdown-item" href="#">Mes informations</a></li>
- <li role="separator" class="dropdown-divider"></li>
- <li><a class="dropdown-item" href="#">Déconnexion</a></li>
- </ul>
-
En complément le pattern ARIA décrit l'utilisation d'un attribut aria-controls
, ainsi que des interactions claviers optionnelles supplémentaires : Home/End
Exemple : Example Disclosure for Navigation Menus