Barrierefreiheit Ihrer App testen

Mithilfe von Tests zur Barrierefreiheit kannst du deine App aus der Perspektive der Nutzer erleben und Probleme hinsichtlich der Nutzerfreundlichkeit erkennen, die du möglicherweise übersehen könntest. Tests der Barrierefreiheit können Möglichkeiten aufzeigen, wie du deine App für alle Nutzer leistungsfähiger und vielseitiger gestalten kannst, auch für Nutzer mit Beeinträchtigungen.

Die besten Ergebnisse erzielen Sie, wenn Sie alle in diesem Dokument beschriebenen Ansätze verwenden:

  • Manuelles Testen:Interagieren Sie über Android-Bedienungshilfen mit Ihrer App.
  • Tests mit Analysetools:Nutze Tools, um Möglichkeiten zur Verbesserung der Zugänglichkeit deiner App zu finden.
  • Automatisierte Tests:Aktivieren Sie Bedienungshilfen in Espresso und Robolectric.
  • Nutzertests:Holen Sie Feedback von Nutzern ein, die mit Ihrer App interagieren.

Manuelle Tests

Bei manuellen Tests können Sie sich in die Lage der Nutzer versetzen. Android-AccessibilityService-Objekte beeinflussen, wie der Nutzer den Inhalt Ihrer App sieht und wie er mit dem Inhalt interagiert. Durch die Interaktion mit deiner App über Bedienungshilfen erkennst du deine App wie die Nutzer.

TalkBack

TalkBack ist der integrierte Screenreader von Android. Wenn TalkBack aktiviert ist, können Nutzer mit ihrem Android-Gerät interagieren, ohne den Bildschirm zu sehen. Nutzer mit Sehbeeinträchtigungen können sich auf die Nutzung Ihrer App durch TalkBack verlassen.

TalkBack aktivieren

  1. Öffnen Sie auf dem Gerät die Einstellungen.
  2. Gehen Sie zu Bedienungshilfen und wählen Sie TalkBack aus.
  3. Drücken Sie am oberen Bildschirmrand auf Ein/Aus, um TalkBack zu aktivieren.
  4. Wählen Sie im Dialogfeld zur Bestätigung OK aus, um die Berechtigungen zu bestätigen.

Apps mit TalkBack entdecken

Wenn TalkBack aktiviert ist, gibt es zwei gängige Navigationsmöglichkeiten:

  • Lineare Navigation:Wischen Sie schnell nach rechts oder links, um nacheinander durch Bildschirmelemente zu navigieren. Doppeltippen, um das aktuelle Bildschirmelement auszuwählen.
  • Tippen: Ziehen Sie Ihren Finger über den Bildschirm, um zu hören, was sich unter Ihrem Finger befindet. Tippen Sie doppelt auf eine beliebige Stelle, um das aktuelle Element auszuwählen.

Gehen Sie so vor, um TalkBack in Ihrer App zu nutzen:

  1. Öffnen Sie die App.
  2. Wischen Sie nacheinander durch die einzelnen Elemente.
  3. Achten Sie bei der Navigation auf die folgenden Probleme:

    • Vermittelt das gesprochene Feedback für jedes Element den Inhalt oder Zweck angemessen? Informationen zum Schreiben aussagekräftiger Labels * Sind Ankündigungen kurz oder unnötig ausführlich?
    • Können Sie die wichtigsten Workflows einfach erledigen?
    • Kannst du durch Wischen zu jedem Element gelangen?
    • Werden Warnungen oder andere temporäre Nachrichten vorgelesen?

Weitere Informationen und Tipps finden Sie in der TalkBack-Nutzerdokumentation.

Optional: TalkBack-Entwicklereinstellungen

Die TalkBack-Entwicklereinstellungen vereinfachen das Testen Ihrer App mit TalkBack.

So können Sie die Entwicklereinstellungen aufrufen oder ändern:

  1. Öffnen Sie auf dem Gerät die Einstellungen.
  2. Gehen Sie zu Bedienungshilfen und wählen Sie TalkBack aus.
  3. Wählen Sie Einstellungen > Erweiterte Einstellungen > Entwicklereinstellungen aus:

    1. Ebene der Logausgabe:Wählen Sie VERBOSE aus.
    2. Sprachausgabe anzeigen:Aktivieren Sie diese Einstellung, um die TalkBack-Sprachausgabe auf dem Bildschirm anzusehen.

Schalterzugriff

