Pull to refresh

Контрол-навигация

Reading time2 min
Views1.7K
Нельзя не заметить, что в рунете всё бóльшую популярность набирает т. н. контрол-навигация: перемещение по страницам одного уровня с помощью сочетаний Ctrl + ← и Ctrl + →. Некоторые товарищи даже неуютно себя чувствуют, когда попадают на сайт, не поддерживающий листание страниц с клавиатуры.

Почему эта функциональность до сих пор не реализована в самих браузерах?

На самом деле ещё первый графический браузер Мозаик умел распознавать элементы link с атрибутом rel, предусмотренные стандартом HTML для описания связей между страницами. Такие ссылки отображались в виде кнопок на специальной навигационной панели.

Из современных браузеров навигационные ссылки умеют показывать только Опера (по умолчанию панель скрыта) и Файрфокс (необходим плагин Site Navigation Bar). Как видим, панель навигации так и не прижилась. А как обстоит дело с сочетаниями клавиш?

Вместе с навигационной панелью в седьмой Опере появились клавиатурные сочетания Ctrl + Shift + ← и Ctrl + Shift + → для листания назад и вперёд. При этом браузер не давал переопределить для этой цели более привычные Ctrl + ← и Ctrl + →, из-за чего, например, на сайте Артемия Лебедева в качестве подсказки в Опере выводится не «Ctrl», а «Ctrl + Shift».

При переходе на версию 9.5 в рамках клавиатурной реформы все навигационные сочетания клавиш были в Опере удалены. Более того, пропала возможность назначить сочетания вручную, т. к. исчезли сами команды навигации по сайту. dmitskevich ниже любезно описал, как назначить их вручную.

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

Для Файрфокса существует плагин Link Widgets, позволяющий листать страницы с клавиатуры. В нём используются менее удобные, на мой взгляд, Alt + PageUp и Alt + PageDown, изменить их нельзя. Lite поделился ссылкой на более богатый возможностями плагин NextPlease!, кроме всего прочего позволяющий настроить любые сочетания клавиш для навигации по страницам, включая контрол со стрелками.

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

Пример скрипта есть в «Техногрете», однако он содержит существенную недоработку: сочетания контрола и стрелок срабатывают в полях ввода, конфликтуя с перемещением по словам. По этой причине контрол-навигацию следует отключать в элементах input и textarea, как это правильно делает «Хабрахабр».

P. S. Что ещё, кроме листания, было бы удобно делать с клавиатуры? На мой взгляд, сильно не хватает сочетания клавиш для поиска по сайту. Только оно должно не открывать отдельную страницу, а просто фокусировать поле ввода, которое порой нелегко найти. Пожалуй, для этой цели подойдёт сочетание Ctrl + Shift + F, которое в Опере до версии 9.5 как раз использовалось для перехода по ссылке с атрибутом rel="search".
Tags:
Hubs:
Total votes 44: ↑36 and ↓8+28
Comments48

Articles