Accesibilidad en iOS

En esta página se describe cómo usar las API de accesibilidad de iOS para compilar aplicaciones según la lista de comprobación de accesibilidad. Consulte las páginas Accesibilidad de Android y Accesibilidad de OS X de otras API de plataforma.

Descripción de elementos de la interfaz de usuario

iOS proporciona las propiedades AccessibilityLabel y AccessibilityHint para que los desarrolladores agreguen texto descriptivo que el lector de pantalla VoiceOver puede usar para que los controles sean más accesibles. Los controles también se pueden etiquetar con uno o más rasgos que proporcionan contexto adicional en modos accesibles.

Es posible que algunos controles no necesiten ser accesibles (por ejemplo, una etiqueta en una entrada de texto o una imagen que sea puramente decorativa): IsAccessibilityElement se proporciona para deshabilitar la accesibilidad en esos casos.

Diseñador de interfaz de usuario

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 interfaz de usuario de iOS:

Accessibility Settings

C#

Estas propiedades también se pueden establecer directamente en el código:

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?

AccessibilityIdentifier se usa para establecer una clave única que se puede usar para hacer referencia a elementos de la interfaz de usuario mediante la API UIAutomation.

El valor de AccessibilityIdentifier nunca se dice ni se muestra al usuario.

PostNotification

El método UIAccessibility.PostNotification permite generar eventos para el usuario fuera de la interacción directa (por ejemplo, cuando interactúa con un control específico).

Anuncio

Se puede enviar un anuncio desde el código para informar al usuario de que ha cambiado algún estado (por ejemplo, si se ha completado una operación en segundo plano). Ese anuncio podría ir acompañado de una indicación visual en la interfaz de usuario:

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

LayoutChanged

El anuncio LayoutChanged se usa cuando el diseño de la pantalla es el siguiente:

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

Accesibilidad y localización

Las propiedades de accesibilidad, como la etiqueta y la sugerencia, se pueden localizar al igual que otro texto de la interfaz de usuario.

MainStoryboard.strings

Si la interfaz de usuario está diseñada en un guión gráfico, puede proporcionar traducciones para las propiedades de accesibilidad de la misma manera que con otras propiedades. En el ejemplo siguiente, un UITextField tiene un ID de localización de Pqa-aa-ury y dos propiedades de accesibilidad que se establecen en español:

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

Este archivo se colocaría en el directorio es.lproj para el contenido español.

Localizable.strings

Como alternativa, las traducciones se pueden agregar al archivo Localizable.strings en el directorio de contenido localizado (por ejemplo, es.lproj para español):

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

Estas traducciones se pueden usar en C# mediante el método LocalizedString:

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 información sobre cómo localizar contenido.

Probar la accesibilidad

VoiceOver se habilita en la aplicación Configuración yendo a General > Accesibilidad > VoiceOver:

Setting the speaking rate

La pantalla Accesibilidad también proporciona opciones para zoom, tamaño de texto, opciones de color y contraste, configuración de voz y otras opciones de configuración.

Siga estas instrucciones de VoiceOver para probar la accesibilidad en dispositivos iOS.

Pruebas del simulador

Al realizar pruebas en el simulador, el Inspector de accesibilidad está disponible para ayudar a comprobar que las propiedades y los eventos de accesibilidad estén configurados correctamente. Active el inspector en la aplicación Configuración; para ello, vaya a General > Accesibilidad > Inspector de accesibilidad:

Enable Accessibility Inspector

Una vez habilitada, la ventana del inspector mantiene el puntero sobre la pantalla de iOS en todo momento. Este es un ejemplo de los resultados que se muestran al seleccionar una fila de la vista de tabla: observe que la etiqueta contiene una frase que proporciona el contenido de la fila y también indica que está "hecha" (es decir, el tic es visible):

Using Accessibility Inspector

Mientras el inspector esté visible, use el icono "X" de la parte superior izquierda para mostrar temporalmente y ocultar la superposición y habilitar o deshabilitar la configuración de accesibilidad.