При перемещении курсора вверх/вниз с помощью стрелок он иногда исчезает на полсекунды, заставляя задуматься: где же курсор? Достаточно ли я переместил его вверх/вниз? Нахожусь ли я на нужной строке?
Курсор на самом деле не исчезает — он продолжает мигать с правильной частотой. Однако текущая реализация отличается от того, как это устроено повсюду: в текстовых редакторах, полях ввода в браузере, IDE и т. д.
Сравните.
Вот как выглядит курсор в Discourse:
Обратите внимание, как легко мне удаётся быстро нажать стрелку вверх или вниз дважды и сделать курсор невидимым, находясь на пустой строке. Это создаёт ощущение, что курсор исчезает, и я теряю его из виду, из-за чего не могу точно им управлять.
Сравните с тем, как работает курсор в JSFiddle (в качестве примера):
Обратите внимание: неважно, как быстро я нажимаю стрелку вверх/вниз — курсор всегда виден при перемещении с одной строки на другую. Иными словами, мигание «сбрасывается» при переходе курсора на другую строку.
Надеюсь, два видео чётко объясняют проблему и помогут легко принять решение по её исправлению.
Но подождите, мое второе видео тоже записано в Firefox, и такой проблемы там нет. Кроме того, я точно знаю шаги воспроизведения: курсор не исчезает «спорадически», как в упомянутом вами отчете. Не связано ли это с тем, что jsfiddle использует собственный механизм отрисовки курсора, тогда как Discourse использует стандартное текстовое поле и поэтому подвержен влиянию стандартного поведения курсора в Firefox?