Attribut accesskey
Silktide trouve les éléments qui déclarent un accesskey, une ancienne manière d’attribuer à un élément son propre raccourci clavier. Ces raccourcis sont toujours actifs et ne peuvent pas être désactivés par le visiteur, ce qui cause plus de problèmes que cela n’en résout.
Pourquoi c’est important
L’attribut accesskey en crée un raccourci clavier à un seul caractère qui se déclenche dès que la touche est enfoncée. Cela entre en conflit avec la manière dont beaucoup de personnes utilisent déjà leur clavier : les utilisateurs de et les navigateurs réservent des combinaisons de touches qui se chevauchent, de sorte qu’un accesskey peut remplacer silencieusement un raccourci dont quelqu’un dépend — 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 avec la voix ou ont une dextérité limitée peuvent également déclencher le raccourci par accident.
Les , critère de succès 2.1.4 (Raccourcis clavier par caractère, niveau A), exigent que les raccourcis à un seul caractère puissent être désactivés, reconfigurés ou ne se déclenchent que lorsque l’élément a le . Un accesskey ne respecte 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 pouvant entrer en conflit avec ceux de l’utilisateur -->
<a href="\/search" accesskey="s">Rechercher</a>
<!-- Corrigé : un lien normal, accessible avec Tab comme le reste -->
<a href="\/search">Rechercher</a>
- Si vous avez réellement besoin de raccourcis clavier, implémentez-les de manière à ce que le visiteur puisse les désactiver ou les reconfigurer, ou qu’ils ne s’appliquent que lorsque le contrôle concerné a le focus.
Comment Silktide teste cela
- Trouver 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 l’emportent sur les bénéfices, et les recommandations actuelles sont d’éviter cet attribut. Des pages bien structurées, avec de bons titres et repères, servent mieux les utilisateurs au clavier.
Raccourcis implémentés en JavaScript
Cette vérification ne couvre que l’attribut accesskey. Les raccourcis implémentés en
script sont couverts par
Raccourcis clavier par caractère ; les deux vérifications sont
complémentaires et peuvent apparaître ensemble sur la même page.