無障礙程度檢查

測試無障礙功能可讓您從 全面升級,包括有無障礙需求的使用者。形式 讓您發掘改進應用程式的契機,進而打造出更強大、更多元的應用程式。

本頁面說明如何在現有的 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 測試因這些結果而持續失敗,您可以暫時予以忽略。無障礙功能測試 架構 (ATF) 以 setSuppressingResultMatcher()敬上 方法,指示 Espresso 隱藏所有符合指定值的結果 比對器運算式。

如果您對應用程式的變更可解決一個方面的無障礙問題,Espresso 會盡可能顯示更多其他方面的無障礙設計結果。因此,建議僅略過特定的已知改進機會。

當您暫時略過計劃稍後處理的無障礙功能測試發現結果時,請務必小心操作,不要意外略過相似的發現結果。出於此原因,建議使用限定範圍的比對器。方法是選擇 比對器 讓 Espresso 只會在符合「所有」條件時略過特定結果 下列無障礙功能檢查項目:

  1. 特定類型的無障礙功能檢查,例如檢查觸控目標大小。
  2. 用於評估特定 UI 元素 (例如按鈕) 的無障礙功能檢查。

ATF 定義了多個比對器 ,協助您定義要在 Espresso 測試中顯示的結果。下列範例會略過與單一 TextView 元素色彩對比相關的檢查結果。這個元素的 ID 是 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))));