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:
- Prüfungen auf Bedienungshilfen eines bestimmten Typs, z. B. Prüfungen auf Berührungen Zielgröße.
- 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))));