Accesibilidad · AA

Formularios accesibles

Patrones mínimos para que cualquier formulario sea usable con teclado, lector de pantalla y validación clara: labels correctos, mensajes de error, agrupaciones y estados visuales coherentes.

Cómo usar estos patrones

La idea es que puedas copiar esta estructura en tus formularios: label siempre visible, ayuda opcional, mensaje de error claro y foco consistente. Sin buscar normas en mil sitios.

Un formulario accesible no es solo “poner campos”: necesita etiquetas claras, mensajes de ayuda y error asociados y un recorrido lógico con teclado.

  • El label siempre es visible. El placeholder no sustituye al label.
  • Los textos de ayuda y error se vinculan con aria-describedby.
  • Los estados (error, éxito, deshabilitado) usan color + texto, no solo color.
  • Todo se puede completar con teclado: Tab, Shift+Tab, barra espaciadora y Enter.

Campos base

Texto, email, contraseña y mensaje con sus elementos esenciales: label, ayuda y foco visible.

Este campo es obligatorio.

Usaremos tu email solo para responder a tu consulta.

Debe tener al menos 8 caracteres.

Estados de campo

Default, error y éxito, con mensajes claros y sin depender solo del color.

Estado por defecto, sin errores ni validaciones.

Revisa este dato: el formato no parece correcto.

Este campo cumple las condiciones mínimas.

Selección y agrupaciones

Select, checkboxes y radios con estructura accesible usando fieldset y legend.

Esto nos ayuda a dirigir mejor tu mensaje.

Temas que te interesan
Urgencia aproximada

Checklist rápido de formularios

Antes de publicar un formulario en producción, repasa al menos estos puntos.

7 preguntas clave

  • 1

    ¿Todos los campos tienen label visible (no solo placeholder)?

  • 2

    ¿Los mensajes de error están debajo del campo y explican qué ha pasado y cómo corregirlo?

  • 3

    ¿Puedes rellenar y enviar el formulario solo con teclado, usando Tab, Shift+Tab, Espacio y Enter?

  • 4

    ¿Los estados (error, éxito, deshabilitado) usan color + texto y no solo color para comunicar?

  • 5

    ¿Los textos de ayuda y error están enlazados con aria-describedby en los campos que lo necesitan?

  • 6

    ¿El contraste de texto, bordes y mensajes cumple como mínimo AA sobre el fondo donde se usan?

  • 7

    ¿Estás pidiendo solo la información necesaria o hay campos que podrían ser opcionales o desaparecer?