Barrierefreiheit unter AndroidAccessibility on Android

Auf dieser Seite wird beschrieben, wie Sie die Android-Barrierefreiheits-APIs zum Erstellen von apps entsprechend der Eincheck Checklisteverwenden.This page describes how to use the Android Accessibility APIs to build apps according to the accessibility checklist. Weitere Plattform-APIs finden Sie unter IOS-Barrierefreiheit und OS X-Barrierefreiheits Seiten.Refer to the iOS accessibility and OS X accessibility pages for other platform APIs.

Beschreiben von UI-ElementenDescribing UI Elements

Android stellt eine ContentDescription Eigenschaft bereit, die von Bildschirm Lese-APIs verwendet wird, um eine barrierefreie Beschreibung des Steuer Elements bereitzustellen.Android provides a ContentDescription property that is used by screen reading APIs to provide an accessible description of the control's purpose.

Die Inhaltsbeschreibung kann entweder C# in oder in der axml-Layoutdatei festgelegt werden.The content description can be set in either C# or in the AXML layout file.

C#C#

Die Beschreibung kann im Code auf eine beliebige Zeichenfolge (oder eine Zeichen folgen Ressource) festgelegt werden:The description can be set in code to any string (or a string resource):

saveButton.ContentDescription = "Save data";

Axml-LayoutAXML layout

Verwenden Sie in XML-Layouts das android:contentDescription-Attribut:In XML layouts use the android:contentDescription attribute:

<ImageButton
    android:id=@+id/saveButton"
    android:src="@drawable/save_image"
    android:contentDescription="Save data" />

Use Hint für TextViewUse Hint for TextView

Verwenden Sie für EditText-und TextView-Steuerelemente für die Dateneingabe die Hint-Eigenschaft, um eine Beschreibung der erwarteten Eingabe anzugeben (anstatt ContentDescription).For EditText and TextView controls for data input, use the Hint property to provide a description of what input is expected (instead of ContentDescription). Wenn Text eingegeben wurde, wird der Text selbst "Read" anstelle des Hinweises.When some text has been entered, the text itself will be "read" instead of the hint.

C#C#

Legen Sie die Hint-Eigenschaft im Code fest:Set the Hint property in code:

someText.Hint = "Enter some text"; // displays (and is "read") when control is empty

Axml-LayoutAXML layout

Verwenden Sie in XML-Layoutdateien das android:hint-Attribut:In XML layout files use the android:hint attribute:

<EditText
    android:id="@+id/someText"
    android:hint="Enter some text" />

Um eine Bezeichnung einem Dateneingabe-Steuerelement zuzuordnen, verwenden Sie die LabelFor-Eigenschaft, umTo associate a label with a data input control, use the LabelFor property to

C#C#

Legen C#Sie in für die LabelFor-Eigenschaft die Ressourcen-ID des Steuer Elements fest, das von diesem Inhalt beschrieben wird (in der Regel wird diese Eigenschaft für eine Bezeichnung festgelegt und verweist auf ein anderes Eingabe Steuerelement):In C#, set the LabelFor property to the resource ID of the control that this content describes (typically this property is set on a label and references some other input control):

EditText edit = FindViewById<EditText> (Resource.Id.editFirstName);
TextView tv = FindViewById<TextView> (Resource.Id.labelFirstName);
tv.LabelFor = Resource.Id.editFirstName;

Axml-LayoutAXML layout

Verwenden Sie im Layout-XML die android:labelFor-Eigenschaft, um auf den Bezeichner eines anderen Steuer ElementsIn layout XML use the android:labelFor property to reference another control's identifier:

<TextView
    android:id="@+id/labelFirstName"
    android:hint="Enter some text"
    android:labelFor="@+id/editFirstName" />
<EditText
    android:id="@+id/editFirstName"
    android:hint="Enter some text" />

Ankündigen für BarrierefreiheitAnnounce for Accessibility

Verwenden Sie die AnnounceForAccessibility-Methode für ein beliebiges Ansicht-Steuerelement, um Benutzern bei aktivierter Barrierefreiheit ein Ereignis oder eine Statusänderung mitzuteilen.Use the AnnounceForAccessibility method on any view control to communicate an event or status change to users when accessibility is enabled. Diese Methode ist für die meisten Vorgänge nicht erforderlich, bei denen die integrierte-Erzählung ein ausreichendes Feedback bereitstellt, aber verwendet werden sollte, wenn zusätzliche Informationen für den Benutzer hilfreich sind.This method isn't required for most operations where the built-in narration provides sufficient feedback, but should be used where additional information would be helpful for the user.

