Accesibilidad en Aplicaciones Android: Tips y Herramientas Esenciales

Clase 17 de 26Curso de Diseño de Software para Apps Móviles

Contenido del curso

Resumen

Hacer que una aplicación móvil sea usable para todas las personas no es un lujo, es una responsabilidad. Cuando alguien tiene que acercarse a la pantalla, quitarse las gafas o golpear repetidamente un botón sin obtener respuesta, la frustración es real. Estos tips de accesibilidad en Android permiten que las aplicaciones lleguen a más usuarios y que la experiencia sea cómoda, incluso para quienes tienen limitaciones visuales o motoras.

¿Qué es el talkback y cómo mejora la experiencia del usuario?

El talkback es el lector de pantalla integrado en Android [0:57]. Se activa desde la configuración del dispositivo y permite a las personas escuchar cada elemento de la pantalla en lugar de verlo. Al deslizar dos dedos por la pantalla, el usuario puede intercambiar entre vistas, recibir descripciones de botones, imágenes y textos, e interactuar con la aplicación sin depender de la vista.

Cada elemento recibe un feedback auditivo: el talkback lee los labels de los botones y el content description de las imágenes. Si estos atributos no están bien definidos, el usuario con limitaciones visuales simplemente no podrá entender qué hace cada elemento.

¿Por qué el contraste es fundamental para la legibilidad?

El contraste define qué tan fácil es distinguir el contenido sobre un fondo [2:08]. Un texto negro sobre fondo blanco se lee sin esfuerzo; un texto amarillo claro sobre blanco es prácticamente ilegible, especialmente para personas de mayor edad.

  • Un buen contraste reduce el esfuerzo visual y la carga cognitiva.
  • Los elementos de acción como botones, links y cajas de texto deben diferenciarse claramente de los elementos decorativos.
  • Un fondo limpio y plano ayuda a resaltar el contenido relevante.

Aunque exista un equipo de diseño, cualquier desarrollador puede y debe sugerir mejoras de contraste cuando detecte problemas [2:42].

¿Cuál es la diferencia entre DP y SP en el tamaño de fuente?

Android enfrenta una enorme fragmentación de pantallas con distintas resoluciones, por lo que trabajar en píxeles absolutos no funciona [3:22]. Para resolver esto existen dos unidades clave:

  • DP (density-independent pixels): garantizan que un tamaño visual sea consistente sin importar la densidad de pantalla.
  • SP (scalable pixels): funcionan igual que los DP, pero además escalan según la preferencia de fuente del usuario [3:42].

Si un usuario configura su dispositivo para ver letras más grandes, los textos definidos en SP crecerán proporcionalmente. Los textos en DP permanecerán iguales, ignorando esa preferencia. Por eso, todos los textos deben usar SP para respetar la accesibilidad del usuario.

¿Cuál es el área mínima de tap recomendada en Android?

Uno de los problemas más comunes es el área de tap demasiado pequeña [4:30]. El usuario presiona un botón, no pasa nada, vuelve a presionar con más fuerza pensando que el dispositivo falla, cuando en realidad el área táctil es insuficiente.

La recomendación es que toda zona interactiva tenga como mínimo 48 por 48 DP:

  • Si el ícono ya mide 48x48, cumple la especificación.
  • Si el ícono es más pequeño, se agrega un padding para que el área total de toque alcance esos 48x48 DP.
  • En botones con altura de 36 DP, se añade padding vertical para completar los 48 DP necesarios.

El dedo humano es mucho más grueso que un puntero de mouse, y esa diferencia debe reflejarse en el diseño de las áreas interactivas.

¿Cómo funciona el accessibility scanner para detectar problemas?

El accessibility scanner es una aplicación que analiza otras aplicaciones en busca de problemas de accesibilidad [5:34]. Al escanear una pantalla, genera sugerencias concretas:

  • Botones que necesitan mejores labels.
  • Áreas de touch target demasiado pequeñas.
  • Problemas de contraste insuficiente.
  • Acciones duplicadas en elementos distintos.

Esta herramienta puede usarse con cualquier aplicación instalada, no solo con la que estés desarrollando. Es una forma práctica de entender qué tan accesible es una interfaz real.

¿Qué son los labels y el content description?

Los labels son los textos visibles que el talkback lee directamente, como el texto de un botón [6:28]. Un text view ya incluye su propio label de forma natural. Pero las imágenes y otros elementos sin texto necesitan un content description: un atributo que se define en el XML o en Jetpack Compose y que describe el contenido visual para quienes no pueden verlo [6:42].

Por ejemplo, una foto de perfil no puede describirse automáticamente, pero sí puede indicar al usuario que se encuentra en la sección de foto de perfil. No todas las aplicaciones pueden ser completamente accesibles — una plataforma de video tiene limitaciones inherentes — pero una aplicación bancaria debe ser accesible en su totalidad.

Si quieres poner en práctica lo aprendido, descarga el accessibility scanner, escanea una aplicación y comparte en los comentarios las tres sugerencias más relevantes que encontraste.