Lorsque vous déplacez le curseur de haut en bas en appuyant sur les flèches haut/bas, le curseur disparaît parfois pendant une demi-seconde, ce qui vous fait vous demander : où est le curseur ? L’ai-je déplacé suffisamment vers le haut/bas ? Suis-je sur la bonne ligne ?
Le curseur ne disparaît pas réellement en soi ; il continue de clignoter à l’intervalle correct. Mais la façon dont il est actuellement implémenté n’est pas la façon dont il est implémenté partout ailleurs : dans les éditeurs de texte, dans les champs de saisie du navigateur, dans les IDE, etc.
Comparez.
Voici le curseur dans Discourse :
Notez comment je parviens facilement à appuyer rapidement deux fois sur haut ou bas et à rendre le curseur invisible sur une ligne vide. Cela me donne l’impression que le curseur disparaît et que je le perds de vue, et donc que je ne peux pas le contrôler précisément.
Comparez-le au fonctionnement du curseur dans JSFiddle, par exemple :
Remarque : peu importe la rapidité avec laquelle j’appuie sur le bouton haut/bas, le curseur est toujours visible lorsqu’il se déplace d’une ligne à l’autre. En d’autres termes, le clignotement « se réinitialise » lorsque le curseur passe à une autre ligne.
J’espère que les deux vidéos expliquent clairement le problème et faciliteront sa résolution.
Mais attendez, ma deuxième vidéo est également enregistrée dans Firefox, et il n’y a pas un tel problème. De plus, je connais exactement les étapes de reproduction, elle ne disparaît pas « sporadiquement » comme dans le rapport auquel vous avez lié. Est-ce parce que jsfiddle utilise son propre mécanisme de rendu du curseur tandis que Discourse utilise la zone de texte par défaut et est ainsi affecté par le comportement par défaut du curseur de Firefox ?
JSFiddle n’utilise pas de zone de texte, il utilise un élément HTML contenteditable, les zones de texte ne prennent pas en charge toute cette mise en surbrillance.
Je vous recommande de publier sur ce bug Firefox que j’ai lié, il ressemble exactement à ce que vous voyez.