Accéder au contenu principalAccéder à la navigationAccéder au pied de page
Page d'accueil IncluddyPage d'accueil Includdy
  • FAQ
  • Blog
  • Glossaire
  • Contact
Includdy

Rendons le web accessible à tous

Produit

  • Scan automatique
  • Correction guidée
  • Collaboration

Ressources

  • FAQ
  • Blog
  • Glossaire
  • Plan du site

Légal

  • CGU
  • CGV
  • Mentions légales
  • Politique de confidentialité

© 2026 Includdy. Tous droits réservés.

  1. Accueil
  2. Glossaire
  3. Accessible et activable par le clavier

Accessible et activable par le clavier


Un composant est « accessible au clavier » quand on peut le sélectionner avec Tab, et « activable » quand on peut déclencher son action avec Entrée ou Espace. Les éléments HTML natifs comme <a>, <button> et <input> le sont par défaut. Un <div> avec un onclick, non.


Un <span> avec un onclick fonctionne à la souris. Au clavier, rien ne se passe. Pas de focus, pas d'activation, pas de retour. L'utilisateur qui navigue sans souris est bloqué sur place.

#Deux notions distinctes

Le RGAA distingue deux choses :

  • Accessible : l'utilisateur peut atteindre le composant avec la touche Tab (prise de focus).
  • Activable : l'utilisateur peut déclencher l'action avec Entrée ou Espace.

Les éléments HTML natifs (<a>, <button>, <input>, <select>) remplissent ces deux conditions sans aucun effort. Le critère WCAG 2.1.1 (niveau A) exige que toute fonctionnalité soit utilisable via le clavier, sauf si elle dépend du tracé d'un mouvement (comme le dessin à main levée).

#L'erreur classique : le faux bouton

Voici un composant inaccessible au clavier :

<!-- ❌ Inaccessible au clavier -->
<span onclick="valider()">Valider</span>

La souris fonctionne. Le clavier, non. L'élément ne reçoit pas le focus et ne réagit pas à Entrée.

La correction la plus simple :

<!-- ✅ Nativement accessible et activable -->
<button type="button" onclick="valider()">Valider</button>

Si vous devez utiliser un <div> (cas rare), il faut reconstituer tout le comportement :

<!-- ⚠️ Possible, mais fragile -->
<div role="button" tabindex="0" onclick="valider()" onkeydown="if(event.key==='Enter'||event.key===' ')valider()">
  Valider
</div>

Trois attributs et un gestionnaire d'événement pour reproduire ce qu'un <button> fait en une ligne.

#Focus visible et piège au clavier

Rendre un élément focusable ne suffit pas. Deux autres exigences complètent le tableau.

Le focus doit rester visible. Supprimer outline: none en CSS sans fournir d'alternative revient à retirer les repères visuels d'un utilisateur qui navigue au clavier. Le critère WCAG 2.4.7 l'exige au niveau AA.

Le focus ne doit jamais être piégé. Si un utilisateur entre dans une modale ou un menu et ne peut pas en sortir avec Tab ou Échap, c'est une violation du critère WCAG 2.1.2. Chrome Lighthouse teste ce point automatiquement.

#En résumé

Utilisez les éléments HTML natifs. Ils sont déjà accessibles et activables au clavier. Si vous construisez un composant personnalisé, ajoutez tabindex="0", le role ARIA approprié et un gestionnaire keydown. Testez avec Tab, Entrée, Espace et Échap, sans toucher la souris.

Retour au glossaire

Partagez cet article

Partagez cet article

Pour aller plus loin

Navigation au clavier

La navigation au clavier désigne la capacité de parcourir et d'utiliser une interface web avec les seules touches du clavier, sans souris. C'est le mode d'interaction principal pour les personnes qui ne peuvent pas utiliser de dispositif de pointage, et un test de base pour vérifier l'accessibilité d'un site.

Focus

Le focus désigne l'état d'un élément de page web quand il reçoit l'attention du clavier. Un indicateur visuel, souvent un contour, signale quel élément est actif. Sans cet indicateur, naviguer au clavier devient impossible.

Composant d'interface

Un composant d'interface est un élément de page avec lequel l'utilisateur interagit : bouton, lien, champ de saisie, menu ou système d'onglets. Quand il s'agit d'un élément HTML natif, le navigateur gère l'accessibilité. Quand il est construit en JavaScript, c'est au développeur de reproduire ce comportement avec WAI-ARIA et la gestion clavier.