- Sur mobile, un problème faisait surgir soudainement la boîte de réponse aux commentaires pendant le défilement, et l’administrateur du site, qui faisait défiler avec son pouce droit, n’arrivait pas à le reproduire
- La cause venait du lien reply à gauche de la page et du traitement
touchstartde WordPress, le défilement avec le pouce gauche pouvant entraîner un toucher involontaire sur le lien - Ce bug avait déjà été signalé sur WordPress Trac il y a 7 ans, et le code concerné avait été ajouté au dépôt de développement de WordPress en 2017
- Autrefois, il fallait éviter le délai de 300 ms pour distinguer le toucher du double-tap pour zoomer, mais d’après un billet de Chrome de 2013 et la documentation de FastClick de 2015, c’était déjà un problème dépassé
- La correction consiste à supprimer quelques lignes du code WordPress, avec pour objectif de réduire les ouvertures indésirables de réponse aux commentaires pendant le défilement sur mobile
Optimisation du blog et JavaScript des commentaires
- Au-dessus de l’installation par défaut de WordPress, de nombreuses modifications personnalisées ont été appliquées pour optimiser le blog au maximum
- L’usage de JavaScript a été réduit au strict minimum, et les fonctionnalités ont été conçues pour fonctionner même sans JavaScript
- Cela dit, JavaScript aide sur certaines fonctions, et l’exemple le plus visible est celui des commentaires
Un problème visible uniquement avec un défilement de la main gauche
- Un lecteur a signalé un bug sur le site : pendant le défilement de la page, la boîte de commentaire apparaissait soudainement et perturbait la navigation
- L’administrateur du site faisait souvent défiler la page, mais comme il utilisait son pouce droit, il n’avait jamais constaté le même problème
- L’utilisateur qui a signalé le bug faisait défiler avec la main gauche, et le lien reply en cause se trouvait sur la gauche de la page
- Un événement tactile peu perceptible avec un défilement au pouce droit pouvait se déclencher involontairement avec un défilement au pouce gauche
Le traitement touchstart de WordPress
- Ce problème avait déjà été signalé sur WordPress Trac il y a 7 ans
- En 2017, un développeur WordPress a ajouté un écouteur
touchstartsur le clic des liens - À l’époque, les navigateurs ne distinguaient pas clairement si un événement tactile marquait le début d’un clic ou celui d’un double-tap pour zoomer
- Déclencher l’événement en amont lorsqu’un toucher survenait sur un lien pouvait alors se comprendre comme un moyen d’éviter le délai de 300 ms
Le problème du délai de 300 ms avait déjà disparu
- Le délai de 300 ms sur les taps n’était déjà plus un problème de ce type depuis longtemps
- Le billet du blog développeur de Chrome de 2013 expliquait déjà la disparition de ce délai
- Même selon la documentation FastClick de 2015, ce n’était plus un enjeu majeur à résoudre
- On ne sait donc pas clairement pourquoi un code gênant les utilisateurs qui font défiler de la main gauche a été ajouté en 2017
Méthode de correction et effet attendu
- Sept ans après le signalement du bug, une PR de correction WordPress a été commitée
- La correction n’est pas une modification complexe : elle consiste à supprimer quelques lignes du code WordPress
- Ce changement pourrait réduire les déclenchements involontaires du lien reply pendant le défilement sur mobile, qui ouvraient la boîte de réponse aux commentaires
- Il n’existe pas de mécanisme de restriction d’accès selon la main dominante comme
<meta handed="right">, et cette modification vise avant tout à empêcher les événements tactiles indésirables
1 commentaires
Commentaires sur Lobste.rs
Trop de choses dans le monde sont conçues pour les droitiers. Même les slogans publicitaires sur les stylos sont souvent orientés de façon à être lisibles quand on les tient de la main droite.
Cela dit, vivre en gaucher, c’est aussi avoir une sorte de bloqueur de pub inné, au moins un peu.
« sinister disposition », c’est drôle. Je me souviens du jour où j’ai appris que sinister et dexterous (dexter) signifient littéralement respectivement « gauche » et « droite ».
Le phénomène culturel qui associe l’écart à la norme au mal, et avec lequel nous vivons encore, reste fascinant.
C’est probablement parce que le mot originel pour « gauche » est devenu tabou et a été remplacé par un nouveau mot, puis que ce nouveau mot est à son tour devenu tabou, et ainsi de suite.
[1]: https://reddit.com/r/asklinguistics/…
Les gens tiennent-ils généralement leur téléphone uniquement avec leur main dominante ? Je suis gaucher, mais pour mon téléphone j’utilise les deux mains presque au hasard et à peu près autant, et je pensais que tout le monde faisait comme ça.
Au début, je tenais le téléphone de la main droite et je le manipulais de la gauche ; avec le temps, j’ai fait de plus en plus de choses avec le pouce droit, jusqu’à ce qu’il devienne le principal point d’interaction.
J’utilise aussi la souris de la main droite, parce que, quand j’étais enfant, les câbles des souris en salle informatique étaient trop courts pour les déplacer à gauche.
Je suis gaucher moi aussi, mais je fais beaucoup de choses de la main droite, comme l’écriture manuscrite. Au piano aussi, ma main droite est dominante, et la manière dont la plupart des morceaux sont écrits y est sûrement pour quelque chose. Pour le téléphone, j’utilise les deux mains.
Cela dit, au-delà de deux ou trois phrases, j’utilise les deux pouces.
Curieusement, je fais presque tout le reste de la main droite, mais pour le téléphone je tends à le tenir et l’utiliser de la main gauche.
Je ne sais pas trop pourquoi, mais je pense que c’est parce que je mets mon téléphone dans la poche gauche, et mon portefeuille et mes clés dans la droite. Utiliser les clés et sortir le portefeuille est plus confortable avec la main dominante. Je me demande si je suis un cas particulier.
Au final, je fais défiler et j’effectue les tâches de base de la main gauche, mais pour écrire de longs messages, je le tiens de la gauche et je saisis en glissant avec la droite.
Utiliser
touchstartà cet endroit était une erreur dès le départ.La souris, le tactile et les pointeurs s’activent au relâchement, pas à l’appui, mais le point où l’appui a commencé doit être le même élément. Les événements clavier s’activent sur keydown, pas sur keyup. Cela dit, dans le cas où
Spaceagit sur un bouton, bizarrement c’est sur keyup, et contrairement à la souris, il ne se soucie pas non plus de l’élément sur lequel le keydown s’est produit.On peut expérimenter les différentes possibilités avec quelque chose comme
data:text/html,<button onclick=this.textContent=Math.random()>One</button><button onclick=this.textContent=Math.random()>Two</button>.Préparer l’activation sur
touchstart, par exemple commencer à précharger des données depuis le serveur si nécessaire, aurait été acceptable. Mais la véritable exécution de l’action ne devrait pas encore avoir lieu ; orelement.addEventListener( 'touchstart', clickEvent );gérait précisément cela de travers.Je n’ai pas compris le rapport avec les gauchers.
Est-ce un comportement propre aux pavés tactiles que j’ignore parce que j’utilise une souris ?