רמה 2 – אופטימיזציה מותאמת

אפליקציות שעברו אופטימיזציה תומכות באופן מלא בכל סוגי המסכים ובכל המצבים של המכשיר, כולל מעברים בין מצבים.

תיאור של שלוש רמות האיכות כשכבות שמוערמות אנכית, כשהרמה האמצעית מודגשת.

הנחיות

כדאי לפתח את האפליקציה כך שתתאים לכל גודל מסך ולכל מצב של המכשיר.

ממשק משתמש

מזהה ההנחיה מזהי בדיקות תיאור
Responsive_adaptive_layouts T-Layout_Flow

האפליקציה כוללת פריסות רספונסיביות ומותאמות שמיועדות לכל גדלי המסכים. כל הפריסות רספונסיביות (ראו העברת ממשק המשתמש לפריסות רספונסיביות). ההטמעה של פריסות מותאמות נקבעת לפי מחלקות של גודל חלון.

ממשק המשתמש של האפליקציה יכול לכלול את הרכיבים הבאים:

  • סרגלי ניווט מובילים שמתרחבים לחלוניות ניווט מלאות בחלונות גדולים יותר
  • פריסות רשת שמשנות את מספר העמודות בהתאם לשינויים בגודל החלון
  • עמודות של טקסט במסכים גדולים
  • חלוניות בקצה התחתון שנפתחות כברירת מחדל במסכים בגודל של מחשב, ונסגרות במסכים קטנים יותר

כדאי ליצור פריסות עם כמה חלוניות (במקרים המתאימים) כדי לנצל את שטח המסך הגדול. מידע על פריסות קנוניות

באפליקציות של Jetpack Compose, משתמשים בפריסות מותאמות (כמו ListDetailPaneScaffold) כדי ליצור ממשקי משתמש עם כמה חלוניות. באפליקציות מדור קודם שמבוססות על פעילויות, הטמעת פעילות מאפשרת פריסות עם כמה חלוניות על ידי הצגת פעילויות זו לצד זו.

UI_Secondary_Elements T-Layout_Flow

הפורמט של חלונות עזר, תפריטי הקשר ורכיבים משניים אחרים תקין בכל סוגי המסכים ובכל מצבי המכשיר, לדוגמה:

  • במסכים גדולים, הגיליונות התחתונים לא מוצגים ברוחב מלא. (כדאי להגדיר רוחב מקסימלי כדי למנוע מתיחה). אפשר לעיין בקטע פריסה רספונסיבית במאמר גיליונות תחתונים.
  • הכפתורים לא מוצגים ברוחב מלא במסכים גדולים. אפשר לעיין בקטע עיצוב מותאם במאמר לחצנים.
  • שדות ותיבות טקסט לא נמתחים לרוחב מלא במסכים גדולים. אפשר לעיין בקטע עיצוב דינמי במאמר שדות טקסט.
  • תפריטי עריכה קטנים או מודאלים לא מכסים את כל המסך ושומרים על ההקשר של המשתמש ככל האפשר. למידע נוסף על תפריטים
  • תפריטי הקשר מופיעים ליד הפריט שהמשתמש בחר. אפשר לעיין בנושא "תפריטי הקשר" בקטע תפריטים.
  • סרגלי ניווט מחליפים את סרגלי הניווט הרגילים כדי לשפר את הארגונומיה במסכים גדולים. סרגל הניווט
  • חלוניות ההזזה לניווט עודכנו לסרגלי ניווט מורחבים. מידע נוסף על חלונית ההזזה לניווט
  • תיבות הדו-שיח מעודכנות לרכיב החומר העדכני ביותר. תיבות דו-שיח
  • התמונות מוצגות ברזולוציה מתאימה, והן לא נמתחות או נחתכות.
