Управляйте запуском касания для поиска

Touch to Search был запущен в июне 2015 года на Chrome 43 для большинства телефонов Android. Когда пользователь нажимает на текст на любой странице в Chrome, слово выделяется вместе с соответствующим окружающим текстом. Поисковый запрос отображается в строке в нижней части экрана, которую пользователи могут открыть в наложенной панели, чтобы увидеть полные результаты поиска.

Нажмите для поиска анимации

Активация касания включена для любого простого текста, который можно выбрать, но он не интерактивен или не может быть сфокусирован. Если на странице есть обработчик щелчков, который реагирует на нажатие текста, Touch to Search автоматически определяет ответ и игнорирует его, поскольку мы знаем, что разработчик намеревался обработать событие. Использование жеста касания и удержания для ручного выбора текста также активирует панель Touch to Search. Пользователи могут включить или отключить эту функцию с помощью параметра в настройках конфиденциальности Chrome.

Как автор сайта, вы часто не хотите, чтобы жест нажатия на определенный элемент запускал поиск. Чтобы Chrome делал то, что вы хотите, сделайте эти элементы:

  1. Фокусируемый: добавьте к элементу свойство tabindex=-1 .
  2. Интерактивность: используйте любой из нескольких стандартных способов указать, что элемент является интерактивным:
    • Используйте разметку доступности, чтобы указать, что элемент имеет роль виджета или атрибуты виджета . Например, любой элемент с ролью=button не сработает. Добавление разметки доступности имеет дополнительное преимущество, заключающееся в том, что ваша страница станет более читаемой для пользователей с нарушениями зрения.
    • Любой обработчик щелчков JavaScript, который вызывает preventDefault() или манипулирует DOM или CSS, не вызовет функцию Touch-to-Search.
  3. Невыбираемый текст: использование -webkit-user-select: none ; Невыбираемый текст не активирует функцию Touch-to-Search даже при использовании жеста «нажатие и удерживание».

Если Touch to Search не срабатывает, когда или где он должен срабатывать, или срабатывает с перерывами, то элементы, вероятно, отмечены как фокусируемые или интерактивные, хотя они не должны быть таковыми. Используйте следующую процедуру, чтобы определить, что мешает срабатыванию Touch to Search:

  1. Проверьте, можно ли выделить текст с помощью жеста «нажать и удерживать». Если текст выделяется, но панель Touch-to-Search не появляется, проверьте, не отключена ли эта функция на вашем телефоне в настройках Touch to Search в разделе «Конфиденциальность» в Chrome. Также обратите внимание, что некоторые бюджетные устройства не поддерживают Touch-to-Search.
  2. Если панель Touch-to-Search отображается при выборе текста, но не отображается при касании, то есть проблема с запуском касания. Если запуск прерывистый, то проблема, скорее всего, связана с анимацией, условно активируемой обработчиком JavaScript для элемента.
  3. Если срабатывание не происходит, проверьте причины срабатывания, перечисленные выше (проверьте, является ли элемент фокусируемым или интерактивным).

Если ваша страница по-прежнему работает не так, как вам хотелось бы, сообщите об ошибке на сайте crbug.com и добавьте метку Cr-UI-Browser-Mobile-TouchToSearch .