Mit dem Schalterzugriff können Nutzer statt über den Touchscreen über einen Schalter mit Android-Mobilgeräten interagieren. Es gibt verschiedene Arten von Schaltern: Hilfstechnologien wie Geräte, die von AbleNet, Enable Devices, RJ Cooper oder Tecla* verkauft werden, externe Tastaturtasten oder Tasten. Dieser Dienst kann für Menschen mit motorischen Einschränkungen hilfreich sein.

* Google unterstützt diese Unternehmen oder deren Produkte nicht.

Schalterzugriff aktivieren

Eine Möglichkeit, den Schalterzugriff zu konfigurieren, sind zwei Schalter. Ein Schalter ist als „Weiter“ bezeichnet und verschiebt den Fokus auf dem Bildschirm. Ein zweiter Schalter „Auswählen“ wählt das fokussierte Element aus. Für diese Methode mit zwei Schaltern können Sie ein beliebiges Paar von Hardwareschlüsseln verwenden.

So richten Sie den Schalterzugriff ein:

  1. Deaktivieren Sie TalkBack.
  2. Öffnen Sie auf dem Gerät die Einstellungen.
  3. Gehen Sie zu Bedienungshilfen, wählen Sie Schalterzugriff und dann Einstellungen aus.
  4. Achten Sie darauf, dass auf dem Bildschirm „Einstellungen für den Schalterzugriff“ die Option Automatischer Scan deaktiviert ist.
  5. Verwende die Leisertaste als Schalter „Weiter“:

    1. Tippen Sie auf Tasten für das Scannen zuweisen > Weiter.
    2. Wenn das Dialogfeld erscheint, drücken Sie die Leisertaste. Im Dialogfeld wird KEYCODE_VOLUME_DOWN angezeigt.
    3. Tippen Sie zum Bestätigen auf OK und schließen Sie das Dialogfeld.
  6. Verwende die Lautertaste als Schalter „Auswählen“:

    1. Tippe auf „Auswählen“.
    2. Wenn das Dialogfeld erscheint, drücke die Lautertaste. Im Dialogfeld wird KEYCODE_VOLUME_UP angezeigt.
    3. Tippen Sie zum Bestätigen auf OK und schließen Sie das Dialogfeld.
  7. Kehren Sie zu den Einstellungen für den Schalterzugriff zurück, indem Sie auf die Schaltfläche „Zurück“ tippen.

  8. Optional: Wenn Sie TalkBack 5.1 oder höher verwenden, können Sie Gesprochenes Feedback auswählen, um gesprochenes Feedback zu aktivieren.

  9. Tippen Sie auf die Schaltfläche „Zurück“, um zum Hauptbildschirm für den Schalterzugriff zurückzukehren.

  10. Drücken Sie oben auf dem Bildschirm „Schalterzugriff“ auf An/Aus, um den Schalterzugriff zu aktivieren.

  11. Wählen Sie im Dialogfeld zur Bestätigung OK aus, um die Berechtigungen zu bestätigen.

Apps über den Schalterzugriff entdecken

So nutzen Sie den Schalterzugriff in Ihrer App:

  1. Öffnen Sie die App.
  2. Starten Sie den Scanvorgang, indem Sie die „Weiter“-Taste (die Leisertaste) drücken.
  3. Drücken Sie so lange "Weiter", bis Sie das Element erreicht haben, das Sie auswählen möchten.
  4. Wählen Sie das markierte Element aus, indem Sie die Auswahltaste (Lautertaste) drücken.
  5. Achten Sie bei der Navigation auf die folgenden Probleme:

    • Können Sie die wichtigsten Workflows einfach erledigen?
    • Können Sie bei Texten oder anderen Eingaben Inhalte einfach hinzufügen und bearbeiten?
    • Werden Elemente nur hervorgehoben, wenn Sie damit eine Aktion ausführen können?
    • Wird jedes Element nur einmal hervorgehoben?
    • Sind alle Funktionen, die über Touchscreen-Gesten verfügbar sind, auch als auswählbare Steuerelemente oder benutzerdefinierte Aktionen im Schalterzugriff verfügbar?
    • Wenn Sie TalkBack 5.1 oder höher verwenden und gesprochenes Feedback aktiviert haben: Vermittelt das gesprochene Feedback für jedes Element seinen Inhalt oder Zweck angemessen? Informationen zum Schreiben aussagekräftiger Labels

Optional: Gruppenauswahl verwenden, um alle scanbaren Elemente zu sehen

Die Gruppenauswahl ist eine Navigationsmethode für den Schalterzugriff, mit der Sie alle Elemente gleichzeitig sehen können, die durchsucht werden können. Mit dieser Option können Sie schnell überprüfen, ob die richtigen Elemente auf dem Bildschirm hervorgehoben sind.

