כשהעיצוב מוצג במכשיר נייד, צריך לוודא שרכיבים אינטראקטיביים כמו לחצנים או קישורים גדולים מספיק, ושיש מספיק מרווח סביבם, כדי שיהיה קל ללחוץ עליהם בלי לגעת בטעות באלמנטים אחרים. כל המשתמשים יכולים ליהנות מהתכונה הזו, אבל היא שימושית במיוחד למי שיש לו לקות מוטורית.
הגודל המינימלי המומלץ של יעד מגע הוא כ-48 פיקסלים, ללא קשר למכשיר, באתר עם אזור תצוגה מותאם לניידים. לדוגמה, יכול להיות שרוחב וגובה הסמל הם רק 24px, אבל אפשר להשתמש במרווח פנימי נוסף כדי להגדיל את גודל משטח המגע ל-48px. אזור של 48x48 פיקסלים תואם לגודל של כ-9 מ"מ, שהוא בערך הגודל של כרית האצבע של אדם.
בדוגמה, הוספתי רווח לכל הקישורים כדי לוודא שהם עומדים בגודל המינימלי.
בנוסף, משטחי המגע צריכים להיות במרחק של כ-8 פיקסלים זה מזה, גם לרוחב וגם לאורך, כך שאצבע המשתמש בלחיצה על יעד הקשה אחד לא תיגע בטעות ביעד הקשה אחר.
בדיקת יעדי המגע
אם היעד הוא טקסט שהשתמשתם בערכים יחסיים כמו em
או rem
כדי לקבוע את גודל הטקסט וכל מרווחים פנימיים, תוכלו להשתמש בכלי הפיתוח כדי לבדוק שהערך המחושב של האזור הזה גדול מספיק.
בדוגמה הבאה השתמשתי ב-em
לטקסט ולריפוי.
בודקים את a
של הקישור, ובכלי הפיתוח ל-Chrome עוברים לחלונית המחושב, שבה אפשר לבדוק את החלקים השונים של התיבה ולראות לאיזה גודל פיקסלים הם מומרים.
ב-Firefox DevTools יש חלונית פריסה.
בחלונית הזו יוצג הגודל בפועל של הרכיב שנבדק.
שימוש בשאילתות מדיה כדי לזהות שימוש במסך מגע
במקום לבדוק רק את המימדים של חלון התצוגה, ואז לנחש שהמידות הקטנות הן כנראה של טלפונים או טאבלטים, שבהם יש מסך מגע, יש עכשיו דרכים יעילות יותר להתאים את העיצוב על סמך יכולות המכשיר בפועל.
אחת מתכונות המדיה שאנחנו יכולים לבדוק עכשיו באמצעות שאילתות מדיה היא אם הקלט הראשי של המשתמש הוא מסך מגע (pointer
), ואם אחד מהקלטים שזוהו כרגע הוא מסך מגע (any-pointer
). התכונות pointer
ו-any-pointer
יחזירו את הערך fine
או coarse
.
סמן מדויק הוא מישהו שמשתמש בעכבר או בלוח מגע, גם אם העכבר מחובר לטלפון באמצעות Bluetooth.
מצביע coarse
מציין מסך מגע, שיכול להיות של מכשיר נייד, אבל גם מסך של מחשב נייד או טאבלט גדול.
אם מתאימים את ה-CSS בתוך שאילתת מדיה כדי להגדיל את משטח המגע, בדיקה של מצביע גס מאפשרת להגדיל את משטחי ההקשה לכל המשתמשים במסך המגע. כך תהיה לכם אפשרות להקיש על שטח גדול יותר, בין אם מדובר בטלפון ובין אם מדובר במכשיר גדול יותר.
.container a {
padding: .2em;
}
@media (any-pointer: coarse) {
.container a {
padding: .8em;
}
}
מידע נוסף על תכונות אינטראקטיביות של מדיה, כמו סמן, זמין במאמר עקרונות הבסיס של עיצוב אתר רספונסיבי.