管理“轻触搜索”的触发操作

我们于 2015 年 6 月在大多数 Android 手机的 Chrome 43 上推出了“轻触搜索”功能。当用户在 Chrome 中点按任意页面上的文本时,系统会选择该字词以及相关的周围文本。搜索字词显示在屏幕底部的栏中,用户可以在叠加面板中打开该栏来显示完整的搜索结果。

触摸搜索动画

对于可选择且不可互动或不可聚焦的任何纯文本,都会启用点按触发功能。如果页面具有可响应点按文字的点击处理程序,“轻触搜索”功能会自动检测响应并忽略该响应,因为我们知道开发者打算处理该事件。使用轻触并按住手势手动选择文本也会触发“轻触搜索栏”。用户可以使用 Chrome 隐私设置下的偏好设置来启用或停用此功能。

作为网站的作者,您经常会不希望某些元素上的点按手势触发搜索。为了确保 Chrome 能达到您的目的,请确保以下元素:

  1. 可聚焦:为元素添加 tabindex=-1 属性。
  2. 交互式:使用以下任一标准方式来指明元素是交互式元素:
    • 使用无障碍标记指明元素具有 widget 角色widget 属性。 例如,任何具有 role=button 的元素都不会触发。添加无障碍标记还有一个好处,那就是您的网页对于视力受损用户来说更加清晰易读。
    • 任何调用 preventDefault() 或操纵 DOM 或 CSS 的 JavaScript 点击处理程序都不会触发“轻触搜索”。
  3. 不可选择:使用 -webkit-user-select: none;不可选择的文本不会触发“轻触搜索”,即使使用轻触并按住手势也是如此。

如果“轻触搜索”功能未在应触发时或位置触发,或间歇性触发,则原本不应显示可聚焦元素或可互动的元素就可能被标记为可聚焦元素或可互动元素。请按照以下过程确定阻止“轻触搜索”触发的原因:

  1. 检查是否可使用“轻触并按住”手势选择文本。如果选中了文字,但“轻触搜索”栏未显示,请在 Chrome 中“隐私权”下的“轻触搜索”设置中检查手机是否未停用该功能。另请注意,某些低端设备不支持轻触搜索。
  2. 如果“轻触搜索”栏在选中文字时显示,但在您点按后没有显示,则表示存在点按触发问题。如果触发是间歇性的,则问题可能是由元素的 JavaScript 处理程序有条件地激活动画造成的。
  3. 如果一直没有触发,请参阅上面列出的触发原因(检查相应元素是可聚焦元素还是可互动元素)。

如果网页仍无法按预期运行,请在 crbug.com 上提交 bug 并添加标签 Cr-UI-Browser-Mobile-TouchToSearch