company_banner

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

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



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

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

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





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

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

    Будем рады, если в комментариях, вы поделитесь с нами своим впечатлениями о работе с горячими клавишами в результатах поиска.
    Яндекс
    563,00
    Как мы делаем Яндекс
    Поделиться публикацией

    Комментарии 57

      0
      А почему хоткеи выключены по умолчанию? Представьте боль пользователя, когда он будет пытаться пользоваться привычными хоткеями, сев за другой компьютер.
        +3
        Только лишь из-за размера скриптов. Клавиатурным управлением будет пользоваться малая часть пользователей. Чтобы не грузить лишний код всем остальным, пришлось спрятать за настройку.
          +9
          А вы сделайте еще один хоткей, который будет слать аякс для включения хоткеев :D
          Типа Ctrl-Shift-H
            0
            Можно, конечно же. Но «поставить галочку в настройках» не сильно сложнее, чем «нажать секретный хоткей».
            Самое главное, что страдает от такого подхода – вероятность обнаружения. В случае с настройкой она неотличима от нуля.

            Если честно, это больше всего нас беспокоит в клавиатурном управлении, и мы еще думаем, что можно сделать, чтобы донести его до большего числа пользователей. Пока же хотели дать возможность пользоваться им тем, кто давно ждёт.
              +4
              Идея со специальным хоткеем, включающим всю функциональность — великолепна. Часто вынужден работать на разных машинах. Каждый раз лезть в настройки — это боль.
                +1
                При наличие дополнительного хоткея никто не заставляет убирать галочку из настроек, зато геморроя пользователям в разы меньше, представьте каково это, когда каждый раз на новой машине тебе нужно лезть куда-то в настройки, а если еще и логиниться не желательно…
                  +3
                  +1 за специальный хоткей. Можно и рекламировать интересно: «Псс, парень, у нас есть секретный код! Ctrl+Shift+H»
                    0
                    Лучше не хоткей, а где-то иконка, на странице поиска. Которая будет включать горячие клавиши и выводить мануал. + это одновременно будет реклама фичи пользователям. Далеко не все ковыряются в настройках.
                      +1
                      Да, пожалуй, сделаем и хоткей, и иконку с хелпом / включением
                  0
                  Казалось бы, несколько keydown listener'ов. Если так жалко буквально пару килобайт (картинки по дефолту в выдаче весят в разы больше), то можно было бы сделать один хоткей, который подружал бы скрипт и включал бы все хоткеи.
                +2
                Надо отметить, что в Google Chrome для перехода по страницам необходимо использовать:
                ctrl + → и ctrl + ← соответственно.
                  +4
                  Спасибо за отзыв. Мы очень надеемся на фидбек хабра. И если большинству действительно окажется удобней ctrl, то мы признаем ошибку и поменяем модификатор.

                  Скажу по секрету, что «больше/меньше» тоже работают.
                    +2
                    Если помните, до Островов вообще-то уже было CTRL+Вправо и CTRL+Влево. Также делали CTRL+Вниз для функции «Ещё десять».
                      0
                      Я не отзыв оставил, а факт констатировал. Запустите Chrome, зайдите на Яндекс и нажмите знак вопроса.
                        0
                        Действительно, не так вас понял.
                        Модификаторы для перелистывания страниц разные для Windows/Linux (ctrl) и OS X (alt).
                        +1
                        Чудесная возможность, давно её ждал.
                        Была мысль даже свой велосипед на GreaseMonkey, организовать, т. к. очень нравилось наличие хоткеев у Google.
                        Сделано очень круто и удобно, спасибо большое.
                        Но прятать в настройки — вершина неприличия. Я, постоянный пользователь яндексового поиска, узнал о факте существования настроек только из этой статьи.
                        Вы беспокоитесь что функционал тяжёлый? Ну выполните какой-то быстрый замер производительности и, если она приемлемая, догрузите модуль хоткеев. Если неприемлемая — тогда полагайтесь на настройки.
                      +3
                      Да, Ctrl привычнее.
                        +2
                        А когда появится возможность полностью отключить перехват клавиш? Из-за перебрасывания в поле поиска становится невозможно пользоваться оперными клавишами 1 и 2 для перехода на следующую/предыдущую вкладку. Ещё год назад писал в поддержку, пообещали передать специалистом, да только воз и ныне там.
                          –2
                          К сожалению, этого в планах нет. Таких просьб очень мало, поэтому мы не можем уделить им время на проработку.
                          0
                          5hrp Антон, как ведёт себя страница при установленных addons.mozilla.org/en-us/firefox/addon/vimperator (или chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb)?
                            +1
                            Мы не проводили специальных тестов в рамках разработки. Но при этом просили коллег (среди которых есть пользователи этих расширений) попользоваться клавиатурным управлением до включения на всех. В частности, получали отзыв, что если не включать vim-режим, то конфликтов не наблюдается.
                          0
                          Почему все так активно используют эти «всеклавиатурные» комбинации вида: Ctrl + ->, Esc, Alt + Ctrl + PgDwn — вы попробуйте попользоваться браузером то сами, и сразу поймете, что у вас правая рука (для правшей) постоянно на мыши (если вы не пользуете какими нибудь vimperator), а левая на левой половине клавиатуры. Представьте теперь, что нужно постоянно открывать правую руку от мыши и тянуться ею к стрелкам или другим правосторонним клавишам, а затем обратно руку на мышь. Удобно? Комбинации должны быть в зоне досягаемости левой руки, в идеале, на «asdf».
                            +5
                            Потому, что когда вы только что ввели запрос, у вас обе руки на клавиатуре. Так что это к вам вопрос — зачем вы перенесли руку на мышку после ввода текста.

                            Первую десятку поисковых результатов также можно сразу открывать с клавиатуры, так как для них прописаны горячие клавиши посредством accesskey.
                              –1
                              То есть если я введу запрос и положу правую руку на мышь, а левой буду листать результаты, это неудачное решение?
                                +4
                                Это, на мой взгляд, просто странное решение. Раз уж вы всё равно решили размахивать руками и тянуться до мышки, то зачем вам вообще горячие клавиши — кликайте мышкой на графическую кнопку перехода.
                                  0
                                  Тоже хороший вопрос.
                              +2
                              вспомнился пикабу (там мышка в правой, хоткеи в левой)
                              image
                                –1
                                Несколько десятков лет назад профессиональным пользователям ЭВМ приходилось совершать намного более сложные манипуляции: менять перфоленты или кассеты, наклоняться к полкам, приносить и уносить в место хранения. Профит очевиден: профилактика гиподинамии и переключение внимания, как следствие отдых. А сейчас руки с клавы на мышку передвинуть видится проблемой. И не говорите о экономии времени.
                                  0
                                  Несколько десятков тысяч лет назад профессиональных пользователей ЭВМ не существовало. А людям приходилось совершать намного более сложные манипуляции: охотиться на мамонтов или туров, наклоняться к огню, приносить в пещеру еду и уносить мусор. Профит очевиден: профилактика гиподинамии и переключение внимания, как следствие отдых. А сейчас руки с клавы на мышку передвинуть видится проблемой. И не говорите о экономии времени.
                                    0
                                    Замечательно пошутили, именно по этой причине наш организм эволюционно не приспособлен к сидячему образу жизни и работе за компом в частности.
                                  0
                                  если вы не пользуете какими нибудь vimperator

                                  Или тачпадом/трекпоинтом. Для них не обязательно убирать руки с основной позиции.
                                    0
                                    Почти не пользуюсь мышью при работе с браузером. Что я делаю не так?
                                    –2
                                    Зачем это нужно? Те, кто хочет клавиатурное управление, уже давно поставили соответствующее расширение (KeySnail/VimFX/Vimium/Firemacs/Pentadactyl/Vimperator/etc) и имеют его на всех сайтах. В некоторых браузерах хинты вообще из коробки (Qupzilla, Arora, Opera Mini 4). А это баловство какое-то, типа вездесущих кнопок «Вверх». И так приходится блокировать/отключать на Google/DuckDuckGo, у вас хоть отключено по умолчанию и конфликты с вимператором проверяются — и то спасибо.
                                      0
                                      Два аргумента:
                                      – Мы продумывали клавиатурное управление в контексте поиска, делая его максимально простым и удобным. Это ведь не только таблица «Клавиши – действие», это и скролл, и выделение, и доступность элементов.
                                      – Поддержкой занимаемся мы, а не вы или создатель расширения. В условиях ежедневных обновлений кода серпа это немаловажно.
                                        +1
                                        максимально простым и удобным
                                        Серьёзно? Даже быстрого перехода к произвольному результату поиска нет. Бегать по ним стрелочками — явно не лучшая идея, даже мышевозня быстрее будет.
                                        серпа
                                        Чего?
                                          0
                                          Все поисковые выдачи устроены так, что релевантные результаты с большой вероятностью оказываются сверху.
                                          К тому же не хотелось вызывать конфликтов с различными расширениями и возможностями браузеров.

                                          Серп = SERP = Search engine results page = Страница с результатами выдачи поиска
                                            0
                                            Ну вот допустим, вмещается на экране пять результатов поиска. Уплыл нужный результат с четвёртой позиции на третью — и пять нажатий (<Tab>jjj<Enter>) превращаются в четыре (<Tab>jj<Enter>). При том, что с хинтами это в любом случае два-три (одно на вызов хинтов и одно-два на выбор хинта). Для первого результата одинаково, т. к. на первые два-три результата хватает однобуквенных хинтов; для последующих хинты эффективнее. Тут ещё, правда, наличие фокуса в поле поиска влияет — может понадобиться на выход из него нажатие потратить ещё.
                                      0
                                      Фидбэк. В вим-режиме не работает листание страниц по alt+H, alt+L. Mac os, safari v.8. Делает вим-режим неудобным.
                                        +1
                                        Спасибо. Думаю, добавим (как разработчик вернётся из отпуска)
                                          +1
                                          Ну и для истинных ценителей вим-режима стоит сделать, что писать в строке поиска — это «i», а выход из этого режима по esc.
                                            0
                                            Вы — гений.
                                        0
                                        Возможно ди сделать горячую клавишу «Перейти к первому результату», или просто сделать кнопку по типу гугловской «I'm feeling lucky» на главной странице?
                                          0
                                          К первому результату вы можете перейти по Alt+1 или Shift+Alt+1 в зависимости от браузера. К первой десятке прописаны accesskey со всеми вытекающими последствиями.
                                            0
                                            К первому результату вы можете перейти по Alt+1 или Shift+Alt+1 в зависимости от браузера. К первой десятке прописаны accesskey со всеми вытекающими последствиями.
                                              0
                                              ни одно сочетание под Яндекс-браузером не работает. В файрфоксе работает, но в новом окне.
                                            +1
                                            Стремление к минимальному набору возможностей очень просит нас не добавлять шорткат «Открыть первый результат», когда есть Tab + Enter.
                                            А можете рассказать, в каких случаях (при каких запросах) полезно иметь кнопку «I'm feeling lucky» на главной?
                                              0
                                              Есть оч.удобная утилита Alfredapp(под win аналог wox) — это что-то вроде системы макросов с быстрым запуском сайтов, программ, скриптов и пр… Там можно настроить макрос, который автоматом кидает на адрес encrypted.google.com/search?q={q}&btnI=I'm+Feeling+Lucky, где q — это строка запроса. Я регулярно ей пользуюсь, чтобы моментально попадать на первый сайт в поисковой выдаче, т.к. я точно знаю, что мне выдаст поисковик, например, по запросам «твиттер Соловьева», «github twitter bootstrap», «жж el-murid».

                                              Гораздо легче запомнить поисковый запрос, чем http-адрес. Это в разы ускоряет работу в целом и поиск информации в частности.
                                                0
                                                Гораздо легче запомнить поисковый запрос, чем http-адрес

                                                Вы гуманитарий? :) ЧПУ для чего повсеместно внедряют? Да и не-ЧПУ зачастую вполне запоминаемы и воспроизводимы.
                                                  +3
                                                  Богдан, гуманитарий не значит тупой, а человек — это не прокладка между монитором и стулом. Я верю, что вы все урлы храните в голове и каждое утро компилируете линуху под каждую конкретную задачу заказчика.
                                                  ЧПУ — это из другой оперы. Не самой удачной, кстати. О ЧПУ я слышу с начала 2000-х годов, её как мантру повторяют, но только значительного удобства не видно. Лучший способ доступа к информации, которая требуется здесь и сейчас в интернете, — это поисковый запрос. За всю историю интернета ничего лучше не придумали. Большинство пользователей только запрос и запоминают. Это и логично с психологической и физиологической точки зрения, т.к. упорядоченная информация лучше всего усваивается и запоминается.
                                              +1
                                              Идея хорошая, но для меня абсолютно бесполезная. При использовании экранного чтеца эта возможность никак не помогает, потому что этот товарищ не отслеживает никаких перемещений, кроме начала ввода текста, да и чтобы послать команду напрямую браузеру надо нажать другое сочетание клавиш. В FF у меня так и не сработала возможность перехода на следующие десять результатов поиска. В общем отключаем за бесполезностью.
                                                +2
                                                Ну на вас изначально эта идея и не рассчитывалась. Вам нужно сначала нажимать JAWSKey+3, а уже потом команду перехода по страницам, чтобы избавиться от её перехвата виртуальным курсором. Ну или создайте скрипты для эмуляции этих команд и назначьте на них удобные клавиатурные сочетания JAWS:

                                                ; Переход к следующей странице результатов Яндекс
                                                Script YandexNextPage ()
                                                TypeKey («Control+RightArrow»)
                                                EndScript
                                                ; Переход к предыдущей странице результатов Яндекс
                                                Script YandexPriorPage ()
                                                TypeKey («Control+LeftArrow»)
                                                EndScript

                                                Но вообще клавиатурное управление до конца под экранные чтецы не оптимизировано, так что пока его вам лучше не включать. Там сейчас серьёзная проблема с табуляцией, которая критична и не только для слепых.
                                                0
                                                Нумерацию резултатов поиска верните и пунктирную рамочку вокруг только что перейдённой ссылки.
                                                  +1
                                                  для списка сочетаний приходиться приходить сюда, ведь "?" (по-крайней мере у меня на firefox os x) включает режим поиска по странице, аналогично cmd+f
                                                    0
                                                    Да, добавим контрол для показа справки в футер страницы
                                                    +1
                                                    У вас по Tab активность переходит к результатам поиска, однако если перейти на следующую страницу с помощью Ctrl+->, то снова становиться активной строка поиска. Неужели вы думаете, что пользователь переходит на следующую страницу результатов поиска, чтобы изменить текст запроса?
                                                      0
                                                      За две недели не встретил этого косяка.
                                                      Сначала не понял, почему.
                                                      Потом подумал и понял — я просто ни разу не открывал вторую страницу.

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                    Самое читаемое