Si votre site utilise des raccourcis clavier à une seule touche, peuvent-ils être désactivés ou reconfigurés ?
Critère officiel 12.10 — Dans chaque page web, les raccourcis clavier n’utilisant qu’une seule touche (lettre minuscule ou majuscule, ponctuation, chiffre ou symbole) sont-ils contrôlables par l’utilisateur ?
Pourquoi c'est important
Les utilisateurs de logiciels de dictée vocale déclenchent accidentellement des raccourcis à touche unique en dictant du texte — chaque lettre prononcée peut activer une commande. Les personnes avec des tremblements peuvent appuyer par inadvertance sur une touche seule et déclencher une action non souhaitée.
Exemples concrets
Ce qui est conforme
Un plugin de moteur de recherche utilise la touche « / » pour ouvrir la barre de recherche, mais propose dans les réglages une option pour désactiver ce raccourci. Un utilisateur de logiciel de dictée peut le désactiver et dicter du texte sans déclencher la recherche à chaque slash.
Ce qui pose problème
Le même plugin active le raccourci « / » de façon globale et permanente, sans option de désactivation. Un utilisateur qui dicte « et ainsi de suite / » ouvre involontairement la barre de recherche à chaque barre oblique dictée.
Comment agir
Ce problème est rare sur les sites municipaux standard, mais apparaît avec certains plugins de recherche avancée ou de navigation rapide. Demandez à votre prestataire si le site utilise des raccourcis à touche unique et, si oui, si un mécanisme de désactivation est prévu.
Règles clés
- Les raccourcis d'un seul caractère doivent être : désactivables, remappables, ou actifs uniquement dans un composant spécifique.
- Les raccourcis avec modificateur (Ctrl+S, Alt+F) ne sont pas concernés.
- Les touches de navigation dans un pattern APG (flèches dans un tablist) sont des exceptions si actives uniquement dans le composant.
Erreurs fréquentes
- Application de lecteur de mail avec raccourci 'r' pour répondre, actif globalement
- Raccourcis de jeux ou d'outils actifs sans modificateur (Ctrl, Alt, Shift)
Exemples de code
raccourci global sur une lettre
✗ Non conformedocument.addEventListener('keydown', e => {
if (e.key === 'r' && !e.ctrlKey && !e.altKey) {
repondreEmail();
}
});'r' est actif globalement. Un utilisateur de commande vocale qui dit 'retour' peut déclencher une réponse accidentellement.
raccourci avec modificateur ou désactivable
✓ Conforme// Option 1 : avec modificateur (Ctrl+R)
document.addEventListener('keydown', e => {
if (e.key === 'r' && e.ctrlKey) repondreEmail();
});
// Option 2 : désactivable dans les paramètres
let raccourcisActifs = true;
document.addEventListener('keydown', e => {
if (!raccourcisActifs) return;
if (e.key === 'r') repondreEmail();
});Ctrl+R nécessite un modificateur — pas de déclenchement accidentel. Ou raccourci simple mais désactivable dans les paramètres.
Référence WCAG : 2.1.4