Gestes complexes et gestes simples
Un geste simple, c'est un contact en un seul point de l'écran : clic, double-clic, pression prolongée. Un geste complexe mobilise plusieurs doigts simultanément (pincement pour zoomer) ou suit une trajectoire précise (balayage). Les WCAG exigent que toute fonctionnalité déclenchée par un geste complexe soit aussi accessible via un geste simple.
Un carrousel que l'on ne peut parcourir qu'en balayant l'écran. Une carte impossible à zoomer sans pincer avec deux doigts. Pour toute personne qui navigue avec un eye tracker ou un stylet buccal, ces interfaces sont des murs.
#Ce que dit le critère WCAG 2.5.1
Le critère 2.5.1 des WCAG (niveau A, le minimum) pose une règle nette : toute fonctionnalité déclenchée par un geste complexe doit aussi fonctionner avec un geste simple en un seul point, sauf si le geste complexe est essentiel à la fonctionnalité elle-même.
Deux catégories de gestes complexes selon le glossaire du RGAA :
- Multipoint : plusieurs doigts en contact simultané. Pincer pour zoomer, écarter pour dézoomer, rotation à deux doigts.
- Basé sur une trajectoire : le doigt doit suivre un chemin précis. Balayer vers la gauche, tracer une forme, glisser le long d'un slider.
Un geste simple, à l'inverse : un clic, un tap, un double-clic, une pression longue. Un seul point de contact, aucune trajectoire imposée.
#Comment proposer des alternatives
Le principe est mécanique : chaque geste complexe a son équivalent en bouton ou en contrôle cliquable.
| Geste complexe | Alternative simple |
|---|---|
| Balayage dans un carrousel | Boutons « Précédent » et « Suivant » |
| Pincement pour zoomer une carte | Boutons + et − |
| Drag-and-drop pour réordonner | Boutons « Monter » et « Descendre » |
| Rotation à deux doigts | Bouton de rotation par incréments |
Le piège fréquent : considérer que le balayage d'un carrousel est un geste « essentiel ». Non. Le W3C est clair : « essentiel » signifie que la fonctionnalité elle-même repose sur le geste (une application de dessin à main levée, par exemple). Naviguer entre des slides n'a rien d'essentiel, des boutons font exactement la même chose.
#L'erreur que tout le monde fait
Beaucoup pensent que ce critère ne concerne que les écrans tactiles. Faux. Il s'applique à tout dispositif de pointage. Un drag-and-drop à la souris pour réorganiser une liste, c'est un geste basé sur une trajectoire. Sans boutons « Monter » / « Descendre » en alternative, vous êtes en infraction dès le niveau A.
Autre point souvent ignoré : le critère ne couvre pas les gestes gérés par le navigateur ou le système d'exploitation (zoom natif avec pincement, par exemple). Il ne concerne que les gestes interprétés par votre propre code.
Qui est affecté ? Les personnes avec des troubles moteurs (tremblements, Parkinson, paralysie), les utilisateurs de technologies d'assistance qui émulent un pointeur unique (head pointer, eye tracker), mais aussi toute personne dans une situation temporaire : un bras dans le plâtre, des gants, un trajet en transports.
#En résumé
Chaque geste multipoint ou à trajectoire dans votre interface doit avoir un équivalent en un seul point de contact. Un bouton, un clic, un tap. Si l'alternative existe, vous êtes conforme. Si elle manque, même un simple carrousel sans boutons de navigation vous met hors des clous.