So aktivieren Sie die Gruppenauswahl:

  1. Öffnen Sie auf dem Gerät die Einstellungen.
  2. Gehen Sie zu Bedienungshilfen, wählen Sie Schalterzugriff und dann Einstellungen aus.
  3. Achten Sie darauf, dass auf dem Bildschirm „Einstellungen für den Schalterzugriff“ die Option Automatischer Scan deaktiviert ist.
  4. Wählen Sie Scanmethode > Gruppenauswahl aus.
  5. Tippen Sie auf Schalter zum Scannen zuweisen.
  6. Der Text unter Gruppenauswahlschalter 1 und Gruppenauswahlschalter 2 zeigt, dass jedem Schalter ein Schalter zugewiesen ist. Wenn Sie den Schritten in diesem Dokument zum Aktivieren des Schalterzugriffs folgen, sind die Lautstärketasten bereits zugewiesen.

So können Sie Ihre App mit Schalterzugriff über die Gruppenauswahl entdecken:

  1. Drücken Sie die Auswahltaste (Lautertaste), um alle Aktionen auf dem aktuellen Bildschirm zu markieren. Suchen Sie nach den folgenden Problemen:

    • Sind nur umsetzbare Elemente hervorgehoben?
    • Sind alle umsetzbaren Maßnahmen hervorgehoben?
    • Ist die Dichte der hervorgehobenen Elemente sinnvoll?
  2. Rufe einen anderen Bildschirm auf, um die Markierung zu entfernen.

Weitere Informationen dazu, wie Nutzer bei der Gruppenauswahl navigieren können, finden Sie unter Tipps zur Verwendung des Schalterzugriffs.

Voice Access

Mit Voice Access können Nutzer ein Android-Gerät mit gesprochenen Befehlen steuern. Voice Access ist auf Geräten mit Android 5.0 (API-Level 21) und höher verfügbar. Wie Sie Ihre App mit Voice Access testen, erfahren Sie unter Erste Schritte mit Voice Access.

Mit Analysetools testen

Analysetools können Möglichkeiten zur Verbesserung der Zugänglichkeit aufdecken, die Sie mit manuellen Tests möglicherweise übersehen.

Prüfung der Benutzeroberfläche für das Verfassen

Aktivieren Sie in einer Vorschau der Funktion „Compose-Vorschau“ den Modus „Compose UI Check“ , um Android Studio zu ermöglichen, die Composer-UI automatisch auf Probleme mit Bedienungshilfen zu prüfen. Android Studio prüft, ob Ihre Benutzeroberfläche für verschiedene Bildschirmgrößen funktioniert, indem im Problembereich Probleme wie gestreckter Text auf großen Bildschirmen oder ein geringer Farbkontrast hervorgehoben werden.

Klicken Sie auf die Schaltfläche „Überprüfungsmodus für Erstellung der Benutzeroberfläche“, um die Prüfung zu aktivieren.
Überprüfungsmodus für Erstellung der Benutzeroberfläche aktiviert. Details finden Sie im Problembereich.

Accessibility Scanner

Die Accessibility Scanner App scannt Ihren Bildschirm und schlägt Möglichkeiten vor, wie Sie die Barrierefreiheit Ihrer App verbessern können. Der Accessibility Scanner nutzt das Accessibility Test Framework und macht spezifische Vorschläge, nachdem sie sich unter anderem Inhaltslabels, anklickbare Elemente oder den Kontrast angesehen haben.

Das Android Accessibility Test Framework ist in Android Studio integriert, um dir dabei zu helfen, Probleme mit der Barrierefreiheit in deinen Layouts zu finden. Klicken Sie zum Aufrufen des Bereichs auf die Schaltfläche „Fehlerbericht“ ! im Layout-Editor.

Demo des Accessibility Scanners Abbildung 1: Demo des Accessibility Scanners

Weitere Informationen finden Sie in den folgenden Ressourcen:

Pre-Launch-Bericht bei Google Play

Wenn Sie Ihre App bei Google Play vertreiben, haben Sie Zugriff auf einen Pre-Launch-Bericht für Ihre App. Google Play erstellt diesen Bericht kurz nachdem Sie eine App über die Google Play Console auf einen Release-Kanal hochgeladen haben. Der Pre-Launch-Bericht, der auch in der Google Play Console verfügbar ist, enthält die Ergebnisse der Tests, die Google Play für deine App durchgeführt hat.

Google Play führt Bedienungshilfentests insbesondere mit dem Accessibility Test Framework durch. Die Ergebnisse dieser Tests werden im Pre-Launch-Bericht deiner App auf dem Tab Bedienungshilfen in einer Tabelle angezeigt.

