Indépendance par rapport au périphérique
Par Victor Brito, le jeudi 14 février 2008, à 15h00 - Moyens techniques - Lien permanent
Il s'agit de s'assurer que l'activation d'éléments de page puisse s'effectuer au moyen de différentes interfaces d'entrée.
L'utilisateur doit avoir la possibilité d'interagir avec le document ou le navigateur, quelle que soit l'interface : souris, clavier, commande vocale… S'il souffre d'une déficience visuelle, il doit pouvoir jongler entre les champs de contrôle d'un formulaire sans être contraint d'utiliser la souris (ou tout autre dispositif de pointage), qu'il ne pourrait pas utiliser de toute façon.
Les cartes cliquables, sauf si les régions ne peuvent être définies par des formes géométriques disponibles, doivent l'être côté client plutôt que côté serveur. En outre, pour tenir compte de l'absence de dispositif de pointage, il faut prévoir des équivalents textuels, comme pour tout contenu visuel.
Il faut s'assurer que tout élément possédant sa propre interface soit activable indépendamment du dispositif (clavier, souris…). De même, les scripts doivent comporter des gestionnaires d'événements logiques plutôt que des gestionnaires dépendant de l'interface : un événement doit pouvoir être déclenché aussi bien par un clic de souris que par la frappe d'une touche de clavier.
On peut aussi développer un ordre de tabulation pour les liens, les éléments de formulaire et les objets. En HTML, on utilise l'attribut tabindex, dont la valeur est un nombre ; son utilisation a pour effet, lors de la navigation dans une page, de parcourir d'abord les éléments pourvus de cet attribut, en partant de la valeur la plus faible rencontrée, puis les éléments qui en sont dépourvus, dans l'ordre d'apparition dans le code source. Autrement dit, dans le bout de code suivant :
<p><a href="autre-page.html">Choisir un autre formulaire</a></p>
<form action="mapage.html" method="post">
<p>
<input tabindex="2" type="text" name="champ1" />
<input tabindex="1" type="text" name="champ2" />
<input tabindex="3" type="submit" name="validation" />
</p>
</form>
<p><a href="autre-page-bis.html">Choisir encore un autre formulaire</a></p>
une navigation au clavier partira du « champ2 » pour aller au « champ 1 », qui le précède, puis au champ de validation, et enfin revenir au début du document pour cibler le premier lien, puis le second.
On peut aussi fournir des raccourcis clavier aux liens les plus importants et aux champs de formulaire. En HTML, on utilise l'attribut accesskey, dont la valeur est un simple caractère (lettre ou chiffre). Si un document comporte un raccourci clavier de valeur U, par exemple, et que l'utilisateur entre sur le clavier une combinaison de touches comportant la touche U, le pointeur ciblera l'élément correspondant au raccourci clavier : s'il s'agit d'un élément label, le curseur sera placé dans le champ de contrôle correspondant ; s'il s'agit d'un lien, ce dernier sera suivi.

