Accessibility (a11y) es la práctica de crear aplicaciones que puedan ser utilizadas por personas con discapacidades. Según la Organización Mundial de la Salud, más de 1300 millones de personas (16% de la población) viven con alguna forma de discapacidad. OMS (informe 2024) destaca que la accesibilidad digital se está volviendo críticamente importante. Analicemos cómo garantizar la accesibilidad en iOS y Android, y qué estándares existen.
Puntos clave
Accessibility (abreviado a11y — letra a + 11 letras + y) es la propiedad de un producto de ser utilizable por personas con discapacidad. En el contexto de las aplicaciones móviles, esto significa: soporte para lectores de pantalla (VoiceOver, TalkBack), tamaño de texto adecuado, alto contraste, orden de enfoque correcto para la navegación con teclado y ausencia de elementos animados que causen mareos.
La inclusividad no es solo una obligación ética, sino también legal. Muchos países tienen leyes de accesibilidad digital: ADA (EE. UU.), Section 508, European Accessibility Act (UE, obligatorio para aplicaciones desde 2025). Según Business Disability Forum, las empresas que invierten en accesibilidad aumentan su audiencia en un 15–20% y reducen los riesgos legales.
En IT Sectr, verificamos la accesibilidad en cada etapa del desarrollo. Nuestra experiencia muestra que corregir problemas de accesibilidad en la etapa de diseño cuesta 10 veces menos que después del lanzamiento. La accesibilidad no es una función, sino un requisito básico para una aplicación moderna.
El ecosistema de Apple ofrece potentes herramientas de accesibilidad. VoiceOver es un lector de pantalla incorporado que vocaliza todo lo que sucede en la pantalla. El usuario controla el dispositivo con gestos: deslizar a la derecha — siguiente elemento, deslizar a la izquierda — elemento anterior, doble toque — activación.
Accessibility Label es el texto que VoiceOver lee para un elemento. De forma predeterminada, iOS usa el texto del botón o la etiqueta, pero para íconos y elementos gráficos debe establecer la etiqueta explícitamente. Accessibility Trait es una propiedad que describe el tipo de elemento: button (botón), header (encabezado), link (enlace), image (imagen). Los traits correctos ayudan al usuario a entender cómo interactuar con un elemento.
VoiceOver admite más de 40 idiomas y funciona en todos los dispositivos Apple. Para el desarrollador, lo principal es establecer accessibilityLabel y accessibilityTraits correctos para cada elemento de la interfaz. Si un elemento no debe ser accesible (imagen decorativa), establezca isAccessibilityElement = false.
// Swift — configuración de accesibilidad para un botón
let shareButton = UIButton()
shareButton.setImage(UIImage(named: "share-icon"), for: .normal)
shareButton.accessibilityLabel = "Compartir este artículo"
shareButton.accessibilityHint = "Abre un diálogo para elegir un método de envío"
shareButton.accessibilityTraits = .button
// SwiftUI — aún más simple
struct ShareButtonView: View {
var body: some View {
Button(action: share) {
Image(systemName: "square.and.arrow.up")
}
.accessibilityLabel("Compartir")
.accessibilityHint("Abre el menú de compartir")
}
}
El código muestra la configuración de accesibilidad para un botón sin texto (solo icono). AccessibilityLabel es lo que el usuario escuchará. AccessibilityHint es una pista adicional sobre el resultado de la acción. No use frases como «botón para» en la etiqueta — Trait ya indica que es un botón.
TalkBack es el lector de pantalla de Google para Android, parte del paquete Android Accessibility Suite. Al igual que VoiceOver, vocaliza los elementos de la interfaz y se controla con gestos. TalkBack admite más de 100 idiomas y funciona en todos los dispositivos con Google Play Services.
Content Description es el equivalente de accessibilityLabel en Android. Se establece mediante el atributo android:contentDescription en XML o mediante el método setContentDescription() en código. Para elementos no enfocables (ImageView decorativo), use importantForAccessibility="no".
Focus Order (orden de enfoque) es la secuencia en la que TalkBack se mueve entre elementos al deslizar. De forma predeterminada, Android usa el orden de los elementos en el diseño, pero se puede cambiar mediante los atributos accessibilityTraversalBefore y accessibilityTraversalAfter. Esto es importante para pantallas complejas con componentes personalizados.
En IT Sectr, verificamos el Focus Order en cada pantalla. Los errores de orden de enfoque se encuentran entre los problemas de accesibilidad más comunes. Por ejemplo, si después de un encabezado el usuario va a los comentarios en lugar del texto del artículo, eso es un error de accesibilidad.
WCAG (Web Content Accessibility Guidelines) es un estándar internacional de accesibilidad desarrollado por W3C. La versión actual es WCAG 2.2 (2023). El estándar se divide en 4 principios: Perceivable (perceptible), Operable (operable), Understandable (comprensible), Robust (robusto) — abreviatura POUR.
Niveles WCAG: A (mínimo), AA (medio, obligatorio por ley en la UE), AAA (máximo). Para aplicaciones móviles, el nivel AA es suficiente: contraste de texto de al menos 4.5:1, soporte de lectores de pantalla, tamaño mínimo de objetivo de 44x44 píxeles, subtítulos para video.
Nivel A — requisitos básicos: alternativas de texto para imágenes, control con teclado, contraste de al menos 3:1. Nivel AA — medio: contraste 4.5:1, soporte de escalado hasta 200%, encabezados y etiquetas correctos. Nivel AAA — alto: contraste 7:1, lengua de señas para video, control completo por voz. En la práctica, la mayoría de las empresas apuntan a AA.
| Parámetro | iOS | Android |
|---|---|---|
| Lector de pantalla | VoiceOver | TalkBack |
| Etiqueta del elemento | accessibilityLabel | android:contentDescription |
| Tipo de elemento | accessibilityTraits | accessibilityRole (Compose), importancia de enfoque |
| Orden de enfoque | Automático (se puede cambiar) | accessibilityTraversalBefore/After |
| Escalado de texto | Dynamic Type (UIFontMetrics) | sp (scale-independent pixels) |
| Reducir movimiento | UIAccessibility.isReduceMotionEnabled | Settings.Global.getFloat(... ANIMATOR_DURATION_SCALE) |
Tabla 2. Comparación de las API de accesibilidad de iOS y Android. A pesar de los diferentes nombres, los conceptos son idénticos: etiqueta, tipo, orden de enfoque y soporte de adaptación de texto.
Las pruebas de accesibilidad consisten en verificar que una aplicación cumpla con los estándares WCAG y funcione correctamente con lectores de pantalla. El conjunto mínimo de pruebas: activar VoiceOver/TalkBack y navegar por todas las pantallas de la aplicación. Escuche para verificar que todos los elementos se anuncien, el orden de enfoque sea lógico y los elementos inapropiados (decorativos) se ignoren.
Herramientas automatizadas: Xcode Accessibility Inspector (auditoría en Xcode para iOS), Android Accessibility Scanner (escanea la pantalla y encuentra problemas), Axe DevTools, WAVE. Estas herramientas verifican el contraste, el tamaño de los objetivos, la presencia de etiquetas y otros parámetros.
En IT Sectr, realizamos una revisión de accesibilidad antes de cada lanzamiento. El proceso incluye: auditoría automatizada (Accessibility Inspector), pruebas manuales con VoiceOver y TalkBack, verificación de contraste y escalado de texto. Registramos los problemas en Jira y los asignamos a un sprint. Esto nos permite mantener el nivel AA de WCAG en todos los proyectos.
Preguntas frecuentes
Configuración → Accesibilidad → VoiceOver. O presione tres veces el botón lateral (o el botón de inicio) con el acceso directo de accesibilidad activado. Para una activación rápida, use Siri: «Activa VoiceOver». En Android, TalkBack se activa en Configuración → Accesibilidad → TalkBack.
Para cumplir con la legislación de la UE (European Accessibility Act desde 2025) y de EE. UU. (ADA), se requiere el nivel AA. Esto significa: contraste de 4.5:1, todos los elementos tienen etiquetas, tamaño de objetivo de al menos 44x44 píxeles, soporte de lectores de pantalla, subtítulos para video.
Sí. La accesibilidad ayuda a todos: personas mayores, usuarios en un día soleado brillante, padres con un bebé en brazos (con una sola mano). Además, es un requisito legal en muchos países. La inclusividad amplía la audiencia y mejora la experiencia de usuario para todos.
Use estas herramientas: WebAIM Contrast Checker (en línea), Stark para Figma/Sketch. Para WCAG AA, la relación mínima es 4.5:1 para texto normal y 3:1 para texto grande (18px y más). Para AAA — 7:1 y 4.5:1 respectivamente.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.