In der Tabelle sind Verbesserungsmöglichkeiten in die folgenden Kategorien unterteilt:

Zielelementgröße
Interaktive Elemente in Ihrer App mit einem fokussierbaren Bereich oder einer Größe des Berührungszielbereichs, die kleiner als empfohlen ist.
Geringer Kontrast
Instanzen, bei denen das für ein Textelement verwendete Farbpaar und der Hintergrund hinter diesem Element ein niedrigeres Farbkontrastverhältnis als empfohlen haben.
Inhaltslabels
UI-Elemente ohne Label, das den Zweck der Elemente beschreibt
Implementierung
Attribute, die UI-Elementen zugewiesen sind, die es den Bedienungshilfen des Systems erschweren, die Elemente richtig zu interpretieren. Beispiele hierfür sind das Definieren einer Beschreibung für ein bearbeitbares View-Label und die Verwendung einer Durchlaufreihenfolge von Elementen, die nicht der logischen Anordnung der Elemente entspricht.

Im Pre-Launch-Bericht werden unter Berücksichtigung der Tabelle Momentaufnahmen deiner App angezeigt. Sie stellen die wichtigsten Möglichkeiten zur Verbesserung der Barrierefreiheit deiner App in jeder Kategorie dar. Wählen Sie einen Screenshot aus, um weitere Details zu sehen, einschließlich einer vorgeschlagenen Verbesserung und einer umfassenderen Liste der Bereiche in Ihrer App, an denen Sie dieselbe Verbesserung anwenden können.

Abbildung 2 zeigt ein Beispiel für die Tabelle, die auf dem Tab Bedienungshilfen eines Pre-Launch-Berichts bei Google Play angezeigt wird. Diese Abbildung enthält auch einen der Snapshots der App, aus denen hervorgeht, dass die Größe des Berührungszielbereichs der Schaltfläche Weiter kleiner als empfohlen ist.

Bild, das den Pre-Launch-Bericht zu Bedienungshilfen zeigt
Abbildung 2. Beispiel für eine Übersichtstabelle (links) und einen Screenshot (rechts) vom Tab Bedienungshilfen eines Pre-Launch-Berichts.

UI Automator-Betrachter

Das uiautomatorviewer-Tool bietet eine bequeme GUI zum Scannen und Analysieren der UI-Komponenten, die derzeit auf einem Android-Gerät angezeigt werden. Mit UI Automator können Sie die Layouthierarchie prüfen und die Eigenschaften von UI-Komponenten aufrufen, die im Vordergrund des Geräts sichtbar sind. Mit diesen Informationen können Sie detailliertere Tests erstellen, z. B. indem Sie einen UI-Selektor erstellen, der einem bestimmten sichtbaren Attribut entspricht. Das Tool befindet sich im Verzeichnis tools des Android SDK.

Beim Testen der Barrierefreiheit ist dieses Tool nützlich, um Probleme zu beheben, die mit anderen Testmethoden gefunden wurden. Wenn beispielsweise beim manuellen Testen festgestellt wird, dass eine Ansicht nicht den erforderlichen vorlesbaren Text enthält oder eine Ansicht fokussiert wird, obwohl dies nicht der Fall ist, können Sie mit dem Tool die Ursache des Problems ermitteln.

Weitere Informationen zu UI Automator Viewer finden Sie unter Automatisierte Tests mit UI Automator schreiben.

Fussel

In Android Studio werden Lint-Warnungen zu verschiedenen Problemen mit der Barrierefreiheit angezeigt sowie Links zu den relevanten Stellen im Quellcode bereitgestellt. Im folgenden Beispiel fehlt einem Bild das Attribut contentDescription. Die fehlende Inhaltsbeschreibung führt zu der folgenden Meldung:

[Accessibility] Missing 'contentDescription' attribute on image

Abbildung 3 zeigt ein Beispiel dafür, wie diese Meldung in Android Studio angezeigt wird:

Ein Bild, das zeigt, wie Android Studio auf einigen Bildern eine fehlende Inhaltsbeschreibung meldet.
Abbildung 3: Nachricht in Android Studio, in der das fehlende contentDescription-Attribut angezeigt wird.

Automatisierte Tests

Die Android-Plattform unterstützt verschiedene Test-Frameworks, z. B. Espresso, mit dem Sie automatisierte Tests erstellen und ausführen können, um die Barrierefreiheit Ihrer App zu bewerten.

Espresso

Espresso ist eine Android-Testbibliothek, die entwickelt wurde, um UI-Tests schnell und einfach zu machen. Sie können damit in Ihrer Anwendung mit UI-Komponenten interagieren, die getestet werden, und bestätigen, dass bestimmte Verhaltensweisen auftreten oder bestimmte Bedingungen erfüllt sind.