Touch_Targets T-Touch_Targets יעדי המגע הם בגודל של לפחות 48dp. אפשר לעיין בהנחיות של Material Design בנושא גדלים של יעדים.
Drawable_Focus T-Drawable_Focus מצב התמקדות במודעה נוצר עבור רכיבים גרפיים מותאמים אישית שניתן לקיים איתם אינטראקציה. פריט גרפי שניתן להזזה בהתאמה אישית הוא כל רכיב בממשק המשתמש שלא מסופק על ידי Android Framework. אם המשתמשים יכולים לבצע אינטראקציה עם רכיב גרפי בהתאמה אישית, הרכיב הגרפי חייב להיות ניתן למיקוד כשהמכשיר לא נמצא במצב מגע, וצריך להופיע חיווי חזותי של מצב המיקוד.

מקלדת, עכבר ומשטח מגע

מזהה ההנחיה מזהי בדיקות תיאור
Keyboard_Navigation T-Keyboard_Navigation תהליכי המשימות העיקריים באפליקציה תומכים בניווט באמצעות המקלדת, כולל ניווט באמצעות מקש Tab ומקשי החיצים. איך מפתחים אפליקציות נגישות יותר
Keyboard_Shortcuts T-Keyboard_Shortcuts האפליקציה תומכת במקשי קיצור לפעולות נפוצות כמו בחירה, גזירה, העתקה, הדבקה, ביטול פעולה וביצוע מחדש. מידע נוסף על מקלדת, עכבר ומשטח מגע
Keyboard_Media_Playback T-Keyboard_Media_Playback אפשר להשתמש במקלדת כדי לשלוט בהפעלת מדיה. לדוגמה, מקש הרווח מפעיל ומשהה מדיה.
Keyboard_Send T-Keyboard_Send מקש Enter במקלדת מבצע פונקציית שליחה באפליקציות תקשורת.
Keyboard_Exit T-Keyboard_Exit המקש Esc במקלדת מבצע פונקציית יציאה שמסיימת או מבטלת פעולה, לדוגמה:
  • סגירת מודלים, תיבות דו-שיח, חלונות קופצים ותפריטים
  • ניקוי טקסט החיפוש או הסרת המיקוד של החיפוש
  • ביטול מיקוד המקלדת
  • יציאה מסרטון במסך מלא, ממצב "תמונה בתוך תמונה", ממצב מסך מלא או ממצגות
  • סגירת פקדים שמופיעים במסך, כמו סרגלי התקדמות או תפריטים
  • ביטול הטיימרים של "הבא בתור" או של ההפעלה האוטומטית
  • ביטול הבחירה של כל הפריטים שנבחרו
  • ביטול שינוי השם או העריכה בלי לשמור
  • יציאה מכלי החיתוך/הטרנספורמציה וביטול השינויים
Context_Menus T-Context_Menus אפשר לפתוח את תפריטי ההקשר בלחיצה ימנית רגילה על העכבר או משטח המגע (לחיצה משנית על העכבר או לחיצה משנית).
Content_Zoom T-Content_Zoom אפשר לשנות את מרחק התצוגה של תוכן האפליקציה באמצעות גלגל הגלילה בעכבר (בשילוב עם לחיצה על מקש Control או Ctrl) ותנועות פתיחה וסגירה של האצבעות במשטח המגע.
Hover_States T-Hover_States לרכיבים לחיצים של ממשק המשתמש יש מצבים של הצבת הסמן (במקרים המתאימים), שמציינים למשתמשים בעכבר ובמשטח המגע שהרכיבים אינטראקטיביים.

בדיקות

כדי לוודא שהאפליקציה עברה אופטימיזציה ושהיא רספונסיבית לכל הגדרות התצוגה, צריך לבצע את הבדיקות הבאות.

ממשק משתמש

מזהה בדיקה מזהי הנחיות תיאור
T-Layout_Flow Responsive_adaptive_layouts,
UI_Secondary_Elements

מפעילים את האפליקציה במכשירים עם מגוון רחב של גדלי מסך, כולל טלפונים, טלפונים מתקפלים, טאבלטים קטנים וגדולים ומחשבים. מפעילים את האפליקציה במצב ריבוי חלונות במכשירים.

