تست کردن

یک روش ضروری برای آزمایش دسترس‌پذیری، آزمایش دستی است: با روشن کردن سرویس‌های دسترس‌پذیری، مانند TalkBack یا «دسترسی با کلید»، و بررسی اینکه آیا همه چیز طبق انتظار کار می‌کند یا نه. این کار بینش مستقیمی درباره نحوه تجربه برنامه شما توسط کاربران با نیازهای دسترس‌پذیری ارائه می‌دهد.

در کنار درستی‌سنجی دستی، باید از آزمایش خودکارسازی‌شده نیز استفاده کنید تا هرگونه مشکل احتمالی را که ممکن است بر تجربه کاربری تأثیر بگذارد، هنگام اعمال تغییرات مداوم در برنامه‌تان، پرچم‌گذاری کنید.

میاناهای برنامه‌سازی کاربردی آزمون‌گیری Compose موجود به شما امکان می‌دهند آزمایش‌های خودکاری بنویسید که با عناصر معنایی تعامل داشته باشند و ویژگی‌های تعریف‌شده در میانای کاربر را تأیید کنند.

بررسی‌های دسترس‌پذیری

برای آزمایش خودکار دسترس‌پذیری، می‌توانید از چارچوب آزمایش دسترس‌پذیری نیز استفاده کنید—همان چارچوب زیربنایی که «اسکنر دسترس‌پذیری» و بررسی‌های دسترس‌پذیری را در Espresso تقویت می‌کند—تا برخی بررسی‌های مرتبط با دسترس‌پذیری را به‌طور خودکار انجام دهید، که با Compose نسخه ۱.۸.۰ شروع می‌شود.

برای فعال کردن بررسی‌ها، وابستگی ui-test-junit4-accessibility را اضافه کنید، enableAccessibilityChecks() را در AndroidComposeTestRule فراخوانی کنید، و کنشی را راه‌اندازی کنید یا tryPerformAccessibilityChecks:

@Rule
@JvmField
val composeTestRule = createAndroidComposeRule<ComponentActivity>()

@Test
fun noAccessibilityLabel() {
    composeTestRule.setContent {
        Box(
            modifier = Modifier
                .size(50.dp, 50.dp)
                .background(color = Color.Gray)
                .clickable { }
                .semantics {
                    contentDescription = ""
                }
        )
    }

    composeTestRule.enableAccessibilityChecks()

    // Any action (such as performClick) will perform accessibility checks too:
    composeTestRule.onRoot().tryPerformAccessibilityChecks()
}

این آزمایش خاص با یک استثنا و پیامی مبنی بر اینکه ممکن است مورد برچسبی نداشته باشد که برای سرویس‌های دسترس‌پذیری خوانا باشد ناموفق می‌شود.

سایر بررسی‌های دردسترس مشکلات دسترس‌پذیری را در کنتراست رنگ، اندازه کوچک هدف لمسی، یا ترتیب پیمایش عناصر جستجو می‌کنند.

اگر «نماها» را با Compose ترکیب می‌کنید و قبلاً از AccessibilityValidator استفاده می‌کنید، یا باید یکی را پیکربندی کنید، می‌توانید آن را در قانون تنظیم کنید:

@Test
fun lowContrastScreen() {
    composeTestRule.setContent {
        Box(
            modifier = Modifier
                .fillMaxSize()
                .background(color = Color(0xFFFAFBFC)),
            contentAlignment = Alignment.Center
        ) {
            Text(text = "Hello", color = Color(0xFFB0B1B2))
        }
    }

    // Optionally, set AccessibilityValidator manually
    val accessibilityValidator = AccessibilityValidator()
        .setThrowExceptionFor(
            AccessibilityCheckResult.AccessibilityCheckResultType.WARNING
        )

    composeTestRule.enableAccessibilityChecks(accessibilityValidator)

    composeTestRule.onRoot().tryPerformAccessibilityChecks()
}

در ترکیب با آزمایش دستی، آزمایش‌های خودکار بااستفاده از Compose API و «چارچوب آزمایش دسترس‌پذیری» می‌تواند به شما کمک کند مشکلات احتمالی را در مراحل اولیه فرایند توسعه شناسایی کنید.