Behebung beim Barrierefreiheitsscanner

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Verwendet Ihr Team den Android Accessibility Scanner von Google?

In diesem Abschnitt finden Sie Hinweise zur Behebung der Regeln, die der Scanner überprüft. Lesen Sie mehr über die Nutzung von Accessibility Scanner und axe DevTools Mobile.

Eine vollständige Liste der aktuellen Prüfungen, Beschreibungen und Aktualisierungen finden Sie in den Richtlinien zum Accessibility Scanner von Google .

Inhaltskennzeichnung

Artikelbezeichnung fehlt

Dem Inhalt der Ansicht fehlen möglicherweise Kontextinformationen.

Geben Sie für jede Ansicht, die Informationen für den Benutzer bereitstellt, eine der folgenden Optionen an, um dieses Zugänglichkeitsproblem zu beheben:

  • android:contentDescription: In den meisten Fällen ist das Hinzufügen einer Inhaltsbeschreibung alles, was nötig ist.
  • android:hint: Es können Hinweise hinzugefügt werden, um die Art der Daten zu beschreiben, die der Benutzer für editierbare Textansichten eingeben soll.
  • android:labelFor: Mit diesem Tag können Sie eine Ansicht als Bezeichnung für eine andere Ansicht zuweisen.
note

Innerhalb von Compose werden Inhaltsbeschreibung und Hinweis als Parameter beim Definieren der Ansicht oder über die Modifier-Schnittstelle gefunden.

Dekorative Bilder

Dekorative Bilder, die keine wichtigen Informationen liefern, können als für die Barrierefreiheit nicht wichtig gekennzeichnet werden.

Für XML: android:importantForAccessibility="no"

Oder für Compose:

Image(
      imageVector = Icons.Filled.AccountCircle,
      contentDescription = null // decorative
    )

Mit Typ oder Status gekennzeichnetes Element

Eine Ihrer Ansichten weist möglicherweise einen redundanten Status auf. Android bietet Standardansichten mit Zuständen wie Ein, Aus, Ausgewählt oder Nicht ausgewählt. Das Hinzufügen eines Status zur Anzeige kann zu Verwirrung führen.

Um dieses Zugänglichkeitsproblem zu beheben, stellen Sie Folgendes sicher:

  • Kontrollkästchen haben eine zugehörige Beschriftung für den Kontext
  • Statusbeschreibungen werden nicht zur Beschreibung der Ansicht hinzugefügt
<TextView
      android:id="@+id/edit_text_label"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:labelFor="@+id/example"
      android:text="Check Label" />

<androidx.appcompat.widget.AppCompatCheckBox
      android:id="@+id/example"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/with_text"/>

Doppelte Artikelbeschreibungen

Es wurde festgestellt, dass mehrere Ansichten innerhalb der Hierarchie identische Beschreibungen aufweisen.

Dies ist kein WCAG-Fehler und es kann Fälle geben, in denen dies eine Anforderung ist. Wenn Inhaltsbeschreibungen dupliziert werden, stellen Sie sicher, dass jede genügend Kontext bietet, um dem Benutzer mitzuteilen, welche Auswirkungen die Interaktion mit der Ansicht haben würde.

Linkzweck unklar

Jeder Link sollte genügend Text enthalten, um seinen Zweck zu vermitteln. Wenn Sie Beschreibungen wie „Hier klicken“ verwenden, müssen Sie sicherstellen, dass der umgebende Text genügend Informationen enthält, um den Zweck des Links zu entschlüsseln.

Implementierung - Anklickbare Elemente

Links sollten klar angezeigt und über das lokale Kontextmenü leicht zugänglich sein. Google empfiehlt die Verwendung URLSpan oder der Hilfsklasse Linkify zum Anzeigen von Hyperlinks in der Benutzeroberfläche einer App, um die Wahrscheinlichkeit zu erhöhen, dass diese Links erkannt und aktiviert werden.

Doppelte anklickbare Ansichten

Eines der anklickbaren Elemente in Ihrer Ansicht überlappt mit einem anderen anklickbaren Element. Sie können dieses Zugänglichkeitsproblem auf eine der folgenden Arten beheben:

  • Verschieben der anklickbaren Elemente, sodass diese nicht kollidieren oder sich überlappen.

– Wenn die Ansichten nicht verschoben werden können, stellen Sie sicher, dass beide Ansichten über einen ausreichend großen Tippbereich verfügen und jeder problemlos mit den Elementen interagieren kann.

Bearbeitbare Elementbezeichnung

Bearbeitbare Felder müssen eine Beschriftung haben, die den Zweck des Feldes beschreibt.

Ein Beispiel mit EditText:

<TextView
      android:id="@+id/edit_text_label"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:labelFor="@+id/edit_text"
      android:text="Enter your username" />

<EditText
      android:id="@+id/edit_text"
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:hint="Hint" />

Ein Beispiel mit CheckBox:

Verwenden Sie ein TextView und verknüpfen Sie es mit dem CheckBox-Element:

val checkBox: CheckBox = ....... // Role: CheckBox
val label: TextView = ....... // Role: Label
label.setLabelFor(checkBox.getId()) // Associate the Checkbox with its Name

Nicht unterstützter Elementtyp

Sieht aus, als hätten Sie eine benutzerdefinierte Ansicht. Bearbeiten Sie AccessibilityNodeInfo , um className einen geeigneten Zweck für die Ansicht zu geben.

val frameLayout = findViewById<FrameLayout>(R.id.custom_view)
frameLayout.setAccessibilityDelegate(object : View.AccessibilityDelegate() {
      override fun onInitializeAccessibilityNodeInfo(
          host: View,
          info: AccessibilityNodeInfo
      ) {
            info.className = "ClassName"
            info.contentDescription = "ContentDescription"
            super.onInitializeAccessibilityNodeInfo(host, info)           
      }
})

Durchlaufreihenfolge

Wenn Sie mit TalkBack in Ihren Ansichten auf eine Weise navigieren können, die im Kontext Sinn ergibt, handelt es sich möglicherweise um ein falsch positiv und muss nicht behoben werden.

Wenn TalkBack nicht dieselben Informationen liefert wie beim Lesen der App ohne unterstützende Technologie, sollten Sie in Erwägung ziehen, die Reihenfolge der Ansichten zu bearbeiten. Da es schwierig sein kann, es richtig zu machen, und möglicherweise auch versehentlich eine Endlosschleife hinzugefügt wird, raten wir davon ab, die Durchlaufreihenfolge zu bearbeiten. Um die Durchlaufreihenfolge zu ändern, nutzen Sie android:accessibilityTraversalBefore und android:accessibilityTraversalAfter.

Textskalierung

Alle Textelemente sollten skalierbare Pixel (sp) statt dichteunabhängige Punkte (dp) verwenden, um eine Skalierung des Textes entsprechend der Barrierefreiheitseinstellung der Schriftgröße des Geräts zu ermöglichen.

Touch-Zielgröße

Empfehlungen und Hinweise zur Behebung der sichtbaren und tippbaren Bereiche aktiver Steuerelemente finden Sie in der Regel zur Größe des Touch-Ziels für unsere Android-Bibliothek.

Niedriger Kontrast

Der Farbkontrast zwischen Text und Hintergrund sollte den Mindestverhältnisschwellenwerten von WCAG 2 AA entsprechen. Informieren Sie sich über dieses Verhältnis und finden Sie Abhilfetipps bei niedrigem Kontrast in der Farbkontrastregel für unsere Android-Bibliothek.