Tree - Arborescence

L'arborescence permet aux utilisateurs de naviguer dans différents niveaux d'informations hiérarchiques imbriquées.

Rôle et attributs ARIA

Rôles et attributs ARIA générés par défaut
  • Rôle ARIA principal : role="tree"
  • Attributs ARIA utilisés :
    • aria-multiselectable="true" si l’attribut selection est à "multiple", c’est à dire si plusieurs éléments tree-item enfants sont sélectionnables simultanément
  • tabindex="-1" : permet de ne placer le focus que sur la dernière branche de l’arbre qui a été sélectionnée, laissant la navigation entre les branches principales se faire avec les flèches directionnelles

 

Attributs de l’élément ayant un impact sur l’accessibilité

Attribut

Impact

selection

Si la valeur est multiple l’élément dsa-tree aura un attribut aria-multiselectable="true".

Si la valeur est parent les éléments “feuille” dsa-tree-item auront un attribut aria-disabled="true" mais resteront focusables.

 

Navigation et interaction clavier

Touches supportées :
  • Flèches directionnelles haut et bas → Permettent de naviguer sur l’intégralité du contenu affiché, c’est à dire les tree-item ouverts ou fermés et les tree-item enfants de tree-item parents ouverts
  • Flèches directionnelles gauche et droite → Permettent de naviguer sur l’intégralité du contenu d’un tree, en ouvrant les items qui sont fermés et en plaçant le focus sur chacun des tree-item. En naviguant en arrière (avec la flèche gauche), les tree-item parents sont fermés
  • Space → Sélectionne le tree-item sur lequel est placé le focus.
    Si l’item est une “feuille” et que l’attribut selection a pour valeur parent, c’est son parent qui sera sélectionné.
  • Enter → Sélectionne l’élément tree-item sur lequel est placé le focus.
    Si l’item est une “feuille” et que l’attribut selection a pour valeur parent, c’est son parent qui sera sélectionné.
  • Home → Sélectionne le premier élément tree-item
  • End → Sélectionne le dernier élément tree-item
Gestion du focus :
  • Le focus à l’intérieur d’un tree est géré exclusivement à l’aides des flèches directionnelles (haut et bas pour naviguer entre les éléments affichés et gauche/droite pour naviguer entre tous les éléments et les ouvrir s’ils sont fermés)
  • A l’ouverture/fermeture d’un tree-item, le focus reste sur l’élément ouvert/fermé

Bonnes pratiques et pièges à éviter

 

Référence