Prüfen der Barrierefreiheit

Wenn du die Barrierefreiheit testest, kannst du deine App aus der Perspektive von einschließlich Nutzenden mit Anforderungen an die Barrierefreiheit. Diese Form von Tests können Möglichkeiten aufdecken, wie du deine App leistungsstärker und vielseitiger nutzen kannst.

Auf dieser Seite wird beschrieben, wie Sie Bedienungshilfen-Prüfungen zu Ihrem bestehenden Espresso- Tests durchführen. Weitere Informationen zur Barrierefreiheit finden Sie unter Bedienungshilfen Leitfäden.

Überprüfungen aktivieren

Sie können Tests zur Barrierefreiheit aktivieren und konfigurieren, indem Sie die AccessibilityChecks Klasse:

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();
    }
}

Standardmäßig werden die Prüfungen ausgeführt, wenn Sie eine der in folgenden Listen definierten Ansichtsaktionen ausführen: ViewActions Jedes enthält die Ansicht, in der die Aktion ausgeführt wird, sowie alle der untergeordneten Ansichten. Sie können die gesamte Ansichtshierarchie eines Bildschirms während Prüfung durch Übergeben von true an setRunChecksFromRootView(), Dies wird im folgenden Code-Snippet gezeigt:

Kotlin

AccessibilityChecks.enable().setRunChecksFromRootView(true)

Java

AccessibilityChecks.enable().setRunChecksFromRootView(true);

Teilmengen von Ergebnissen unterdrücken

Nachdem Espresso Ihre App auf Bedienungshilfen überprüft hat, werden möglicherweise mehrere Möglichkeiten zur Verbesserung der Barrierefreiheit Ihrer App, die Sie nicht umsetzen können sofort. Um zu verhindern, dass Espressotests ständig fehlschlagen, können Sie sie vorübergehend ignorieren. Test zur Barrierefreiheit Framework (ATF) bietet diese Funktionalität mithilfe des setSuppressingResultMatcher() , die Espresso anweist, alle Ergebnisse zu unterdrücken, die die angegebene Matcher-Ausdruck.

Wenn Sie Änderungen an Ihrer App vornehmen, die einen Aspekt der Barrierefreiheit berücksichtigen, dass Espresso Ergebnisse für genauso viele andere Aspekte möglichst barrierefrei sind. Daher ist es am besten, nur bestimmte bekannte Verbesserungsmöglichkeiten.

Wenn Sie Ergebnisse von Barrierefreiheitstests vorübergehend unterdrücken, die Sie planen möchten nicht aus Versehen ähnliche Ergebnisse unterdrücken. Für Verwenden Sie daher eng gefasste Abgleiche. Wählen Sie dazu eine Matcher damit Espresso ein bestimmtes Ergebnis nur dann unterdrückt, wenn es jedes der folgenden Kriterien erfüllt: Bedienungshilfen prüfen:

  1. Prüfungen auf Bedienungshilfen eines bestimmten Typs, z. B. Prüfungen auf Berührungen Zielgröße.
  2. Bei dieser Prüfung wird ein bestimmtes UI-Element wie z. B. eine Schaltfläche überprüft.

In der ATF-Datei werden mehrere Abgleichmethoden festgelegt. damit Sie besser definieren können, welche Ergebnisse in Ihren Espresso-Tests angezeigt werden sollen. Die folgenden Durch das Beispiel werden die Ergebnisse von Prüfungen unterdrückt, die sich auf eine einzelne TextView beziehen. Farbkontrast des Elements. Die ID des Elements lautet 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))));