El diseño de formularios web tiene que evitar dos tipos de error. Los que impiden completar el formulario se ven en pantalla: no se entiende qué se pide o el error no se ve. Los que impiden gestionar la solicitud llegan después de «Enviar»: se pierde, llega sin contexto o nadie la revisa.
Las pautas de accesibilidad del W3C (las WCAG 2.2, en inglés) dedican a la entrada de datos su pauta 3.3: ayudar a evitar y corregir los errores. Los dos tipos de error se pueden evitar en el diseño: qué pides, cómo lo colocas, cómo avisas de los errores y adónde va cada solicitud.
Qué consigue un buen diseño de formularios web
Un buen diseño de formularios web evita, en cada etapa, un error que impide seguir. La tabla los ordena.
| Etapa | Error que impide seguir | Cómo se evita |
|---|---|---|
| Campos | Pide datos que no hacen falta | Cada campo con su motivo |
| Disposición | Dos columnas o controles diminutos | Una columna y controles grandes |
| Etiquetas | El texto de ejemplo hace de etiqueta | Una etiqueta visible y corta |
| Validación | El error solo se marca en rojo | Un mensaje en texto junto al campo |
| Consentimiento | Casillas ambiguas o ya marcadas | Aviso breve y casilla sin marcar |
| Envío | Doble envío o espera sin aviso | Botón bloqueado y estado «Enviando» |
| Entrega | «Enviado» sin que haya llegado | Confirmar cuando el servidor la ha guardado o entregado |
| Gestión | Llega sin origen ni responsable | Origen, hora y destinatario |
Desliza a la izquierda: ocho fichas, una por fila →
Qué datos pedir: cada campo con su motivo
Un formulario solo debería pedir lo que necesitas para el siguiente paso que anuncia: antes de añadir un campo, escribe qué decisión tomarás con ese dato. El Reglamento General de Protección de Datos (RGPD) lo llama minimización de datos (artículo 5). Quitar el dato que sirve para asignar la solicitud tampoco ayuda, porque alguien tendrá que llamar para pedirlo.
La guía de Google en web.dev propone el nombre en un solo campo, salvo que haya un buen motivo, y marcar los opcionales si la mayoría son obligatorios. Las WCAG piden que lo que se vuelve a pedir en el mismo proceso se rellene solo o se pueda elegir (criterio 3.3.7), salvo excepciones como la seguridad.
Disposición: orden de los campos, una columna y móvil
La disposición de un formulario decide si se rellena de corrido. Google, en web.dev, recomienda una sola columna, porque así «solo hay una dirección que seguir», la etiqueta encima del campo y que el orden con el teclado siga el orden visual.
En el móvil cuentan cuatro detalles.
- Tipo de campo: uno de correo o de teléfono saca el teclado con arroba o el numérico, y con el atributo
autocompleteel navegador puede rellenarlo (las WCAG lo piden para los datos personales de su lista, criterio 1.3.5). - Tamaño: las WCAG fijan un mínimo de 24 por 24 píxeles CSS para lo que se pulsa, con excepciones (criterio 2.5.8), y Google recomienda 48 píxeles o más para los botones.
- Letra: 1rem o más en los campos (16 píxeles en la mayoría de los navegadores) evita que Safari en iOS amplíe la página al tocarlos.
- Ancho: tiene que usarse sin perder nada ni desplazarse en horizontal en un ancho equivalente a 320 píxeles CSS (criterio 1.4.10).
Etiquetas e instrucciones que no desaparecen
Cada campo de un formulario necesita una etiqueta visible: las WCAG piden etiquetas o instrucciones siempre que haya que introducir datos (criterio 3.3.2). Google añade que sea corta, como «Dirección de correo electrónico», y que el texto de ejemplo de dentro del campo (el placeholder) no haga de etiqueta.
Si el formato es obligatorio, dilo antes del campo y no solo en el mensaje de error. Acepta tildes, dos apellidos o espacios en el teléfono.
Validación y mensajes de error que se puedan corregir
La validación de un formulario comprueba los datos antes de aceptarlos. Las WCAG piden identificar el campo con error y describirlo en texto (criterio 3.3.1), y sugerir la corrección si se conoce (criterio 3.3.3), salvo que comprometa la seguridad o el propósito del contenido.
El color solo no basta (criterio 1.4.1): para quien no distingue el rojo del verde, explica Google, un borde rojo y uno verde se ven casi iguales.
Pon cada mensaje junto a su campo y, si se envía con errores, lleva el foco (el campo activo) al primero. Valida también en el servidor.
Aviso de privacidad y consentimiento en el formulario
Un formulario que recoge datos personales tiene que informar al recogerlos. La ley española de protección de datos permite hacerlo en dos capas (artículo 11): una información básica junto al formulario y una dirección electrónica u otro medio para llegar de forma sencilla e inmediata al resto. La básica incluye, al menos, quién es el responsable (y su representante, si lo hay), la finalidad y que se pueden ejercer los derechos de los artículos 15 a 22 del RGPD. Si vas a elaborar perfiles, la básica lo dice y avisa del derecho a oponerse a decisiones automatizadas con efectos jurídicos o de importancia parecida, cuando exista.
La casilla depende de la base legal, el motivo que permite tratar los datos. Si es el consentimiento, tiene que ser libre, específico, informado e inequívoco, por declaración o por una «clara acción afirmativa» (artículo 4 del RGPD). El RGPD dice (considerando 32) que «el silencio, las casillas ya marcadas o la inacción no deben constituir consentimiento». Además (artículo 7), tienes que poder demostrarlo; la petición se distingue del resto y usa un lenguaje claro y sencillo; antes de darlo, la persona sabe que puede retirarlo en cualquier momento, y retirarlo es tan fácil como darlo; y, si condicionas el servicio a usos que no necesita, puede no ser libre.
Para atender una petición de presupuesto puede servir otra base: el tratamiento necesario para aplicar, a petición del interesado, medidas previas a un contrato (artículo 6). El boletín va en casilla aparte; la publicidad por correo electrónico tiene reglas propias, resumidas en cómo diseñar una web B2B, en su apartado de formularios.
Envío y confirmación: que «Enviado» sea verdad
El envío de un formulario tiene tres momentos visibles: mientras se envía, cuando llega y cuando falla. Lo que dice el formulario tiene que depender de lo que responde el servidor, no del clic en «Enviar». Los avisos de estado, como «Enviando», tienen que llegar al lector de pantalla (el programa que lee la página en voz alta) sin moverle el foco, según las WCAG (criterio 4.1.3).
Durante la espera, bloquea el botón para evitar envíos duplicados por un doble clic. En la confirmación, di qué pasa después y por qué vía, sin plazos que no puedas cumplir. Si falla, explica qué pasó sin detalles técnicos y ofrece otra vía, como el teléfono.
-
El servidor confirma guardado o entrega
acaba en Mostrar «Solicitud recibida»
-
El envío falla
acaba en Conservar lo escrito
-
Sin respuesta todavía
acaba en Mostrar «Enviando»
Entrega y gestión: que la solicitud llegue a quien la atiende
La entrega de un formulario termina cuando la solicitud está donde se atiende: un buzón compartido, el CRM (el programa donde ventas sigue cada contacto) o la agenda. Para gestionar la solicitud, esta debe llegar con su página de origen, la hora y lo aceptado, y tener quien la atienda y quien lo haga cuando esa persona falte.
Un buzón personal, una integración sin vigilar o un antispam mal ajustado pueden perder solicitudes sin que nadie lo note. Repite a menudo un envío de prueba y revisa la carpeta de spam. Decide cuánto tiempo las guardas: el RGPD pide conservar los datos «no más tiempo del necesario para los fines del tratamiento» (artículo 5). Para elegir dónde guardarlas, mira cómo elegir un CRM para una pyme; para contar como conversión solo lo que llega, consentimiento y medición de conversiones.
Cómo probar un formulario antes de publicarlo
Probar un formulario es intentar completar cada paso en el móvil y con el teclado, y seguir la solicitud hasta su destino, con datos inventados. Si funciona y no llegan contactos, el problema puede estar antes: lo explica por qué una web recibe visitas pero no contactos.
- Rellénalo con el teclado, con un lector de pantalla y en un móvil.
- Envíalo vacío, con datos válidos, con tildes y con doble clic.
- Simula un servidor lento y otro caído.
- Busca la solicitud en su destino, con su origen, hora y lo aceptado, y descarta duplicados.
- Borra los datos de prueba y repite tras cada cambio de plugin, correo o integración.
Ejemplo inventado: un formulario de presupuesto, antes y después
Con datos inventados: una instaladora de climatización pide presupuestos con 7 campos en dos columnas (nombre, apellidos, correo, teléfono, población, servicio y mensaje), etiquetas grises dentro del campo, errores marcados solo en rojo y «Enviado» antes de que responda el servidor.
El formulario nuevo va en una columna, con la etiqueta encima de cada campo y los errores explicados en texto. El teléfono pasa a ser opcional, con su motivo, y la población se queda, porque decide qué técnico va. «Solicitud recibida» sale cuando el servidor confirma que la ha guardado o entregado, aquí en el buzón compartido. No hay resultados que contar: habría que medirlos.
Antes
- Nombre2 campos
- Otros datos5 campos
Después
- Nombre1 campo
- Otros datos5 campos
Nombre y apellidos, en un solo campo
Lista de comprobación del diseño de formularios web
Antes de publicarlo, comprueba estos 8 puntos.
Marca lo que ya está y llévate la lista a tu equipo.
0de 8
Límites de esta guía
Seguir esta guía no certifica que un formulario sea accesible.
Tampoco que vaya a seguir entregando: un cambio de plugin puede romperlo.
Lo que aquí se dice de las normas de protección de datos las resume y no sustituye a una asesoría legal.
Preguntas frecuentes sobre diseño de formularios web
¿Cuántos campos debe tener un formulario web?
No hay un número correcto: los que necesitas para el siguiente paso que promete. Si un dato sirve para asignar la solicitud, déjalo; si solo podría servir algún día, quítalo.
¿Es mejor un formulario en una columna o en dos?
En una. Según la guía de Google, las investigaciones demuestran que es mejor usar solo una columna. En el móvil las dos se apilan, y el orden que queda puede no ser el que pensaste.
¿Hay que poner una casilla de «acepto la política de privacidad»?
Depende de la base legal. Si es el consentimiento, la casilla nombra el uso concreto, no «acepto la política de privacidad», y va sin marcar y separada del resto. Si es otra, como atender su petición de presupuesto, no hace falta casilla. En los dos casos hay que informar al recoger los datos: basta la información básica junto al formulario y un enlace al resto.
¿Dónde se ponen los mensajes de error de un formulario?
Junto al campo al que se refieren, en texto y con la corrección. En un formulario largo puedes añadir arriba un resumen con enlaces a cada error, sin quitar los de cada campo.
Siguiente paso
Elige el formulario que más solicitudes debería traerte.
Pruébalo con los pasos de arriba.
Si prefieres revisarlo con nosotros, así trabajamos la mejora de la conversión web.
Fuentes
Las páginas se consultaron el 3 de octubre de 2026.
- W3C: Web Content Accessibility Guidelines (WCAG) 2.2, en inglés: pauta 3.3 y criterios 1.3.5, 1.4.1, 1.4.10, 2.5.8, 3.3.1, 3.3.2, 3.3.3, 3.3.7 y 4.1.3. La lista de traducciones del W3C no tiene ninguna al español de esta versión.
- Google, web.dev: conceptos básicos del diseño de formularios, autocompletar, validación y formularios de pago y de dirección.
- BOE: Reglamento General de Protección de Datos (considerando 32 y artículos 4, 5, 6 y 7) y Ley Orgánica 3/2018 de Protección de Datos Personales (artículo 11).
Historial de actualizaciones
Publicado el 15 de septiembre de 2026.
Actualizado el 12 de octubre de 2026.
Reescrito y ampliado el 3 de octubre: qué consigue un buen diseño de formularios, el mapa de errores por etapa, qué datos pedir, etiquetas, validación y mensajes de error, aviso de privacidad y consentimiento, envío y confirmación, entrega y gestión, protocolo de prueba, un ejemplo con datos inventados y la lista de comprobación. Nuevos: la disposición de los campos y el uso en el móvil, y las preguntas frecuentes.
Añadidos el 12 de octubre: dos esquemas, uno con qué hacer según el estado del envío y otro con los campos del ejemplo, antes y después.
¿Te suena? Mejorar la conversión de tu web
Ver cómo lo abordamos