Der folgende Code zeigt ein einfaches Beispiel für das Aufrufen von AnnounceForAccessibility:The code below shows a simple example calling AnnounceForAccessibility:

button.Click += delegate {
  button.Text = string.Format ("{0} clicks!", count++);
  button.AnnounceForAccessibility (button.Text);
};

Ändern der FokuseinstellungenChanging Focus Settings

Barrierefreie Navigation basiert darauf, dass Steuerelemente den Fokus haben, um dem Benutzer zu helfen, die verfügbaren Vorgänge zu verstehen.Accessible navigation relies on controls having focus to aid the user in understanding what operations are available. Android stellt eine Focusable-Eigenschaft bereit, die Steuerelemente so markieren kann, dass Sie den Fokus während der Navigation erhalten.Android provides a Focusable property which can tag controls as specifically able to receive focus during navigation.

C#C#

Um zu verhindern C#, dass ein Steuerelement den Fokus erhält, legen Sie die Focusable-Eigenschaft auf false fest:To prevent a control from gaining focus with C#, set the Focusable property to false:

label.Focusable = false;

Axml-LayoutAXML layout

Legen Sie in Layout-XML-Dateien das android:focusable-Attribut fest:In layout XML files set the android:focusable attribute:

<android:focusable="false" />

Sie können auch die Reihenfolge der Nachrichten mit dem nextFocusDown, nextFocusLeft nextFocusRight, nextFocusUp Attributen steuern, die in der Regel im Layout axml festgelegt sind.You can also control focus order with the nextFocusDown, nextFocusLeft, nextFocusRight, nextFocusUp attributes, typically set in the layout AXML. Verwenden Sie diese Attribute, um sicherzustellen, dass der Benutzer einfach durch die Steuerelemente auf dem Bildschirm navigieren kann.Use these attributes to ensure the user can navigate easily through the controls on the screen.

Barrierefreiheit und LokalisierungAccessibility and Localization

In den obigen Beispielen werden der Hinweis und die Inhaltsbeschreibung direkt auf den Anzeige Wert festgelegt.In the examples above the hint and content description are set directly to the display value. Es ist vorzuziehen, Werte in einer Strings. XML -Datei zu verwenden, wie z. b.:It is preferable to use values in a Strings.xml file, such as this:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="enter_info">Enter some text</string>
    <string name="save_info">Save data</string>
</resources>

Die Verwendung von Text aus einer Zeichen folgen Datei ist C# unten in und in den axml-Layoutdateien dargestellt:Using text from a strings file is shown below in C# and AXML layout files:

C#C#

Suchen Sie anstelle von Zeichenfolgenliteralen im Code übersetzte Werte aus Strings-Dateien mit Resources.GetText:Instead of using string literals in code, look up translated values from strings files with Resources.GetText:

someText.Hint = Resources.GetText (Resource.String.enter_info);
saveButton.ContentDescription = Resources.GetText (Resource.String.save_info);

AXMLAXML

In LayoutXml-Barrierefreiheits Attributen wie hint und contentDescription können auf einen Zeichen folgen Bezeichner festgelegt werden:In layout XML accessibility attributes like hint and contentDescription can be set to a string identifier:

<TextView
    android:id="@+id/someText"
    android:hint="@string/enter_info" />
<ImageButton
    android:id=@+id/saveButton"
    android:src="@drawable/save_image"
    android:contentDescription="@string/save_info" />

Der Vorteil der Speicherung von Text in einer separaten Datei besteht darin, dass mehrere Sprachübersetzungen der Datei in Ihrer APP bereitgestellt werden können.The benefit of storing text in a separate file is multiple language translations of the file can be provided in your app. Weitere Informationen zum Hinzufügen lokalisierter Zeichen folgen Dateien zu einem Anwendungsprojekt finden Sie im Leitfaden zur Android-Lokalisierung .See the Android localization guide to learn how add localized string files to an application project.

Testen der BarrierefreiheitTesting Accessibility

Führen Sie die folgenden Schritte aus, um talkbacks zu aktivieren und per Fingerabdruck zu untersuchen, um den Zugriff auf AndroidFollow these steps to enable TalkBack and Explore by Touch to test accessibility on Android devices.

Möglicherweise müssen Sie Talkback von Google Play installieren, wenn es nicht in den Einstellungen > Barrierefreiheitangezeigt wird.You may need to install TalkBack from Google Play if it does not appear in Settings > Accessibility.