Accesibilidad - ISPC-WEB-2025/TodoStock-AppMovil GitHub Wiki

♿ Accesibilidad Mobile: Estándares Internacionales, Normativa Argentina y Aplicación en TodoStock Mobile

Proyecto: TodoStock Mobile — Android Nativo (Java / Material Design 3)
Marco Normativo: WCAG 2.2 / WCAG 2.0 (Disposición ONTI 6/2019) / Ley 26.653 / Ley 26.378
Guías Técnicas: Android Accessibility (TalkBack, Touch Targets 48x48 dp, Dynamic Scaling)
Tareas Técnicas Asociadas: #TK75 al #TK79, #TK96 (Informe de Accesibilidad y Auditoría)


📌 1. Marco Teórico y Estándares Internacionales de Accesibilidad

La accesibilidad digital garantiza que las personas con discapacidad (visual, auditiva, motora o cognitiva) puedan percibir, entender, navegar e interactuar con productos de software en igualdad de condiciones.

🌐 1.1 WCAG 2.2 — Web Content Accessibility Guidelines (W3C)

Publicadas por la Web Accessibility Initiative (WAI) del W3C, constituyen la referencia técnica global. Establecen cuatro principios fundamentales (POUR):

  • Perceptible: La información y componentes de la interfaz deben ser presentados en formas que los usuarios puedan percibir.
  • Operable: Los componentes de la interfaz y la navegación deben ser utilizables mediante diversos métodos de entrada (pantalla táctil, lectores de pantalla, teclados físicos).
  • Comprensible: La información y el funcionamiento de la interfaz de usuario deben ser comprensibles.
  • Robusto: El contenido debe ser lo suficientemente robusto para ser interpretado por una amplia variedad de agentes de usuario, incluyendo tecnologías asistivas (TalkBack, VoiceOver).

Niveles de Conformidad:

  • Nivel A: Requisitos básicos e indispensables.
  • Nivel AA: Objetivo habitual de conformidad para aplicaciones móviles e industriales.
  • Nivel AAA: Requisitos avanzados de máxima exigencia.

En mobile, muchos criterios son relevantes tanto para sitios web adaptables como para aplicaciones híbridas y nativas, aunque su implementación varía según las capacidades de la plataforma.


🏛️ 1.2 ISO/IEC 40500:2012

Es la norma internacional emitida por la Organización Internacional de Normalización (ISO) que adopta formalmente la especificación WCAG 2.0. Se diferencia de WCAG 2.2 por constituir un estándar cerrado de acreditación formal en procesos de contratación pública e industrial.


🇪🇺 1.3 EN 301 549

Norma europea de requisitos de accesibilidad para productos y servicios de Tecnologías de la Información y Comunicación (TIC). Aplica tanto a software de escritorio como a páginas web y aplicaciones móviles nativas. Es la referencia normativa requerida en compras públicas y contrataciones con el mercado europeo.


📱 1.4 Guías Oficiales de Accesibilidad en Plataformas Mobile

🤖 Android Accessibility Guidelines (Google)

  • Etiquetas Semánticas (contentDescription): Requerido en ImageButton, ImageView e iconos interactivos para lectura por voz.
  • Lector de Pantalla TalkBack: Soporte para lectura secuencial de nodos semánticos, navegación por gestos y anuncios de error en vivo (LiveRegion).
  • Áreas Táctiles Mínimas: Objetos interactivos con un tamaño táctil mínimo de 48 × 48 dp para facilitar la pulsación a usuarios con temblores o baja precisión motora.
  • Contraste de Color: Ración de contraste mínimo de 4.5:1 para texto normal y 3.0:1 para texto grande o elementos gráficos según WCAG AA.
  • Escalado de Texto (Dynamic Type / Sp): Uso exclusivo de unidades sp para permitir el escalado automático de fuentes según la preferencia del usuario en el sistema operativo.

🍏 Apple Accessibility Guidelines (iOS)

  • VoiceOver & Dynamic Type: Adaptación de etiquetas semánticas, VoiceOver y fuentes escalables en la plataforma iOS.

🇦🇷 2. Normativa Nacional Argentina y Cumplimiento Legal

En la República Argentina, el marco legal impone obligaciones claras sobre accesibilidad digital y derechos de las personas con discapacidad:

Norma Nacional Ámbito y Aplicación a la Plataforma Mobile
Ley N° 26.653 Accesibilidad de la Información en las Páginas Web. Establece la obligatoriedad de la accesibilidad en portales digitales del Estado Nacional, entes autárquicos, empresas concesionarias y prestadores de servicios públicos.
Decreto N° 656/2019 Reglamenta la Ley N° 26.653, fijando las pautas de control y cumplimiento técnico.
Disposición ONTI 6/2019 Aprueba las pautas técnicas de accesibilidad en Argentina, adoptando WCAG 2.0 niveles A y AA (compuesto por 38 criterios de conformidad).
Ley N° 26.378 Aprueba la Convención sobre los Derechos de las Personas con Discapacidad. En su Artículo 9, exige garantizar la accesibilidad a los sistemas y tecnologías de la información y las comunicaciones (TIC).
Plataforma Digital del Sector Público Nacional Directrices de diseño y usabilidad accesible para trámites y herramientas digitales del Estado.

