Skip to content. Skip to navigation
You are here: Home Base de connaissances sur l'accessibilité Les règles d'accessibilité Les règles 2.0 UTILISABLE : Règle 2.1 Accessibilité au clavier

UTILISABLE : Règle 2.1 Accessibilité au clavier

by Jean-Marie D'Amour last modified 2010-07-12 10:58

Règle 2.1 Accessibilité au clavier : rendre toutes les fonctionnalités accessibles au clavier.

Comprendre la règle 2.1 (en anglais)

Navigation au clavier

Le problème

Les personnes ayant des limitations motrices qui ne leur permettent pas d’utiliser une souris ou qui rendent cette utilisation difficile, doivent pouvoir se déplacer dans une page Web en utilisant des commandes au clavier.

Les personnes ayant des limitations visuelle sévères utilisent aussi le clavier pour se déplacer dans une page Web parce qu’elles ne peuvent utiliser la souris avec un lecteur d’écran ou un logiciel de grossissement en 8X ou plus.

Certains composants de la page, par exemple un applet ou un objet peuvent piéger l’utilisateur d’un clavier en lui permettant d’y entrer avec la touche tabulation mais pas toujours d’en ressortir pour revenir sur ses pas ou pour poursuivre la consultation du reste de la page.

La solution

  • Vous ne devez pas utiliser de liens ou de champs de formulaires qui sont simulés avec javascript car ces composants deviendront inutilisables au clavier ou avec les technologie d'adaptation informatiques ;
  • Si vous utilisez des objets ou des applets, vous devez vous assurer que l'utilisateur se déplaçant au clavier ne risque pas d'y rester piégé ;
  • Vous devez vous assurer que les événements comme « onmouseover » ou « onmouseout » sont dédoublés avec des événements au clavier comme « onfocus » et « onblur » ;
  • Ainsi, tous les événements déclenchés à l'aide de la souris pourront également l'être par l'utilisation à l’aide du clavier ;
  • Les utilisateurs ayant des limitations motrices ou visuelles pourront donc accéder au mêmes fonctionnalités que l'ensemble de vos visiteurs.

Exemples de code

  • Utilisable avec la souris uniquement :
<a id="emplois-et-formation"
href="/emploi-et-formation/"
title="Emploi et formation"
onmouseover="document.getElementById('img2')
.src='/img/navprinc_emplois_on.png';"
onmouseout="document.getElementById('img2')
.src='/img/navprinc_emplois_off.png';
"> Emploi et formation</a>
  • Utilisable à l’aide de la souris et du clavier :
<a id="emplois-et-formation"
href="/emploi-et-formation/"
title="Emploi et formation"
onmouseover="document.getElementById('img2')
.src='/img/navprinc_emplois_on.png';"
onfocus="document.getElementById('img2')
.src='/img/navprinc_emplois_on.png';"
onmouseout="document.getElementById('img2')
.src='/img/navprinc_emplois_off.png';"
onblur="document.getElementById('img2')
.src='/img/navprinc_emplois_off.png';
">Emploi et formation</a>

Événements dépendants ou indépendants de JavaScript

Dépendants Indépendants

onmouseover

Onfocus

onmouseout

Onblur

onmousedown

Onkeydown

onmouseup

Onkeyup

onclick

ATTENTION! Cet événement est déjà accessible au clavier, il ne faut donc pas le doubler de son équivalent onkeypress

ondblclick

ATTENTION! N'a pas d'équivalent

  • S’il est possible d’entrer dans un objet ou un applet à l’aide du clavier, il doit être possible de poursuivre le parcours du contenu hors de cet objet ou de cet applet en utilisant seulement le clavier ;
  • Il faut donc prévoir un mécanisme qui permette d’en sortir avec la touche tabulation, une touche flèchée ou tout autre moyen ;
  • Si la touche tabulation ou une touche flèchée ne suffisent pas, il faut rendre disponible au moment voulu, une explication sur la méthode à utiliser.

Les règles qui s’appliquent

WCAG 2.0

2.1.1 Clavier : toutes les fonctionnalités du contenu sont utilisables à l'aide d'une interface clavier sans exiger un rythme de frappe propre à l'utilisateur, sauf lorsque la fonction sous-jacente nécessite une saisie qui dépend du tracé du mouvement effectué par l'utilisateur et pas seulement des points de départ et d'arrivée de ce tracé. (Niveau A)

