Accesibilidad en iOSAccessibility on iOS

En esta página se describe cómo usar las API de accesibilidad de iOS para compilar aplicaciones de acuerdo con la lista de comprobación de accesibilidad.This page describes how to use the iOS Accessibility APIs to build apps according to the accessibility checklist. Consulte las páginas accesibilidad de Android y OS X accesibilidad para otras API de la plataforma.Refer to the Android accessibility and OS X accessibility pages for other platform APIs.

Describir elementos de la interfaz de usuarioDescribing UI Elements

iOS proporciona las AccessibilityLabel AccessibilityHint propiedades y para que los desarrolladores agreguen texto descriptivo que el lector de pantalla VoiceOver puede usar para hacer que los controles sean más accesibles.iOS provides the AccessibilityLabel and AccessibilityHint properties for developers to add descriptive text which can be used by the VoiceOver screen reader to make the controls more accessible. Los controles también se pueden etiquetar con uno o más rasgos que proporcionan contexto adicional en los modos accesibles.Controls can also be tagged with one or more traits that provide additional context in accessible modes.

Es posible que no sea necesario tener acceso a algunos controles (por ejemplo, una etiqueta en una entrada de texto o una imagen meramente decorativa): IsAccessibilityElement se proporciona para deshabilitar la accesibilidad en esos casos.Some controls may not need to be accessible (for example, a label on a text input or an image that is purely decorative) – the IsAccessibilityElement is provided to disable accessibility in those cases.

Diseñador de interfaz de usuarioUI Designer

El Panel de propiedades contiene una sección de accesibilidad que permite editar esta configuración cuando se selecciona un control en el diseñador de la interfaz de usuario de iOS:The Properties Pad contains an accessibility section that allows these settings to be edited when a control is selected in the iOS UI Designer:

Configuración de accesibilidad

C#C#

Estas propiedades también se pueden establecer directamente en el código:These properties can also be set directly in code:

usernameInput.AccessibilityLabel = "Search";
usernameInput.Hint = "Press Enter after typing to search employee list";
someLabel.IsAccessibilityElement = false;
displayOnlyText.AccessibilityTraits = UIAccessibilityTrait.Header | UIAccessibilityTrait.Selected;

¿Qué es AccessibilityIdentifier?What is AccessibilityIdentifier?

AccessibilityIdentifierSe usa para establecer una clave única que se puede usar para hacer referencia a los elementos de la interfaz de usuario a través de la API de UIAutomation.The AccessibilityIdentifier is used to set a unique key that can be used to refer to user interface elements via the UIAutomation API.

El valor de AccessibilityIdentifier nunca se habla ni se muestra al usuario.The value of AccessibilityIdentifier is never spoken or displayed to the user.

PostnotificationPostNotification

El UIAccessibility.PostNotification método permite que se generen eventos al usuario fuera de la interacción directa (por ejemplo, cuando interactúan con un control específico).The UIAccessibility.PostNotification method allows events to be raised to the user outside of direct interaction (for example, when they interact with a specific control).

AnuncioAnnouncement

Se puede enviar un anuncio desde el código para informar al usuario de que algún Estado ha cambiado (por ejemplo, una operación en segundo plano se ha completado).An announcement can be sent from code to inform the user that some state has changed (such as a background operation has completed). Esto puede ir acompañado de una indicación visual en la interfaz de usuario:This could be accompanied by a visual indication in the user interface:

UIAccessibility.PostNotification (
  UIAccessibilityPostNotification.Announcement,
    new NSString(@"Item was saved"));

LayoutChangedLayoutChanged

El LayoutChanged anuncio se usa cuando el diseño de pantalla:The LayoutChanged announcement is used when the screen layout:

UIAccessibility.PostNotification (
  UIAccessibilityPostNotification.LayoutChanged,
    someControl);  // someControl gets focus

Accesibilidad y localizaciónAccessibility and Localization