📊 3. Comparativa Técnica: WCAG 2.0 (Norma Argentina) vs. WCAG 2.2 (Estándar Técnico Internacional)

Es fundamental distinguir la exigencia legal argentina de las mejores prácticas técnicas modernas:

┌─────────────────────────────────────────────────────────────────────────┐
│                    DIFERENCIACIÓN NORMATIVA Y TÉCNICA                   │
├─────────────────────────────────────────────────────────────────────────┤
│ 🇦🇷 Exigencia Legal Argentina (Disposición ONTI 6/2019):                 │
│    ➜ Basada exclusivamente en WCAG 2.0 (Niveles A y AA - 38 criterios).  │
│                                                                         │
│ 🌐 Mejor Práctica Técnica Internacional (WCAG 2.2):                    │
│    ➜ Incorpora criterios para Mobile (Áreas táctiles, gestos complejos, │
│      foco visible sin obstrucción y consistencia de ayuda).             │
└─────────────────────────────────────────────────────────────────────────┘

🛠️ 4. Aplicación Práctica y Avances en TodoStock Mobile (#TK75..#TK79 / #TK96)

La aplicación TodoStock Mobile ha sido adaptada e inspeccionada respetando tanto los 38 criterios de la ONTI (Disposición 6/2019 - WCAG 2.0 AA) como las recomendaciones de Google Android Accessibility:

📱 4.1 Auditoría de Pantallas y Componentes Adaptados

Activity / Componente Criterio WCAG / Android Implementación Técnica en Código Nativo (app/src/main/) Estado
LoginActivity WCAG 1.3.1 / WCAG 4.1.2 TextInputLayout con contentDescription descriptivo en campo clave e icono de visibilidad. Anuncio en vivo de error al ingresar credencial inválida. ✅ Aplicado
RegistroActivity WCAG 3.3.1 / WCAG 3.3.2 Campos de entrada con etiquetas hint legibles por TalkBack, validación en tiempo real y foco automático en errores de DNI o edad +18. ✅ Aplicado
MenuPrincipalActivity WCAG 2.5.5 / Android Touch Botones del Hub con dimensiones táctiles superiores a 48 × 48 dp y descripciones semánticas para lectura con lector de pantalla. ✅ Aplicado
SeleccionSucursalActivity WCAG 1.3.2 / WCAG 2.4.3 RecyclerView con orden de lectura lógico por voz en tarjetas de sucursal. ✅ Aplicado
GestionStockActivity WCAG 1.4.3 / Contraste Tarjetas de inventario con relación de contraste > 4.5:1 en stock normal y resalte con icono y texto claro para alertas de bajo stock. ✅ Aplicado
CargaProductoActivity WCAG 3.3.2 / Etiquetas Formulario de alta con asociación explícita de labels e inputs, previniendo confusión al usar TalkBack. ✅ Aplicado
MovimientosActivity WCAG 2.1.1 / Teclado Spinners de origen y destino navegables mediante teclado físico o gestos de accesibilidad. ✅ Aplicado
ContactoActivity WCAG 3.3.1 / Feedback Diálogos y alertas Toast con anuncios en vivo para confirmación de envío de mensajes a soporte. ✅ Aplicado
PerfilActivity / TerminosActivity WCAG 1.4.4 / Fuentes Textos formateados en unidades relativas sp compatibles con la preferencia de tamaño de fuente del sistema Android. ✅ Aplicado
Adaptabilidad Landscape / Tablet (#TK41 - PR #294) WCAG 1.3.4 / WCAG 2.1.1 11 layouts XML adaptados con ScrollView, centrado de botones, márgenes adaptables para pantalla apaisada y preservación de selección en Spinners al rotar mediante onSaveInstanceState. ✅ Aplicado
Estilos de Texto y Contraste (#TK79 - PR #264/265) WCAG 1.4.3 / WCAG 2.4.6 Encabezados en estilo oración, contraste unificado de texto y eliminación de redundancias de voz ("Bienvenido/a" limpio en Menú Principal). ✅ Aplicado

🧪 4.2 Herramientas de Verificación y Testing de Accesibilidad

  • Accessibility Scanner (Google): Inspección visual de contrastes, áreas de toque y etiquetas faltantes (#TK75).
  • TalkBack: Verificación manual de los flujos críticos de la app (SplashActivity ➔ LoginActivity ➔ MenuPrincipalActivity ➔ GestionStockActivity) utilizando navegación basada en voz y gestos (#TK77).
  • Espresso Accessibility Checks: Integración en pruebas de UI con AccessibilityChecks.enable() (#TK76).

Volver al Home de la Wiki | Ver Especificación IEEE 830 | Ver Testing y Calidad