Note 1 : cette exception ne concerne que la fonction sous-jacente et non la technique de saisie. Par exemple, lorsqu'on utilise l'écriture manuscrite pour saisir du texte, la technique de saisie (l'écriture manuscrite) nécessite une saisie qui dépend d'un tracé, mais la fonction sous-jacente (la saisie de texte) ne le requiert pas.

Note 2 : cela n'interdit pas et ne devrait pas décourager l'utilisation de la souris ou de toute autre méthode de saisie en plus de l'utilisation du clavier.

  1. Ensuring keyboard control by using one of the following techniques.
  2. G90: Providing keyboard-triggered event handlers using one of the following techniques:
  3. FLASH22: Adding keyboard-accessible actions to static elements (Flash)
  4. FLASH16: Making actions keyboard accessible by using the click event on standard components (Flash)
  5. FLASH14: Using redundant keyboard and mouse event handlers in Flash (Flash)
Erreurs fréquentes à éviter

2.1.2 Pas de piège au clavier : si le focus du clavier peut être positionné sur un élément de la page à l'aide d'une interface clavier, réciproquement, il peut être déplacé hors de ce même composant simplement à l'aide d'une interface clavier et, si ce déplacement exige plus que l'utilisation d'une simple touche flèche ou tabulation ou toute autre méthode standard de sortie, l'utilisateur est informé de la méthode permettant de déplacer le focus hors de ce composant. (Niveau A)

Note : puisque tout contenu ne satisfaisant pas à ce critère de succès peut interférer avec la capacité de l'utilisateur à exploiter la page entière, tout le contenu présent dans la page Web (qu'il soit utilisé pour satisfaire à d'autres critères de succès ou non) doit satisfaire à ce critère de succès. Voir l'exigence de conformité 5 : Non-interférence.

  1. G21: Ensuring that users are not trapped in content
  2. FLASH17: Preventing a keyboard trap in Flash content (Flash)
Erreurs fréquentes à éviter

2.1.3 Clavier (pas d'exception) : toutes les fonctionnalités du contenu sont utilisables à l'aide d'une interface clavier sans exiger un rythme de frappe propre à l'utilisateur. (Niveau AAA)

SGQRI

008-01 : Accessibilité d'un site Web
  • 19 a) être conçu pour que tout élément de programmation soit utilisable avec les technologies d’adaptation informatiques et le soit avec le clavier ;
  • 19 b) être conçu pour que toute zone active pouvant être déplacée avec le clavier dans un applet ou un objet intégré dans la page Web, le soit aussi hors de cet applet ou de cet objet en utilisant seulement le clavier ;
  • 19 c) si un déplacement hors d’un applet ou d’un objet intégré dans une page Web exige davantage que l’utilisation d’une simple touche flèche ou tabulation au clavier, indiquer la méthode à utiliser pour sortir de cet applet ou de cet objet ;
008-02 : Accessibilité d'un document téléchargeable
  • 15 b) Un élément de programmation destiné à l’utilisateur doit être entièrement utilisable à l’aide du clavier.
  • 15 c) Si la zone active peut être déplacée dans un composant d’un document téléchargeable par une interface au clavier, la zone active doit aussi être déplaçable hors de ce composant en utilisant seulement une interface au clavier.
  • 15 d) Avec une interface au clavier, si un déplacement hors d’un composant d’un document téléchargeable exige davantage que l’utilisation d’une simple touche flèche ou tabulation, l’utilisateur doit être informé de la méthode à utiliser pour sortir de ce composant.
008-03 : Accessibilité du multimédia dans un site Web
  • 12 c) Les éléments de navigation doivent pouvoir être utilisés à l’aide des technologies d’adaptation informatiques et permettre l’accès à tout le contenu informatif dans un ordre séquentiel logique.
  • 16 b) Un élément de programmation doit être entièrement utilisable à l’aide du clavier.
  • 16 c) Si la zone active peut être déplacée dans un composant d’une animation vectorielle par une interface au clavier, la zone active doit aussi être déplaçable hors de ce composant en utilisant seulement une interface au clavier.
  • 16 d) Avec une interface au clavier, si un déplacement hors d’un composant d’une animation vectorielle exige davantage que l’utilisation d’une simple touche flèche ou tabulation, l’utilisateur doit être informé de la méthode à utiliser pour sortir de ce composant.

Aide à la navigation