Mithilfe von bearbeitbaren Elementen in einer App können Nutzer Text eingeben. Jedes bearbeitbare Element sollte ein Label enthalten, in dem seine Funktion beschrieben wird.
Android bietet Entwicklern mehrere Möglichkeiten, Aufrufe
in der Benutzeroberfläche einer App anzugeben. Mit einigen dieser Möglichkeiten kann die Barrierefreiheit von bearbeitbaren Elementen in einer Benutzeroberfläche verbessert werden.
Implementierung
Verwenden Sie android:hint
für eine bearbeitbare TextView
oder EditText
, um eine Beschreibung innerhalb des Elements anzuzeigen, wenn es leer ist.
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/email_subject_hint" />
Wenn in der Benutzeroberfläche einer App schon ein Textlabel für das bearbeitbare Element vorhanden ist, definieren Sie android:labelFor
in der Labelingansicht
, um festzulegen, welches Element beschrieben wird.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/email_subject_label"
android:labelFor="@id/email_subject" />
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Tipp: TextInputLayout
in der Android Design-Supportbibliothek bietet eine einfache Möglichkeit, um EditText
und ein damit verbundenes Textlabel zu verwalten. Außerdem funktioniert es gut mit Bedienungshilfen von Android.
Wenn ein android:contentDescription
-Attribut in einem beliebigen EditText
oder einer bearbeitbaren TextView
definiert wird, kann dadurch möglicherweise die Fähigkeit von Bedienungshilfen beeinträchtigt, den vom Nutzer im Element eingegebenen Text zu beschreiben, darin zu navigieren und mit dem Element zu interagieren.
Design
Wenn Nutzer mit einem Screenreader bearbeitbare Elemente aufrufen, sollten sie auf einer gut implementierten Benutzeroberfläche folgende Elemente vorfinden:
- Wenn das bearbeitbare Feld leer ist, ist eine Beschreibung vorhanden, die vom Screenreader vorgelesen wird.
- Wenn ein Nutzer Text in das Textfeld eingegeben hat, wird vom Screenreader neben dem beschreibenden Label auch der Text vorgelesen.
Wenn ein Nutzer zu einem geringeren Detaillierungsgrad wechselt, z. B. Zeichen für Zeichen, spricht der Screenreader den eingegebenen Text oder gibt einen Hinweis, wenn kein Text vorhanden ist.
Test
So stellen Sie manuell fest, ob eine App das korrekte Label für bearbeitbare Elemente enthält:
- Aktivieren Sie TalkBack.
- Verschieben Sie in der App den Bedienungshilfefokus auf das leere bearbeitbare Element.
- Prüfen Sie, ob die gesprochene Beschreibung des leeren bearbeitbaren Elements in TalkBack ein Label enthält und ob dieses Label mit den visuellen Labels in der App übereinstimmt.
- Geben Sie Text in das bearbeitbare Element ein.
- Verschieben Sie den Fokus der Bedienungshilfe auf das bearbeitbare Element.
- Prüfen Sie, ob die gesprochene Beschreibung den eingegebenen Text enthält, indem Sie sich die TalkBack-Beschreibung des bearbeitbaren Elements anhören.
Die automatischen Testtools von Android können ausgefüllte contentDescriptions
in bearbeitbaren Elementen erkennen. Sie können Ihre App mit dem Accessibility Scanner für Android direkt manuell auf einem Gerät testen. Wenn die Tests automatisch durchgeführt werden sollen, aktivieren Sie die Bedienungshilfetests von Espresso und Robolectric.