SURCO · 10-accessibility.md · 12 de 22

En esta página 1. Objetivo 0%

10 — Accesibilidad — SURCO

1. Objetivo

Cumplir un nivel WCAG 2.2 AA razonable en el vertical slice web, priorizando:

  • Contraste de texto y CTAs
  • Navegación por teclado
  • Nombres accesibles en controles
  • Estados no solo por color
  • Formularios con errores comprensibles

Contexto de uso: móvil en exterior (técnico) y desktop (planificación). El brillo solar y guantes no se resuelven del todo en web, pero se mitigan con targets grandes y contraste alto leaf/bone.

2. Alcance

En alcance v1Fuera / parcial
Home, login, lista, detalle, newLector de pantalla exhaustivo QA formal
Contraste tokens marcaModo alto contraste OS dedicado
Focus visible navegadorSkip links multi-landmark complejos
Labels de formi18n multi-idioma

3. Contraste

ParIntención
Leaf #3D5C3A sobre blancoCTAs y badges — verificar ≥4.5:1 en texto small
Ink sobre boneBody text
Straw sobre boneSolo eyebrows/meta; si falla, oscurecer straw o usar leaf
White sobre primaryTexto de botón
red-700 sobre boneErrores

Regla: si un acento straw no alcanza contraste en body, no usarlo para texto < 18px esencial.

4. Teclado y foco

ControlComportamiento esperado
Enlaces navTab order lógico header → main
BotonesActivables con Enter/Espacio
FormsTab entre campos; submit con Enter
Cards tareaSon <a> — focuseables
Salirbutton focuseable

Focus visible: outline del navegador o ring Tailwind; no outline: none global.

5. Semántica y estructura

PantallaLandmarks
Homeheader, secciones, footer
Appheader + main
TítulosUn H1 por vista; H2 en cards de lista OK

Imágenes:

  • Hero: alt="Parcelas agrícolas al atardecer"
  • Decorativas: vacías solo si no aportan (evitar en v1)

6. Formularios

RequisitoAplicación
Labels visiblesCada input con label o aria-label
Errores en textoNo solo borde rojo
Passwordtype password; no autocomplete off injustificado
Fechainput date/datetime usable con teclado

7. Color y estado

StatusTexto obligatorioColor de apoyo
Pendiente / Activa / Hecha / CanceladaSí (label)Badge soft
Error redMensaje textualcolor danger
RolBadge FARMER/TECHNICIANsoft primary

8. Touch y móvil de campo

SpecValor
Target mínimo CTA44×44 px
Espacio entre acciones≥8 px
ListaToda la card clicable (área amplia)
ZoomNo bloquear pinch-zoom (user-scalable no desactivado)

9. Movimiento y media

  • Sin autoplay de vídeo.
  • Sin animaciones esenciales para entender estado.
  • Respeto futuro a prefers-reduced-motion si se añaden transitions largas.

10. Pruebas recomendadas

PruebaHerramientaCriterio pass
ContrasteDevTools / axe0 críticos en home+login+form
TecladoManualCompletar login y crear tarea sin ratón
SR spot-checkVoiceOverLabels de form anunciados
Zoom 200%BrowserSin solapamientos graves

11. Criterios de aceptación

  1. Login completible solo con teclado.
  2. Mensajes de error legibles y en español.
  3. Estados de tarea con texto, no solo color.
  4. Hero con alt no vacío.
  5. No hay outline: none sin reemplazo de foco.