בדיקת נגישות

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

בדף הזה מוסבר איך להוסיף בדיקות נגישות לבדיקות 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 תסתיר תוצאה מסוימת רק אם היא עומדת בכל בדיקות הנגישות הבאות:

  1. בדיקות נגישות מסוג מסוים, כמו בדיקות של גודל אזור המגע.
  2. בדיקות נגישות שמעריכות רכיב בממשק המשתמש מסוים, כמו לחצן.

ה-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))));