Etiquetas de contenido

Información general

Los usuarios de los servicios de accesibilidad (como los lectores de pantalla) dependen de las etiquetas de contenido para entender el significado de los elementos que se muestran en una interfaz.

En algunos casos (por ejemplo, cuando la información de un elemento se expresa de forma gráfica), las etiquetas de contenido proporcionan una descripción textual de la acción o el significado asociados al elemento.

Si los elementos de una interfaz de usuario no ofrecen etiquetas de contenido, puede que para algunos usuarios resulte difícil entender la información que se indica o realizar acciones en la interfaz.

Implementación

Si se utilizan ciertos tipos de Views en una interfaz, deben proporcionar etiquetas de contenido que describan la acción o el fin asociados a esa clase View.

Cómo proporcionar etiquetas de contenido

android:contentDescription

Al usar ImageView, ImageButton, CheckBox u otra clase View que exprese la información mediante un elemento gráfico, utiliza un atributo android:contentDescription para incluir una etiqueta de contenido en esa clase View.

En ocasiones, las etiquetas de contenido dependen de información que solo está disponible durante el tiempo en ejecución o el significado de una clase View puede cambiar a lo largo del tiempo. Por ejemplo, es posible que el botón Reproducir se sustituya por el botón Pausar cuando la música se esté reproduciendo. En casos como este, utiliza View#setContentDescription(CharSequence contentDescription) para actualizar la etiqueta de contenido en el momento adecuado.

Normalmente, si un servicio de accesibilidad describe una clase ViewGroup, significa que combina etiquetas de contenido de sus clases Views inferiores. Para anular este comportamiento e indicar que quieres incluir tu propia descripción en ese elemento y sus clases Views inferiores no enfocables, establece una subclase contentDescription en la clase ViewGroup. Es posible que tengas que incluir etiquetas de contenido de las clases Views inferiores en una subclase contentDescription cuando se establezca en ViewGroup.

android:hint

En el caso de EditTexts o de TextViews editables, utiliza un atributo android:hint para indicar el objetivo del campo de texto. Un atributo android:contentDescription no se debe utilizar como una etiqueta de contenido de clases Views editables.

android:labelFor

Utiliza un atributo android:labelFor para indicar que una clase View debería funcionar como una etiqueta de contenido de otra clase View.

Casos en los que no se necesitan etiquetas de contenido

Las etiquetas de contenido no se deben proporcionar de forma específica en algunos casos:

  • El texto procesado mediante TextView (o sus subclases) se proporciona automáticamente a los servicios de accesibilidad. Las etiquetas de contenido adicionales no suelen ser necesarias.
  • Las imágenes decorativas o que no expresen información relevante de forma gráfica no necesitan etiquetas de contenido. En estos casos, establece un atributo android:contentDescription de "@null" o un atributo android:importantForAccessibility de "no".

Para obtener más información sobre cómo implementar etiquetas de contenido, consulta la página de formación para desarrolladores de Android y las guías de API.

Diseño

Al diseñar una interfaz de usuario, debes tener muy en cuenta la forma en que deberías etiquetar el contenido representado de forma gráfica para los usuarios de servicios de accesibilidad. Las etiquetas de contenido se deben basar en los siguientes principios:

  • Describe de forma breve y clara el significado de la acción asociada a un elemento.
  • No incluyas ningún tipo o estado del elemento en su etiqueta de contenido.
  • Si el elemento se ha asociado a una acción, describe la acción en lugar de la representación gráfica.
  • No indiques al usuario cómo debe interactuar con el elemento.

Consulta más información en las directrices para redactar contenido de accesibilidad de Material Design.

Prueba

Sigue estos pasos para verificar de forma manual que no falta ninguna etiqueta de contenido en la interfaz de usuario de una aplicación:

  1. Activa TalkBack.
  2. Abre la aplicación.
  3. Utiliza gestos de navegación lineal para resaltar el enfoque de accesibilidad de cada elemento de la pantalla.
  4. Si TalkBack resalta algún elemento, pero no explica en voz alta lo que este representa de forma significativa o dice un mensaje que no se corresponde con ninguna etiqueta, es posible que falte una etiqueta de contenido en dicho elemento.

Las herramientas de prueba automáticas de Android pueden detectar que faltan etiquetas de contenido. Te recomendamos que utilices la aplicación Test de Accesibilidad para Android para hacer pruebas manuales de tu aplicación en el dispositivo. Para realizar pruebas automáticas, activa las comprobaciones de accesibilidad en Espresso y Robolectric.

Búsqueda
Borrar búsqueda
Cerrar búsqueda
Aplicaciones de Google
Menú principal
Buscar en el Centro de ayuda
true
717068
false