Quiénes se benefician — más de lo que pensás

La accesibilidad no es solo para personas con discapacidades permanentes. El modelo de "curva de exclusión" muestra que las mismas barreras afectan a personas en situaciones temporales o contextuales:

  • Visual: ceguera o baja visión permanente, pero también: alguien usando el teléfono con luz solar directa, o alguien con cataratas temporales post-operación.
  • Motriz: parálisis o temblores permanentes, pero también: alguien con el brazo en cabestrillo, alguien sosteniendo un bebé con una mano.
  • Auditiva: sordera permanente, pero también: alguien en un lugar ruidoso sin auriculares, o en una reunión silenciosa.
  • Cognitiva: dislexia, TDAH, pero también: cualquier persona bajo estrés, con sueño o usando una app por primera vez.

Google estima que el 15% de la población mundial tiene alguna discapacidad permanente. Las situacionales multiplican ese número varias veces.

TalkBack — el lector de pantalla de Android

TalkBack es el servicio de accesibilidad más usado en Android. Lee en voz alta cada elemento al que el usuario navega, describe los controles y anuncia cambios en el contenido. El usuario interactúa sin ver la pantalla:

# Gestos básicos de TalkBack:
# → Un toque: mover el foco al elemento tocado (lo anuncia, no lo activa)
# → Doble toque: activar el elemento enfocado (equivale a click)
# → Deslizar derecha/izquierda: mover al siguiente/anterior elemento
# → Deslizar abajo+derecha: abrir el menú de TalkBack
# → Dos dedos deslizando: scroll

# Lo que TalkBack dice cuando encuentra un Button sin contentDescription:
# → "Botón" — no sabe para qué sirve
# → O el texto del botón si lo tiene

# Lo que TalkBack dice cuando encuentra un ImageButton sin contentDescription:
# → "Sin etiqueta" — completamente inútil para el usuario

# Lo que debería decir:
# → "Agregar al carrito, botón"
# → "Buscar, botón"
# → "Foto de perfil de Carlos Pensa, imagen"

Switch Access — navegación sin tocar la pantalla

Switch Access permite usar la app con uno o dos switches (botones físicos externos). El sistema resalta cada elemento interactivo en secuencia y el usuario activa el switch para seleccionarlo. Requiere que todos los elementos interactivos sean alcanzables y en un orden lógico.

# Activar Switch Access:
# Configuración → Accesibilidad → Switch Access → Activar

# Diferencia respecto a TalkBack:
# TalkBack: el usuario puede tocar cualquier elemento directamente
# Switch Access: el sistema recorre los elementos en orden — si el orden está mal,
# el usuario no puede llegar al elemento que necesita

El árbol de accesibilidad

Android construye un árbol de accesibilidad paralelo al árbol de Views/Composables. Los servicios de accesibilidad interactúan con este árbol, no con la UI directamente. Cada nodo del árbol tiene propiedades: texto, contentDescription, role, state, bounds, clickable.

# Ver el árbol de accesibilidad de la app:
# Android Studio → Tools → Layout Inspector → con la app corriendo
# Hay una pestaña "Accessibility" que muestra el árbol semántico

# Via ADB:
adb shell uiautomator dump /sdcard/window_dump.xml
adb pull /sdcard/window_dump.xml
# El XML muestra todos los nodos con sus propiedades de accesibilidad

# Un elemento correctamente configurado se ve así:
# content-desc="Agregar al carrito" clickable="true" enabled="true"

# Un elemento problemático:
# content-desc="" clickable="true" enabled="true"
# ← TalkBack no puede describir este botón al usuario

Requisitos legales

# Por qué las empresas lo están exigiendo:

# EEUU — ADA (Americans with Disabilities Act)
# → Sección 508 para apps del gobierno federal
# → Demandas judiciales exitosas contra apps privadas por falta de accesibilidad

# Unión Europea — European Accessibility Act (EAA)
# → En vigor desde junio 2025
# → Aplica a servicios digitales incluyendo apps móviles en sectores como
#   banca, comercio electrónico, transporte y servicios al cliente
# → Multas por incumplimiento

# Argentina y LATAM
# → Ley 26653 (Argentina) de Accesibilidad a la Información en las Tecnologías
# → Organismos públicos obligados, sector privado con incentivos crecientes

# En la práctica:
# → Apps bancarias y financieras: requisito contractual cada vez más común
# → Apps de salud: requerido en muchos mercados para app stores de hospitales
# → Apps B2B/enterprise: clientes corporativos lo incluyen en los pliegos
# → Google Play: usa la accesibilidad como señal de calidad para el ranking

Activar TalkBack para probar la propia app

# Activar TalkBack:
# Configuración → Accesibilidad → TalkBack → Activar
# O: mantener presionados ambos botones de volumen por 3 segundos (atajo)

# IMPORTANTE: antes de activarlo, sabé cómo desactivarlo
# Para desactivar con TalkBack activo:
# Ir a Configuración → Accesibilidad → TalkBack → tocar una vez (enfoca) → doble toque

# Lo que probar en la propia app con TalkBack:
# 1. ¿Todos los elementos interactivos tienen descripción?
# 2. ¿El orden de navegación es lógico?
# 3. ¿Los estados se anuncian? (checkbox marcado/desmarcado, botón deshabilitado)
# 4. ¿Los mensajes de error se leen?
# 5. ¿Los diálogos capturan el foco correctamente?

# Emulador — activar TalkBack sin riesgo:
# AVD → Extended controls → Phone → Enable TalkBack
# En el emulador podés usar el teclado en lugar de gestos táctiles