Annulation de pointeur
Les fonctions déclenchées par un pointeur unique doivent s'activer sur l'événement de relâchement, non sur l'appui — afin que l'utilisateur puisse glisser en dehors pour annuler. Une annulation, un rétablissement ou une désactivation préalable doit être possible, sauf si l'activation immédiate est essentielle.
Ce que le critère demande
Lorsqu’un utilisateur commence un appui ou un clic et réalise qu’il vise la mauvaise cible, il doit pouvoir glisser son doigt ou le curseur en dehors avant de relâcher, sans que l’action se déclenche. Cela signifie que l’activation doit se produire sur pointerup / click — le comportement standard du navigateur — et non sur pointerdown / mousedown.
Le critère de succès exige l’une des quatre garanties suivantes :
- L’événement d’appui ne déclenche pas la fonction, ou
- La complétion se produit sur l’événement de relâchement sur la même cible, avec la possibilité d’annuler en déplaçant le pointeur en dehors, ou
- Une annulation est disponible après l’activation, ou
- L’inverse de la fonction inverse le résultat (bascule).
Les activations essentielles — comme la frappe d’une touche de piano dans une application musicale — sont exemptées.
Comment y répondre
- Utiliser des écouteurs
click, nonmousedown/touchstart. Le navigateur implémente déjà le comportement correct d’annulation par glissement. - Pour les composants personnalisés qui gèrent manuellement les événements de pointeur, déclencher sur
pointerupet vérifier que la cible est toujours l’élément sous le curseur. - Pour les actions destructives (supprimer, envoyer), ajouter une étape de confirmation ou une notification d’annulation.
- Pour les boutons à bascule (sourdine, favori, état enfoncé), un second appui inverse la modification, ce qui satisfait également le critère.
Échecs courants
- Boutons câblés avec
onmousedownqui se déclenchent dès que le pointeur appuie. Glisser en dehors ne fait rien. - Poignées de glisser-déposer personnalisées qui interprètent
pointerdowncomme un événement de sélection. - Cartes à apparence native qui naviguent vers une page de détail sur
touchstart— l’utilisateur ne peut pas faire défiler sans activer accidentellement. - Menus déroulants qui se ferment sur
mousedownen dehors plutôt que surclick, absorbant le clic.
Pourquoi c’est important
Le glissement hors cible pour annuler est la manière dont les utilisateurs présentant un tremblement, des déficiences motrices, ou une précision de pointage insuffisante (stylet sur un train en mouvement) se récupèrent d’un appui manqué. Déclencher sur l’événement d’appui supprime cette échappatoire — dès que le doigt touche, l’action est validée. C’est également une contrainte d’utilisabilité pour tous : même les utilisateurs sans handicap s’appuient régulièrement sur le glissement en dehors lorsque leur appui atterrit sur la mauvaise cible.