בדיקת הנגישות מאפשרת לכם לחוות את האפליקציה מנקודת המבט של כל בסיס המשתמשים, כולל משתמשים עם צרכי נגישות. סוג הבדיקה הזה יכול לחשוף הזדמנויות להפוך את האפליקציה ליעילה ומגוונת יותר.
בדף הזה מוסבר איך להוסיף בדיקות נגישות לבדיקות Espresso קיימות. מידע נוסף על נגישות זמין במדריכי הנגישות.
הפעלת בדיקות
אפשר להפעיל ולהגדיר בדיקות נגישות באמצעות המחלקה AccessibilityChecks:
Kotlin
import androidx.test.espresso.accessibility.AccessibilityChecks
@RunWith(AndroidJUnit4::class)
@LargeTest
class MyWelcomeWorkflowIntegrationTest {
init {
AccessibilityChecks.enable()
}
}
Java
import androidx.test.espresso.accessibility.AccessibilityChecks;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class MyWelcomeWorkflowIntegrationTest {
@BeforeClass
public void enableAccessibilityChecks() {
AccessibilityChecks.enable();
}
}
כברירת מחדל, הבדיקות מופעלות כשמבצעים פעולת צפייה כלשהי שמוגדרת ב-ViewActions. כל בדיקה כוללת את התצוגה שבה הפעולה מתבצעת, וגם את כל התצוגות הצאצאות. אפשר להעריך את כל היררכיית התצוגה של מסך במהלך כל בדיקה על ידי העברת true אל setRunChecksFromRootView(), כמו בקטע הקוד הבא:
Kotlin
AccessibilityChecks.enable().setRunChecksFromRootView(true)
Java
AccessibilityChecks.enable().setRunChecksFromRootView(true);
הסתרת תת-קבוצות של תוצאות
אחרי שאפליקציית Espresso מריצה בדיקות נגישות באפליקציה שלכם, יכול להיות שתמצאו כמה הזדמנויות לשיפור הנגישות של האפליקציה שלא תוכלו לטפל בהן באופן מיידי. כדי למנוע מצב שבו בדיקות Espresso נכשלות שוב ושוב בגלל התוצאות האלה, אפשר להתעלם מהן באופן זמני. ה-Accessibility Test Framework (ATF) מספק את הפונקציונליות הזו באמצעות השיטה setSuppressingResultMatcher(), שמורה ל-Espresso להסתיר את כל התוצאות שתואמות לביטוי ההתאמה שצוין.
כשמבצעים שינויים באפליקציה כדי לטפל בהיבט מסוים של נגישות, כדאי ש-Espresso יציג תוצאות לגבי כמה שיותר היבטים אחרים של נגישות. לכן, מומלץ להסתיר רק הזדמנויות ספציפיות ומוכרות לשיפור.
כשמשביתים באופן זמני ממצאים של בדיקת נגישות שמתכננים לטפל בהם בהמשך, חשוב לא להשבית בטעות ממצאים דומים. לכן, כדאי להשתמש בשיטות התאמה עם היקף צר. כדי לעשות זאת, בוחרים בכלי התאמה כדי שמערכת Espresso תסתיר תוצאה מסוימת רק אם היא עומדת בכל בדיקות הנגישות הבאות:
- בדיקות נגישות מסוג מסוים, כמו בדיקות של גודל אזור המגע.
- בדיקות נגישות שמעריכות רכיב בממשק המשתמש מסוים, כמו לחצן.
ה-ATF מגדיר כמה התאמות
כדי לעזור לכם להגדיר אילו תוצאות יוצגו בבדיקות Espresso. בדוגמה הבאה מוסתרות תוצאות הבדיקות שקשורות לניגודיות הצבע של רכיב TextView יחיד. מזהה הרכיב הוא countTV.
Kotlin
AccessibilityChecks.enable().apply {
setSuppressingResultMatcher(
allOf(
matchesCheck(TextContrastCheck::class.java),
matchesViews(withId(R.id.countTV))
)
)
}
Java
AccessibilityValidator myChecksValidator =
AccessibilityChecks.enable()
.setSuppressingResultMatcher(
allOf(
matchesCheck(TextContrastCheck.class),
matchesViews(withId(R.id.countTV))));