Ordre de mise au point
Silktide repère les éléments qui modifient l’ordre dans lequel les personnes qui utilisent le clavier se déplacent dans la page. Par défaut, l’appui sur la touche Tabulation parcourt les liens et les contrôles de formulaire dans l’ordre où ils apparaissent dans le code de la page; un attribut tabindex positif impose un ordre personnalisé, ce qui est presque toujours une erreur.
<!-- Force ce champ à être atteint avant tout le reste de la page -->
<input tabindex="1" name="search">
Pourquoi c’est important
Les personnes qui utilisent le clavier s’attendent à ce que la touche Tabulation parcoure une page dans un ordre prévisible qui correspond à ce qu’elles voient. Un tabindex positif détourne cet ordre : le focus saute d’abord vers les éléments numérotés, puis revient au reste, ce qui peut faire bondir le partout dans la page. C’est aussi fragile : ajouter un nouvel élément plus tard oblige à tout renuméroter, et cela se brise souvent lorsque les pages changent.
Comment corriger
- Supprimez les valeurs de
tabindexpositives et laissez l’ordre naturel du déterminer l’ordre de tabulation. - Si l’ordre naturel prête à confusion, réordonnez les éléments dans votre HTML (en utilisant le CSS pour la mise en page visuelle) plutôt que de masquer le problème avec
tabindex. - Les autres valeurs de
tabindexsont correctes et ne sont pas signalées :tabindex="0"rend un élément focalisable au clavier à sa position naturelle, utile pour des contrôles personnalisés.tabindex="-1"retire un élément de la navigation par Tabulation, utile pour des éléments ciblés par script, comme des boîtes de dialogue.
Comment Silktide teste ceci
- Repérer chaque élément de la page avec un attribut
tabindexexplicite. - Signaler chaque élément dont le
tabindexest supérieur à 0 comme un problème probable à confirmer. - Les valeurs de 0 et moins ne sont pas signalées.
Dépannage
Nous utilisons volontairement un tabindex positif
Il est rare que l’ordre du code d’une page ne puisse vraiment pas correspondre à son ordre logique et que des valeurs de tabindex positives soient la seule solution. Si vous avez vérifié que l’ordre de tabulation a du sens en parcourant la page avec Tabulation, vous pouvez marquer la constatation comme vérifiée.