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

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

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

הנחיות

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

ממשק משתמש

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

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

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

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

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

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

UI_Secondary_Elements T-Layout_Flow

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

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

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

מזהה ההנחיה מזהי בדיקות תיאור
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 מציבים את הסמן של העכבר או של משטח המגע מעל רכיבים בממשק המשתמש שניתן לבצע עליהם פעולה כדי להפעיל את מצב הצבת הסמן של הרכיב.