בדיקת נגישות

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

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

הפעלת הבדיקות

אפשר להפעיל ולהגדיר בדיקות נגישות באמצעות AccessibilityChecks class:

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

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

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

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

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