Annulation du pointeur
Silktide détecte les boutons et les liens qui agissent au moment où l'on appuie, plutôt qu'au moment où l'on relâche. Déclencher à la relâche donne aux personnes la possibilité de se rattraper après avoir appuyé au mauvais endroit, en glissant hors du contrôle avant de relâcher.
Pourquoi c'est important
Tout le monde appuie parfois sur le mauvais bouton, mais les personnes ayant des tremblements, une dextérité limitée ou une basse vision le font bien plus souvent. Le geste universel de rattrapage consiste à continuer de maintenir, glisser hors du contrôle, puis relâcher — ce qui fonctionne parce que les boutons et les liens agissent normalement au relâchement. Un contrôle programmé pour réagir à l'appui initial supprime cette échappatoire : l'action se déclenche instantanément, sans possibilité d'annuler. Sur un bouton d'envoi de formulaire ou de suppression, un faux mouvement devient une erreur irréversible.
Il s'agit du critère de succès 2.5.2 (Annulation du pointeur) des , une exigence de - faisant partie du niveau de conformité le plus basique.
Comment corriger
- Déclenchez les actions à partir de l'événement
click, qui se produit au relâchement, plutôt quemousedown,pointerdownoutouchstart. - Si un contrôle doit réellement répondre à l'appui initial — par exemple, une touche de piano dans une application de musique — assurez-vous que le fait de relâcher en dehors du contrôle inverse ou annule l'action, ou fournissez une fonction d'annulation.
- Si l'écouteur signalé ne déclenche pas réellement une action (il peut simplement ajouter un effet visuel d'appui), vous pouvez la constatation.
\/\/ Problème : se déclenche immédiatement à l'appui, ne peut pas être annulé
button.addEventListener('mousedown', submitForm);
\/\/ Correction : se déclenche au relâchement, donc glisser en dehors annule
button.addEventListener('click', submitForm);
Comment Silktide teste cela
- Charge chaque page dans un véritable navigateur et enregistre les écouteurs d'événements qu'elle installe.
- Recherche des écouteurs pour les événements d'appui :
mousedown,pointerdownettouchstart. - Signale un écouteur lorsqu'il est attaché à un contrôle normalement activé
au relâchement : un bouton, un lien, un champ input de type submit ou reset,
ou un élément avec un rôle tel que
button,link,menuitem,tabouswitch. - Ignore les écouteurs globaux de page non attachés à un contrôle spécifique, qui appartiennent généralement au défilement ou au glisser-déposer plutôt qu'à l'activation.
- Comme Silktide ne peut pas déterminer ce que fait le code de l'écouteur, les constatations sont signalées pour votre confirmation plutôt que comptabilisées comme des échecs confirmés.
Dépannage
L'écouteur n'active rien
Les écouteurs d'événements d'appui sont souvent utilisés pour des effets
inoffensifs : un style « enfoncé », une animation d'onde, ou la gestion du
focus, l'action réelle restant sur click. Cela satisfait le critère ;
approuvez la constatation.
Le contrôle est un curseur ou une poignée de déplacement
Les curseurs, poignées de déplacement et widgets similaires suivent légitimement l'appui initial. Les WCAG considèrent l'événement d'appui comme essentiel pour ces interactions ; approuvez la constatation.