Cómo hacer que las apps sean más accesibles

Intenta hacer que tu app para Android sea útil para todo el mundo, incluidas las personas con necesidades de accesibilidad.

Personas con problemas de audición, visión y motricidad, daltonismo, discapacidades cognitivas y muchas otras discapacidades usan dispositivos Android. Cuando desarrollas apps teniendo en cuenta la accesibilidad, mejoras la experiencia del usuario para las personas con necesidades de accesibilidad.

En esta página, se presentan pautas para implementar elementos clave de accesibilidad, de manera que todas las personas puedan usar tu app con mayor facilidad. Para obtener una guía más detallada sobre cómo hacer que tu app sea más accesible, consulta Principios para mejorar la accesibilidad de las apps.

Aumenta la visibilidad del texto

Para cada conjunto de texto en la app, recomendamos que el contraste de color (o la diferencia en el brillo percibido entre el color del texto y el color del fondo detrás del texto) supere un umbral específico. El umbral exacto dependerá del tamaño de la fuente del texto y de que este se muestre en negrita o no:

  • Si el texto tiene un tamaño inferior a 18 puntos o si está en negrita y tiene un tamaño inferior a 14 puntos, debes establecer la proporción de contraste de color en, al menos, 4.5:1.
  • Para el resto del texto, establece la proporción de contraste de color en, al menos, 3:1.

En la siguiente imagen, se muestran dos ejemplos de contraste de color entre el texto y el fondo:

Imágenes que muestran texto
Figura 1: Contraste de color inferior al recomendado (izquierda) y correcto (derecha)

Para comprobar el contraste de color entre el texto y el fondo de la app, usa un verificador del contraste de color en línea o la app de Prueba de accesibilidad.

Usa controles grandes y simples

La IU de la app será más fácil de usar si los controles son más fáciles de ver y presionar. Recomendamos que cada elemento de la IU interactivo tenga un área enfocable o un tamaño del objetivo táctil de 48 dp x 48 dp como mínimo. Mientras más grande sea, mejor.

Para que un elemento de la IU tenga un tamaño del objetivo táctil lo suficientemente grande, se deben cumplir estas dos condiciones:

Los valores de padding permiten que el tamaño visible de un objeto sea inferior a 48 dp x 48 dp y que, al mismo tiempo, el objeto tenga el tamaño del objetivo táctil recomendado.

En el siguiente fragmento de código, se muestra un elemento que tiene el tamaño del objetivo táctil recomendado:

<ImageButton ...
    android:paddingLeft="4dp"
    android:minWidth="40dp"
    android:paddingRight="4dp"

    android:paddingTop="8dp"
    android:minHeight="32dp"
    android:paddingBottom="8dp" />

Describe cada elemento de la IU

Para cada elemento de la IU de la app, incluye una descripción que explique el propósito del elemento. En la mayoría de los casos, esta descripción se incluye en el atributo contentDescription del elemento, como se muestra en el siguiente fragmento de código:

<!-- Use string resources for easier localization. -->
<!-- The en-US value for the following string is "Inspect". -->
<ImageView
    ...
    android:contentDescription="@string/inspect" />

Cuando agregues descripciones a los elementos de la IU de tu app, ten en cuenta las siguientes prácticas recomendadas:

  • No incluyas el tipo de elemento de la IU en la descripción del contenido. Los lectores de pantalla anuncian automáticamente el tipo y la descripción del elemento. Por ejemplo, si cuando se selecciona un botón se activa una acción de "enviar" en la app, asegúrate de que la descripción del botón sea "Submit", no "Submit button".

  • Cada descripción debe ser única. De esa manera, cuando los usuarios del lector de pantalla se encuentran con una descripción del elemento repetida, reconocen que el enfoque está en un elemento que ya lo tuvo anteriormente. En particular, cada elemento de un grupo de vistas como RecyclerView debe tener una descripción diferente. Cada descripción debe reflejar el contenido exclusivo de un elemento determinado, como el nombre de una ciudad en una lista de ubicaciones.

  • Si el minSdkVersion de la app es 16 o superior, puedes establecer el atributo android:importantForAccessibility en "no" para los elementos gráficos que solo se usan para efecto decorativo.

Recursos adicionales

Si deseas obtener más información sobre cómo mejorar la accesibilidad de la app, consulta los siguientes recursos adicionales:

Codelabs

Entradas de blog