מוודאים שפריסת האפליקציה מגיבה ומתאימה את עצמה לגדלים שונים של מסכים וחלונות. בודקים אם האפליקציה מרחיבה ומכווצת את סרגלי הניווט, משנה את מספר העמודות בפריסות רשת, מעבירה טקסט לעמודות וכו'. בודקים אם הרכיבים בממשק המשתמש מעוצבים בצורה אסתטית ופונקציונלית.

באפליקציות מדור קודם שמשתמשות בהטמעת פעילות, בודקים אם הפעילויות מוצגות זו לצד זו במסכים גדולים, או מוערמות במסכים קטנים.

T-Touch_Targets Touch_Targets מוודאים שיעדי המגע שומרים על גודל ומיקום עקביים ונגישים, ושהם לא מוסתרים או מטושטשים על ידי רכיבים אחרים בממשק המשתמש בכל הגדלים וההגדרות של המסך. מידע על נגישות זמין ב-Accessibility Scanner.
T-Drawable_Focus Drawable_Focus בכל מסך של האפליקציה שמכיל רכיב גרפי אינטראקטיבי בהתאמה אישית, צריך לוודא שאפשר להתמקד ברכיב הגרפי באמצעות מקלדת חיצונית, כפתורי החיצים (D-pad) או מכשיר אחר שמאפשר להתמקד ברכיבים בממשק המשתמש. מוודאים שמופיע סימן חזותי למצב ההתמקדות במודעה. למידע קשור, עיינו במסמכי התיעוד של Compose בנושא מיקוד.

מקלדת, עכבר ומשטח מגע

מזהה בדיקה מזהי הנחיות תיאור
T-Keyboard_Navigation Keyboard_Navigation מנווטים בין הרכיבים באפליקציה שאפשר להתמקד בהם באמצעות מקש Tab ומקשי החיצים במקלדת חיצונית.
T-Keyboard_Shortcuts Keyboard_Shortcuts אפשר להשתמש במקשי קיצור במקלדת חיצונית כדי לבצע פעולות כמו בחירה, גזירה, העתקה, הדבקה, ביטול פעולה וביצוע מחדש.
T-Keyboard_Media_Playback Keyboard_Media_Playback אתם יכולים להשתמש במקלדת חיצונית כדי להתחיל, לעצור, להשהות, להריץ אחורה ולהריץ קדימה את הפעלת המדיה.
T-Keyboard_Send Keyboard_Send כדי לשלוח או להגיש נתונים, משתמשים במקש Enter במקלדת חיצונית.
T-Keyboard_Exit Keyboard_Exit

כדי לצאת, לוחצים על מקש Esc במקלדת חיצונית. מוודאים שהמפתח מבצע את הפעולות הבאות (אם רלוונטי):

  • סגירת מודלים, תיבות דו-שיח, חלונות קופצים ותפריטים
  • ניקוי טקסט החיפוש או הסרת המיקוד של החיפוש
  • ביטול מיקוד המקלדת
  • יציאה מסרטון במסך מלא, ממצב "תמונה בתוך תמונה", ממצב מסך מלא או ממצגות
  • סגירת אמצעי הבקרה במסך
  • ביטול הטיימרים של "הבא בתור" או של ההפעלה האוטומטית
  • ביטול הבחירה של כל הפריטים שנבחרו
  • ביטול שינוי השם או העריכה בלי לשמור
  • יציאה מכלי החיתוך/הטרנספורמציה וביטול השינויים
T-Context_Menus Context_Menus כדי לגשת לתפריט ההקשר של רכיבים אינטראקטיביים, משתמשים בכפתור המשני בעכבר או ביכולת ההקשה המשנית של משטח המגע.
T-Content_Zoom Content_Zoom כדי להגדיל או להקטין את התצוגה של התוכן, משתמשים בגלגל הגלילה של העכבר (בשילוב עם מקש Control או Ctrl) ובתנועות פתיחה וסגירה של האצבעות במשטח המגע.
T-Hover_States Hover_States מציבים את הסמן של העכבר או של משטח המגע מעל רכיבים בממשק המשתמש כדי להפעיל את מצב הצבת הסמן של הרכיב.