터치하여 검색 트리거 관리

터치하여 검색은 2015년 6월, 대부분의 Android 휴대전화용 Chrome 43에서 출시되었습니다. 사용자가 Chrome의 페이지에서 텍스트를 탭하면 관련 주변 텍스트와 함께 단어가 선택됩니다. 검색어는 화면 하단의 막대에 표시되며, 사용자는 이를 오버레이 패널에서 열어 전체 검색결과를 표시할 수 있습니다.

터치하여 검색 애니메이션

탭 트리거는 선택 가능하고 대화형이 아니거나 포커스 불가능한 일반 텍스트에 사용 설정됩니다. 페이지에 텍스트 탭에 응답하는 클릭 핸들러가 있는 경우, Google에서는 개발자가 이벤트를 처리할 의도를 알고 있으므로 터치하여 검색에서 자동으로 응답을 감지하고 무시합니다. 길게 터치 동작을 사용하여 텍스트를 수동으로 선택하면 터치하여 검색 표시줄도 트리거됩니다. 사용자는 Chrome의 개인 정보 보호 설정에서 환경설정을 사용하여 이 기능을 사용 설정 또는 사용 중지할 수 있습니다.

사이트 작성자로서 특정 요소의 탭 동작으로 검색이 트리거되지 않도록 하고 싶은 경우가 종종 있습니다. Chrome이 의도한 대로 작동하도록 이러한 요소를 다음과 같이 만듭니다

  1. 포커스 가능: 요소에 tabindex=-1 속성을 추가합니다.
  2. 대화형: 몇 가지 표준 방법 중 하나를 사용하여 요소가 대화형임을 나타냅니다.
    • 접근성 마크업을 사용하여 요소에 widget 역할 또는 위젯 속성이 있음을 나타냅니다. 예를 들어 role=button인 요소는 트리거되지 않습니다. 접근성 마크업을 추가하면 시각 장애가 있는 사용자가 페이지를 더 쉽게 읽을 수 있다는 추가적인 이점이 있습니다.
    • preventDefault()를 호출하거나 DOM 또는 CSS를 조작하는 JavaScript 클릭 핸들러는 터치하여 검색을 트리거하지 않습니다.
  3. 선택 불가: -webkit-user-select: none 사용. 선택 불가능한 텍스트는 길게 터치 동작을 사용하더라도 터치하여 검색을 트리거하지 않습니다.

터치하여 검색이 트리거되어야 하는 시점이나 위치에서 트리거되지 않거나 간헐적으로 실행되는 경우, 요소가 포커스 가능하거나 상호작용해서는 안 되는데 포커스 가능 또는 대화형으로 표시될 수 있습니다. 다음 절차에 따라 터치하여 검색이 실행되지 않는 이유를 확인하세요.

  1. 길게 터치 동작을 사용하여 텍스트를 선택할 수 있는지 확인합니다. 텍스트가 선택되었지만 '터치하여 검색창'이 표시되지 않는 경우, Chrome의 개인 정보 보호 아래에 있는 터치하여 검색 설정을 통해 휴대전화에서 이 기능이 사용 중지되지 않았는지 확인하세요. 또한 일부 저사양 기기에서는 터치하여 검색을 지원하지 않습니다.
  2. 텍스트가 선택되면 터치하여 검색창이 표시되지만 탭할 때는 표시되지 않는 경우 탭 트리거 문제가 있는 것입니다. 트리거가 간헐적이라면 이 요소에 대해 JavaScript 핸들러가 애니메이션을 조건부로 활성화했기 때문에 문제가 발생했을 가능성이 있습니다.
  3. 트리거가 발생하지 않으면 위에 나열된 트리거 이유를 참조하세요(요소가 포커스 가능하거나 대화형인지 확인).

페이지가 여전히 원하는 방식으로 작동하지 않으면 crbug.com에서 버그를 신고하고 Cr-UI-Browser-Mobile-TouchToSearch 라벨을 추가합니다.