Las propiedades de accesibilidad como la etiqueta y la sugerencia se pueden localizar como otro texto en la interfaz de usuario.Accessibility properties like the label and hint can be localized just like other text in the user interface.

Archivo mainstoryboard. StringsMainStoryboard.strings

Si la interfaz de usuario se coloca en un guion gráfico, puede proporcionar traducciones para las propiedades de accesibilidad de la misma manera que otras propiedades.If the user interface is laid out in a storyboard, you can provide translations for accessibility properties in the same way as other properties. En el ejemplo siguiente, un UITextField tiene un identificador de localización de Pqa-aa-ury y dos propiedades de accesibilidad que se establecen en Español:In the example below, a UITextField has a Localization ID of Pqa-aa-ury and two accessibility properties being set in Spanish:

/* Accessibility */
"Pqa-aa-ury.accessibilityLabel" = "Notas input";
"Pqa-aa-ury.accessibilityHint" = "escriba más información";

Este archivo se colocará en el directorio es. lproj para el contenido en español.This file would be placed in the es.lproj directory for Spanish content.

Localizable. StringsLocalizable.strings

Como alternativa, las traducciones se pueden agregar al archivo . Strings localizable en el directorio de contenido localizado (por ejemplo,Alternatively, the translations can be added to the Localizable.strings file in the localized content directory (eg. es. lproj para español):es.lproj for Spanish):

/* Accessibility */
"Notes" = "Notas input";
"Provide more information" = "escriba más información";

Estas traducciones se pueden usar en C# a través del LocalizedString método:These translations can be used in C# via the LocalizedString method:

notesText.AccessibilityLabel = NSBundle.MainBundle.LocalizedString ("Notes", "");
notesText.AccessibilityHint = NSBundle.MainBundle.LocalizedString ("Provide more information", "");

Consulte la Guía de localización de iOS para obtener más detalles sobre cómo localizar contenido.Refer to the iOS localization guide for more details on localizing content.

Probar la accesibilidadTesting Accessibility

VoiceOver está habilitado en la aplicación de configuración navegando a General > accesibilidad > VoiceOver:VoiceOver is enabled in the Settings app by navigating to General > Accessibility > VoiceOver:

Establecer la velocidad de habla

La pantalla accesibilidad también proporciona opciones de zoom, tamaño del texto, color & contraste, configuración de voz y otras opciones de configuración.The Accessibility screen also provides settings for zoom, text size, color & contrast options, speech settings, and other configuration options.

Siga estas instrucciones de VoiceOver para probar la accesibilidad en dispositivos iOS.Follow these VoiceOver instructions to test accessibility on iOS devices.

Pruebas del simuladorSimulator Testing

Al realizar pruebas en el simulador, el Inspector de accesibilidad está disponible para ayudar a comprobar que las propiedades de accesibilidad y los eventos están configurados correctamente.When testing in the simulator, the Accessibility Inspector is available to help verify accessibility properties and events are correctly configured. Active el inspector en la aplicación de configuración . para ello, vaya a General > accesibilidad > inspector de accesibilidad:Turn on the inspector in the Settings app by navigating to General > Accessibility > Accessibility Inspector:

Habilitar inspector de accesibilidad

Una vez habilitada, la ventana del inspector mantiene el mouse sobre la pantalla de iOS en todo momento.Once enabled, the inspector window hovers over the iOS screen at all times. A continuación se muestra un ejemplo de la salida cuando se selecciona una fila de la vista de tabla: Observe que la etiqueta contiene una frase que proporciona el contenido de la fila y también que está "listo" (es decir, la marca es visible):Here is an example of the output when a table view row is selected – notice the Label contains a sentence that gives the content of the row and also that it is "done" (ie. the tick is visible):

Uso del inspector de accesibilidad

Mientras el inspector está visible, use el icono "X" en la parte superior izquierda para mostrar y ocultar temporalmente la superposición y habilitar o deshabilitar la configuración de accesibilidad.While the inspector is visible, use the "X" icon at the top-left to temporarily show and hide the overlay and enable/disable accessibility settings.