пробел против фиксированных элементов

ни для кого не сюрприз, что пробел — самая большая и потому самая удобная кнопка на клавиатуре. Поэтому её довольно часто пытаются приспособить для действий, отличных от ввода символа пробела. В частности, любой «настольный» браузер при нажатии этой кнопки прокручивает страницу на один экран вниз. Этакий удобный Page Down. (А Shift-Space прокручивает страницу на экран вверх, аналогично Page Up.)

конечно, браузером с клавиатуры управляют немногие. Колёсико мыши и новомодные тачпады для многих задач оказываются удобнее. Но когда читаешь длинный текст, постраничная перемотка вне конкуренции. Впрочем, короткие заметки и картинки в том же фейсбуке популярнее длинных текстов, и потому известнее. Настолько известнее, что некоторые считающиеся крутыми веб-разработчики забывают о клавиатуре напрочь. Особенно если дефект не бросается в глаза слишком сильно.

честно говоря, этот пост обязан своим появлением совпадению. Совпали моё настроение побрюзжать и «плавающая панель» фейсбука. Поскольку для неё задан стиль position: fixed, она остаётся видимой наверху страницы независимо от прокрутки, и закрывает пару строчек содержания. Поэтому, если дочитать видимый на экране текст и нажать пробел, на следующем экране продолжение у текста будет неожиданным. Ещё бы, две строчки выпали.

потенциально это проблема не только фейсбука. Любой сайт, имеющий плавающую панель вверху или внизу экрана, может иметь такой изъян. А вот в гуглоплюсе эта проблема решена. Всего-то и нужно перехватить событие яваскриптом и промотать страницу на высоту видимого содержимого.

Артемий Трегубенко,

comments powered by Disqus