Eine Videoübersicht über Barrierefreiheitstests mit Espresso finden Sie im folgenden Video von Minute 31:54 bis 34:19: Inklusives Design und Tests: Barrierefreiheit Ihrer App – Google I/O 2016.

In diesem Abschnitt wird beschrieben, wie Barrierefreiheitsprüfungen mit Espresso ausgeführt werden.

Prüfungen aktivieren

Sie können Bedienungshilfentests mit der Klasse AccessibilityChecks aktivieren und konfigurieren:

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 in ViewActions definierte Ansichtsaktion ausführen. Jede Prüfung umfasst die Ansicht, in der die Aktion ausgeführt wird, sowie alle untergeordneten Ansichten. Sie können die gesamte Ansichtshierarchie eines Bildschirms bei jeder Prüfung auswerten. Dazu übergeben Sie true wie im folgenden Code-Snippet an setRunChecksFromRootView():

Kotlin

AccessibilityChecks.enable().setRunChecksFromRootView(true)

Java

AccessibilityChecks.enable().setRunChecksFromRootView(true);

Teilmengen von Ergebnissen unterdrücken

Nachdem Espresso Barrierefreiheitsprüfungen für Ihre App ausgeführt hat, gibt es möglicherweise mehrere Möglichkeiten, die Barrierefreiheit Ihrer App zu verbessern, die Sie nicht sofort beheben können. Um zu verhindern, dass Espresso-Tests aufgrund dieser Ergebnisse ständig fehlschlagen, können Sie sie vorübergehend ignorieren. Das Accessibility Test Framework (ATF) stellt diese Funktionen mithilfe der Methode setSuppressingResultMatcher() bereit, die Espresso anweist, alle Ergebnisse zu unterdrücken, die den angegebenen Abgleichausdruck erfüllen.

Wenn Sie Änderungen an Ihrer App vornehmen, die einen Aspekt der Barrierefreiheit betreffen, ist es von Espresso von Vorteil, Ergebnisse für so viele andere Aspekte der Barrierefreiheit wie möglich anzuzeigen. Aus diesem Grund ist es am besten, nur bestimmte bekannte Verbesserungsmöglichkeiten zu unterdrücken.

Wenn Sie Ergebnisse von Bedienungshilfentests vorübergehend unterdrücken, die Sie später behandeln möchten, ist es wichtig, dass Sie ähnliche Ergebnisse nicht versehentlich unterdrücken. Verwenden Sie daher eng gefasste Abgleichstools. Wählen Sie dazu einen Matcher aus, sodass Espresso ein bestimmtes Ergebnis nur unterdrückt, wenn es jede der folgenden Prüfung auf Barrierefreiheit erfüllt:

  1. Prüfung der Barrierefreiheit eines bestimmten Typs, z. B. Prüfung auf die Größe des Berührungszielbereichs.
  2. Bedienungshilfenprüfungen, mit denen ein bestimmtes UI-Element bewertet wird, z. B. eine Schaltfläche

Das ATF definiert mehrere Abgleichausdrücke, mit denen Sie festlegen können, welche Ergebnisse in Ihren Espresso-Tests angezeigt werden sollen. Im folgenden Beispiel werden die Ergebnisse von Prüfungen unterdrückt, die sich auf den Farbkontrast eines einzelnen TextView-Elements beziehen. 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))));

Nutzungstests

Zusammen mit den anderen Testmethoden in diesem Leitfaden können Nutzertests spezifische und wertvolle Informationen zur Nutzerfreundlichkeit Ihrer App liefern.

Verwenden Sie zum Beispiel die folgenden Methoden, um Nutzer zu finden, die Ihre App testen können:

  1. Wenden Sie sich an lokale Organisationen, Hochschulen oder Universitäten, die Schulungen für Menschen mit Behinderung anbieten.
  2. Fragen Sie in Ihrem Bekanntenkreis. Vielleicht gibt es Menschen mit Beeinträchtigungen, die bereit sind, zu helfen.
  3. Bitten Sie einen Nutzertestdienst wie usertesting.com, Ihre App zu testen und Nutzer mit Behinderungen einzubeziehen.
  4. Treten Sie einem Forum zur Barrierefreiheit wie Accessible bei und bitten Sie Freiwillige, Ihre App auszuprobieren.

Weitere Tipps findest du im Abschnitt zu Nutzertests im folgenden Video von Minute 31:10 bis 44:51: Hinter den Kulissen: Was ist neu bei Android-Bedienungshilfen – Google I/O 2016.