Яндекс добавил горячие клавиши для управления результатами поиска

С сегодняшнего дня страницей с результатами поиска Яндекса можно управлять с клавиатуры. Чтобы начать пользоваться горячими клавишами, проставьте в настройках галочку в пункте «Включить клавиатурное управление». Чтобы увидеть список команд, нажмите на клавишу с вопросительным знаком, находясь на странице с выдачей.

86402490ec2f41718eaa3eae51581fa2.png

Клавиатурное управление требует много JS-логики, поэтому мы старались держать его минимальным и добавили только то, что нужно уметь делать на каждой странице с результатами поиска. Например, мы научили её переключаться по сочетанию клавиш на следующие 10 результатов и возвращаться к предыдущим — для этого нужно нажать Alt + → или Alt + ← соответственно. Теперь одной кнопкой можно вернуться и в строку поиска, чтобы переформулировать запрос — Esc или Tab.

Также доступен vim-режим, в котором навигация осуществляется не только стрелками, но и клавишами h, j, k, l. Если режим отключен, то при наборе текста курсор сразу попадает в поле ввода и на нём не нужно специально ставить фокус
В процессе работы мы долго думали над тем, каким цветом выделять активные элементы. Если менять только цвет тайтла, то такое изменение почти незаметно, и глазам тяжело следить за переключением. Рамки шумят визуально и скорее раздражают, чем говорят о выделении. В итоге мы выделяем весь блок акцентным цветом, который уже используем в поисковых подсказках и левой колонке.

aec69618a1004209bd7f2d2d7e079fbd.png

27470e3e638246929baaf9058f3bd4ff.png

Одной из сложностей было решение о том, как поступать в случае скролла при переходе на сниппет за пределами видимой части страницы. Было два варианта. Первый — делать доскролл к элементу при каждой смене активного элемента. Второй — при переходе на элемент вне текущего экрана скроллить его как можно дальше, чтобы в итоге общий объем скролла на экране был минимален.
Остановились на нём, так как он быстрее, легче для браузеров и приятней внешне.

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

Будем рады, если в комментариях, вы поделитесь с нами своим впечатлениями о работе с горячими клавишами в результатах поиска.

© Habrahabr.ru