Специальные возможности на AndroidAccessibility on Android

Эта страница описывает, как использовать API Android специальных возможностей для создания приложений в соответствии с контрольный список специальных возможностей.This page describes how to use the Android Accessibility APIs to build apps according to the accessibility checklist. Ссылаться на специальных возможностей iOS и специальных возможностей OS X страниц для других API платформы.Refer to the iOS accessibility and OS X accessibility pages for other platform APIs.

Описание элементов пользовательского интерфейсаDescribing UI Elements

Android предоставляет ContentDescription свойство, которое используется API-интерфейсы чтения с экрана для предоставления доступное описание назначения элемента управления.Android provides a ContentDescription property that is used by screen reading APIs to provide an accessible description of the control's purpose.

Описание содержимого можно задать в среде C# или в файле макета AXML.The content description can be set in either C# or in the AXML layout file.

C#C#

Описание можно задать в коде, чтобы любая строка (или строковый ресурс):The description can be set in code to any string (or a string resource):

saveButton.ContentDescription = "Save data";

Макета AXMLAXML layout

В XML с помощью макетов android:contentDescription атрибут:In XML layouts use the android:contentDescription attribute:

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

Использовать подсказку для TextViewUse Hint for TextView

Для EditText и TextView использовать элементы управления для ввода данных, Hint свойство, чтобы предоставить описание ожидается указываем входные данные (а не 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). После введения какой-либо текст, сам текст «читается» вместо подсказка.When some text has been entered, the text itself will be "read" instead of the hint.

C#C#

Задать Hint свойства в коде:Set the Hint property in code:

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

Макета AXMLAXML layout

В XML-файлы макета используют android:hint атрибут:In XML layout files use the android:hint attribute:

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

Чтобы связать метку с элемент управления для ввода данных, используйте LabelFor свойстваTo associate a label with a data input control, use the LabelFor property to

C#C#

В C#, задайте LabelFor присваивается идентификатор ресурса элемента управления, который описывает это содержимое (обычно это свойство задано для метки и ссылается на входной другого элемента управления):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;

Макета AXMLAXML layout

В макете использования в формате XML android:labelFor свойство для ссылки на идентификатор другого элемента управления:In 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" />

Объявления для объекта специальных возможностейAnnounce for Accessibility

Используйте AnnounceForAccessibility метод для какого-либо просмотреть взаимодействия событие или состояние изменений для пользователей, при включении специальных возможностей элемента управления.Use the AnnounceForAccessibility method on any view control to communicate an event or status change to users when accessibility is enabled. Этот метод не требуется для большинства операций, встроенные записи позволяют недостаточно узнавать, когда следует использовать, где может быть полезно для пользователя дополнительную информацию.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.

В следующем коде показан простой пример вызывающую AnnounceForAccessibility:The code below shows a simple example calling AnnounceForAccessibility:

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

Изменение параметров фокусChanging Focus Settings

Доступны Навигация зависит от элементов управления фокус, чтобы помочь пользователю понять, какие операции доступны.Accessible navigation relies on controls having focus to aid the user in understanding what operations are available. Android предоставляет Focusable свойство, которое можно пометить элементы управления, в частности возможность получать фокус во время перехода.Android provides a Focusable property which can tag controls as specifically able to receive focus during navigation.

C#C#

Чтобы предотвратить получение фокуса с элемента управления C#, задайте Focusable свойства false:To prevent a control from gaining focus with C#, set the Focusable property to false:

label.Focusable = false;

Макета AXMLAXML layout

В формате XML-файлы набора android:focusable атрибут:In layout XML files set the android:focusable attribute:

<android:focusable="false" />

Можно также контролировать порядок фокуса с nextFocusDown, nextFocusLeft, nextFocusRight, nextFocusUp атрибутов, обычно задается в макета AXML.You can also control focus order with the nextFocusDown, nextFocusLeft, nextFocusRight, nextFocusUp attributes, typically set in the layout AXML. Используйте эти атрибуты, чтобы убедиться, что пользователь может легко перемещаться по элементам управления на экране.Use these attributes to ensure the user can navigate easily through the controls on the screen.

Локализации и специальных возможностейAccessibility and Localization

В приведенных выше примерах, описание подсказки и содержимое набор непосредственно отображаемого значения.In the examples above the hint and content description are set directly to the display value. Желательно использовать значения в Strings.xml файла, например это: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>

С помощью текста из файла строк ниже приведен в C# и файлы макета AXML:Using text from a strings file is shown below in C# and AXML layout files:

C#C#

Вместо использования строковых литералов в коде, поиска переведенных значений из строки файлов с помощью 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

В формате XML, такие как атрибуты специальных возможностей hint и contentDescription можно присвоить идентификатор строки: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" />

В приложении можно указать несколько переводов язык файла является преимуществом сохранения текста в отдельном файле.The benefit of storing text in a separate file is multiple language translations of the file can be provided in your app. См. в разделе руководство по локализации для Android дополнительные как добавить файлы локализованных строк в проекте приложения.See the Android localization guide to learn how add localized string files to an application project.

Тестирование специальных возможностейTesting Accessibility

Выполните эти действия для включения talkback; "и" Проводник по сенсорного ввода для проверки специальных возможностей на устройствах Android.Follow these steps to enable TalkBack and Explore by Touch to test accessibility on Android devices.

Может потребоваться установить TalkBack из Google Play, если он не отображается в параметры > Специальные возможности.You may need to install TalkBack from Google Play if it does not appear in Settings > Accessibility.