Aller au contenu
SilktideAide

Raccourcis clavier à caractère unique

Silktide repère les pages qui enregistrent un écouteur de clavier sur l’ensemble de la page — le document, la fenêtre ou les éléments <body>/<html> — et vous demande de vérifier si des raccourcis à une seule touche nécessitent un moyen d’échappement.

Des exemples connus sont d’appuyer sur j pour faire défiler vers le bas, sur / pour placer le focus sur la recherche, ou g puis h pour aller à l’accueil.

Ceci est un : un écouteur de touches global est une vraie raison d’y regarder, mais Silktide ne peut pas savoir d’après le seul enregistrement si le gestionnaire implémente un raccourci à une seule touche. Les pages sans écouteur global ne sont pas signalées.

Pourquoi c’est important

Deux groupes sont particulièrement pénalisés par des raccourcis à touche unique toujours actifs :

  • Utilisateurs de la saisie vocale qui dictent du texte et des commandes à voix haute. Le logiciel transforme leur parole en frappes clavier, si bien qu’une phrase ordinaire devient une suite d’activations de raccourcis accidentelles — la page peut sauter, des boîtes de dialogue peuvent s’ouvrir et des actions peuvent se déclencher en plein milieu d’une phrase.
  • Personnes ayant une faible dextérité ou des tremblements qui appuient régulièrement sur des touches non voulues ; toute touche unique peut alors devenir un déclencheur actif.

Le critère de succès 2.1.4 (niveau A) des exige donc que les raccourcis à caractère unique puissent être désactivés, réaffectés pour inclure une touche de modification comme Ctrl ou Alt, ou ne se déclenchent que lorsque le contrôle pertinent a le .

Comment corriger

Pour chaque gestionnaire clavier global qui implémente un raccourci à une seule touche, faites l’une des choses suivantes :

  1. Proposez un paramètre permettant de désactiver les raccourcis.
  2. Exigez une touche de modification, de sorte que le raccourci devienne par exemple Ctrl+K au lieu de k.
  3. Ne traitez la touche que lorsque le contrôle pertinent a le focus — les raccourcis limités à un contrôle focalisé sont explicitement autorisés.
// Se déclenche à chaque pression de "k", n’importe où sur la page
document.addEventListener('keydown', (e) => {
  if (e.key === 'k') openSearch();
});

// Corrigé : nécessite d’appuyer sur Ctrl (ou Cmd)
document.addEventListener('keydown', (e) => {
  if (e.key === 'k' && (e.ctrlKey || e.metaKey)) openSearch();
});

Si un écouteur signalé n’implémente pas de raccourcis à caractère unique — ou propose déjà l’un de ces moyens d’échappement — le résultat.

Comment Silktide teste cela

  1. Recueillir les clavier que la page enregistre dans le navigateur.
  2. Ne conserver que les écouteurs à l’échelle de la page — ceux attachés au document, à la fenêtre ou à l’élément <body>/<html>. Les écouteurs sur des contrôles individuels sont exemptés, car ils ne se déclenchent que lorsque ce contrôle a le focus.
  3. Signaler chaque écouteur restant pour confirmation. Silktide ne parcourt pas le code du gestionnaire à la recherche de motifs e.key === '\u2026' — c’est trop fragile face au code minifié et aux frameworks. La présence d’un écouteur global est le signal ; votre examen fait office de verdict.

Dépannage

L’écouteur n’est pas un raccourci à caractère unique

Beaucoup de gestionnaires globaux ne surveillent que Échap, les flèches ou des combinaisons avec modificateurs. Si le vôtre n’a pas de raccourcis à caractère unique, approuvez le résultat.

Le raccourci peut déjà être désactivé ou réaffecté

Silktide voit l’enregistrement de l’écouteur, mais ne peut pas savoir si votre site propose une option dans les réglages. Si c’est le cas, la page est conforme — approuvez le résultat.

Raccourcis issus de scripts tiers

Les widgets de chat, les lecteurs vidéo et les outils d’analyse enregistrent parfois leurs propres écouteurs globaux. Ils comptent tout de même pour votre page ; vérifiez les options d’accessibilité du fournisseur ou signalez‑leur le problème.

Raccourcis créés avec l’attribut accesskey

Ceux‑ci sont traités séparément par le contrôle Attribut accesskey ; ce contrôle couvre les raccourcis implémentés en script.

En savoir plus

Dernière mise à jour

Cette page vous a-t-elle été utile ?

Raccourcis clavier à caractère unique | Centre d’aide Silktide