Attribut accesskey
Silktide repère les éléments qui déclarent un accesskey, une ancienne façon d’attribuer à un élément son propre raccourci clavier. Ces raccourcis sont toujours actifs et le visiteur ne peut pas les désactiver, ce qui cause plus de problèmes que cela n’en règle.
Pourquoi c’est important
L’attribut accesskey en crée un raccourci clavier à un seul caractère qui se déclenche à chaque pression de la touche. Cela entre en conflit avec la manière dont beaucoup de personnes utilisent déjà leur clavier : les et les navigateurs réservent des combinaisons de touches qui se recoupent, donc un accesskey peut remplacer silencieusement un raccourci sur lequel quelqu’un compte — et la combinaison de touches qui le déclenche varie selon le navigateur et le système d’exploitation. Les personnes qui dictent au clavier par la voix ou qui ont une dextérité limitée peuvent aussi déclencher le raccourci par inadvertance.
Le critère de succès 2.1.4 de la (Raccourcis clavier à un seul caractère, niveau A) exige que les raccourcis à un caractère puissent être désactivés, réassignés, ou qu’ils ne se déclenchent que lorsque l’élément a le . Un accesskey ne satisfait à aucune de ces conditions : il est toujours actif, et seul le site peut le modifier.
Comment corriger
- Supprimez l’attribut
accesskey. Il apporte rarement une réelle valeur, et sa suppression ne change rien de visible sur la page.
<!-- Raccourci toujours actif qui peut entrer en conflit avec ceux de l’utilisateur -->
<a href="\/search" accesskey="s">Recherche</a>
<!-- Corrigé : un lien normal, atteignable avec Tabulation comme tout le reste -->
<a href="\/search">Recherche</a>
- Si vous avez réellement besoin de raccourcis clavier, implémentez-les de façon à ce que le visiteur puisse les désactiver ou les réassigner, ou pour qu’ils ne s’appliquent que lorsque le contrôle pertinent a le focus.
Comment Silktide teste cela
- Identifier chaque élément dans le HTML de la page qui déclare un attribut
accesskeyavec une valeur non vide. - Les signaler individuellement. Les valeurs vides (
accesskey="") sont ignorées, car certaines bibliothèques de composants rendent l’attribut inopérant et il ne crée alors aucun raccourci.
Dépannage
Nous avons ajouté des accesskeys pour améliorer l’accessibilité
C’était autrefois un conseil recommandé, mais l’expérience a montré que les conflits avec les raccourcis des navigateurs et des dépassent les bénéfices, et les recommandations actuelles sont d’éviter cet attribut. Des pages bien structurées, avec de bons en-têtes et des repères, servent mieux les utilisateurs au clavier.
Raccourcis implémentés en JavaScript
Ce contrôle ne couvre que l’attribut accesskey. Les raccourcis implémentés en script sont couverts par Raccourcis clavier à un seul caractère ; les deux contrôles sont complémentaires et peuvent tous deux apparaître sur la même page.