Skip to content

Accesibilidad

Julio Nicolás Santarelli edited this page Apr 26, 2021 · 30 revisions

Intro

¿Qué es la accesibilidad web?

Es la práctica inclusiva que garantiza que los productos digitales, y especialmente su contenido, estén diseñados y desarrollados para ser utilizados por una amplia gama de personas, incluidas aquellas con alguna disminución en sus capacidades, ya sea visual, motora, auditiva, del habla o cognitiva.

En materia de accesibilidad, ANDES aspira a ser:

  • Perceptible
  • Operable
  • Entendible
  • Robusta

A quiénes buscamos incluir en ANDES

Personas con alguna de las siguientes discapacidades:

  • Ceguera, en cualquiera de sus grados
  • Daltonismo o problemas con el procesamiento del color
  • Sordera o audición disminuida
  • Discapacidad motriz que afecta a la utilización de pantallas o dispositivos
  • Problemas relacionados con la compresión o el procesamiento de la información
  • Convulsiones (especialmente epilepsia fotosensible)

Otras barreras que pueden ser temporales/situacionales

  • Incidentales (ej.: un usuario que padece insomnio o se quebró un brazo)
  • Contextuales (ej.: un usuario en un ambiente ruidoso o con baja conectividad)

Lineamientos por niveles compositivos

Nivel UI

Diseño UI inclusivo: del boceto al prototipo

Orden visual:
  1. Listados
  • Mantener botoneras dentro de los items que integran los listados (de modo que el screen-reader los perciba en orden sin recurrir a tabindex)
  • Evitar uso de botoneras junto a sets de pestañas dado que alteran el orden de lectura del screen-reader

Nivel Componentes

Maquetado y buenas prácticas HTML/CSS/JS

Nivel interfaz

Jerarquización, agrupamiento e interactividad

Lineamientos transversales

Aspecto perceptivo

Aspecto operativo

  • Posibilidad de operar sólo con teclado
  • Indicador de foco
  • Sliders, scrolls controlables
  • Títulos de secciones
  • Saltar contenidos repetidos
  • Alternativas para encontrar contenido
  • Hipervínculos descriptivos

Aspecto del entendimiento

  • Lenguaje definido, lecturabilidad
  • Comportamiento predictivo de elementos
  • Navegación consistente
  • Notificaciones de errores y confirmación claras y útiles

Aspecto de la robustez

Checklists

Checklist a nivel componentes

Checklist globales/transversales

Checklist ANDES

Lectura de la pantalla
  • Jerarquíazación de los elementos (el tabeo matchea el orden visual)
  • Distribución (cercanía y agrupamiento de elementos)
  • Uso de un title general para presentar la pantalla
  • Uso de headings y/o plex-label para contenidos secundarios
  • Diferenciar acciones de links. Notificar apertura de nuevas pestañas.
  • Elementos emergentes perceptibles (alertas, notificaciones)
  • Autofoco sólo cuando es necesario

Prioridades a resolver

  • HTML Válido
  • Aria Markup
  • Atributo alt en imágenes y elementos gráficos
  • Etiquetas label en formularios

Lineamientos de accesibilidad en ANDES

Formularios

  • Evitar inputs de formularios sin labels
  • No se permiten inputs con placeholders que funcionan como labels
  • Las notificaciones (de ayuda, errores) se implementan con aria-describedby

Componentes colapsables

TABS

Agregar roles correspondientes

  • role="tablist" al contenedor de las tabs (otorga semántica al elemento, detectando la cantidad de pestañas)
  • role="tab" al elementos tabeable de la pestaña (identifica al <li> como pestaña)
  • role="presentation" para que el screen-reader ignore la semantica de la <ul> (que no diga lista, que diga lista de pestañas)

Agregar arias correspondientes

  • aria-selected (screen-reader menciona la pestaña activa)
  • aria-label (screen-reader menciona descripción del título y botones "cerrar")

Agregar funcionalidad accesible por teclado

  • Focusable con tab
  • Agregar evento keydown para que con enter se acceda a la pestaña activa
  • Navegación entre tabs con arrows (flechas del teclado)