התכונה 'הקשה כדי לחפש' הושקה ביוני 2015 בגרסת Chrome 43 ברוב הטלפונים עם Android. כשהמשתמש מקשיב על טקסט בדף כלשהו ב-Chrome, המילה נבחרת יחד עם הטקסט הרלוונטי שמסביב. מונח החיפוש מופיע בסרגל בתחתית המסך, והמשתמשים יכולים לפתוח אותו בחלונית שכבת-על כדי להציג את תוצאות החיפוש המלאות.

הפעלה בהקשה מופעלת לכל טקסט פשוט שאפשר לבחור, שהוא לא אינטראקטיבי או שלא ניתן להתמקד בו. אם בדף יש טיפול בקליק שמגיב להקשה על טקסט, המערכת מזהה את התגובה באופן אוטומטי ומתעלם ממנה כי אנחנו יודעים שהמפתח התכוון לטפל באירוע. גם לחיצה ארוכה על הטקסט לבחירה ידנית שלו מפעילה את הסרגל 'מצמידים ומחפשים'. המשתמשים יכולים להפעיל או להשבית את התכונה באמצעות העדפה בהגדרות הפרטיות של Chrome.
ככותבים של אתר, לפעמים אתם לא רוצים שהקשה על רכיב מסוים תפעיל חיפוש. כדי לוודא ש-Chrome יפעל כמצופה, צריך לוודא שהרכיבים האלה:
- ניתן להתמקד: מוסיפים נכס
tabindex=-1
לאלמנט. - אינטראקטיבי: יש כמה דרכים רגילות לציין שהרכיב אינטראקטיבי:
- משתמשים בסימון נגישות כדי לציין שלרכיב יש תפקידווידג'ט או מאפייני ווידג'ט. לדוגמה, כל אלמנט עם role=button לא יופעל. הוספת תגי עיצוב לנגישות נותנת לכם יתרון נוסף: הדף יהיה קריא יותר למשתמשים עם ליקויי ראייה.
- כל טיפול בקליק ב-JavaScript שמפעיל את
preventDefault()
או מבצע מניפולציות על DOM או CSS לא יפעיל את התכונה 'מקישים כדי לחפש'.
- לא ניתן לבחור: באמצעות
-webkit-user-select: none
. טקסט שלא ניתן לבחור לא יפעיל את התכונה 'חיפוש בהקשה', גם אם משתמשים בתנועת המגע וההחזקה.
אם התכונה 'הקשה כדי לחפש' לא מופעלת כשצריך או איפה שצריך, או שהיא מופעלת לסירוגין, סביר להניח שאלמנטים מסוימים מסומנים כאלמנטים שניתן להתמקד בהם או לבצע איתם אינטראקציה כשלא צריך. כדי לקבוע מה מונע את הפעלת התכונה 'חיפוש בהקשה', אפשר לפעול לפי השלבים הבאים:
- בודקים אם אפשר לבחור את הטקסט באמצעות מחווה של לחיצה ארוכה. אם הטקסט מסומן אבל סרגל החיפוש בהקשה לא מופיע, צריך לבדוק שהתכונה לא מושבתת בטלפון בהגדרה 'חיפוש בהקשה' בקטע 'פרטיות' ב-Chrome. חשוב גם לזכור שחלק מהמכשירים הזולים לא תומכים בתכונה 'לחיצה לחיפוש'.
- אם הסרגל 'מקישים כדי לחפש' מופיע כשמסמנים טקסט, אבל לא כשמקישים עליו, יש בעיה בהפעלה של הקשה. אם ההפעלה היא לסירוגין, סביר להניח שהבעיה נובעת מהפעלה מותנית של האנימציה על ידי טיפול JavaScript של הרכיב.
- אם ההפעלה לא מתרחשת אף פעם, כדאי לעיין בסיבות להפעלה שמפורטות למעלה (בודקים אם אפשר להתמקד באובייקט או אם הוא אינטראקטיבי).
אם הדף עדיין לא פועל כמו שרציתם, תוכלו לדווח על באג ב-crbug.com ולהוסיף את התווית Cr-UI-Browser-Mobile-TouchToSearch
.