Conceptos básicos del diseño

En la primera sección, aprendiste a crear un formulario básico. En esta sección, se explican las prácticas recomendadas. En este módulo, aprenderás sobre la experiencia del usuario (UX) y por qué una interfaz de usuario (IU) bien implementada puede marcar una gran diferencia.

Crea interfaces fáciles de usar

Completar formularios puede ser frustrante y llevar mucho tiempo, pero no tiene por qué ser así. Para crear una experiencia del usuario óptima, asegúrate de que la interfaz sea intuitiva. Asegúrate de ofrecer una estructura de formulario y un diseño gráfico óptimos (diseño, espaciado, tamaño y color de la fuente), y una IU lógica (como la redacción de las etiquetas y los tipos de entrada adecuados). Descubre cómo puedes mejorar tu formulario y facilitar su uso.

Etiquetas

¿Recuerdas para qué sirve el elemento <label>? Una etiqueta describe un control de formulario. Una etiqueta visible y bien escrita ayuda al usuario a comprender el propósito de un control de formulario.

Usa una etiqueta para cada control de formulario

¿Quieres agregar un nuevo control de formulario? Comienza por agregar la etiqueta del campo nuevo. De esta manera, no olvidarás agregarla.

Agregar etiquetas primero también te ayuda a enfocarte en los objetivos del formulario: ¿Qué datos necesito aquí? Una vez que esto quede claro, puedes enfocarte en ayudar al usuario a ingresar datos y completar el formulario.

Texto de la etiqueta

Di que quieres describir un campo de correo electrónico. Puedes hacerlo de la siguiente manera:

<label for="email">Enter your email address</label>

También puedes describirlo de la siguiente manera:

<label for="email">Email address</label>

¿Qué descripción elegirías?

En nuestro ejemplo, se prefiere la redacción "Dirección de correo electrónico", ya que las etiquetas cortas son más fáciles de escanear, reducen el desorden visual y ayudan a los usuarios a comprender más rápido qué datos se necesitan.

Posición de la etiqueta

Con CSS, puedes colocar una etiqueta en la parte superior, inferior, izquierda y derecha de un control de formulario. ¿Dónde lo colocas?

Las investigaciones demuestran que la práctica recomendada es colocar la etiqueta sobre el control del formulario, de modo que el usuario pueda analizar un formulario rápidamente y ver a qué control del formulario pertenece cada etiqueta.

Diseña formularios

Un buen diseño de formularios puede reducir significativamente las tasas de abandono de formularios. Ayuda a los usuarios a ingresar datos con el elemento y el tipo de entrada adecuados. Puedes elegir entre varios elementos de formulario y tipos de entrada. Para ofrecer la mejor UX, usa el elemento y el tipo de entrada más adecuados para tu caso de uso. Si el usuario debe completar varias líneas de texto, usa el elemento <textarea>. Cuando deban aceptar los términos y condiciones de tu sitio, usa <input type="checkbox">.

También debes diferenciar visualmente los distintos tipos de controles de formulario. Un botón debe parecer un botón. Una entrada como una entrada. Facilita a los usuarios el reconocimiento del propósito de un control de formulario. Por ejemplo, si algo parece un vínculo, hacer clic en él debería abrir una página nueva y no enviar un formulario.

Ayuda a los usuarios a navegar por los formularios

Un diseño extravagante puede ser divertido, pero puede dificultar el proceso de completar un formulario.

En particular, las investigaciones demuestran que es mejor usar solo una columna. Los usuarios no quieren perder tiempo buscando dónde está el siguiente control de formulario. Si se usa una sola columna, solo hay una dirección que seguir.

Ayuda a los usuarios a interactuar con formularios

Para evitar toques y clics accidentales, y ayudar a los usuarios a interactuar con tu formulario, haz que los botones sean lo suficientemente grandes. El tamaño recomendado del objetivo táctil de un botón es de al menos 48 px. También debes agregar suficiente espacio entre los controles del formulario con la propiedad de CSS margin para evitar interacciones accidentales.

El tamaño predeterminado de los controles de formulario es demasiado pequeño para ser realmente utilizable. Debes aumentar el tamaño con padding y cambiar el valor predeterminado de font-size.

Puedes definir diferentes tamaños para diferentes dispositivos apuntadores, por ejemplo, un mouse, con la función de medios CSS pointer.

// pointer device, for example, a mouse
@media (pointer: fine) {
  input[type="checkbox"] {
    width: 15px;
    height: 15px;
  }
}

// pointer device of limited accuracy, for example, a touch-based device
@media (pointer: coarse) {
  input[type="checkbox"] {
    width: 30px;
    height: 30px;
  }
}

Obtén más información sobre la pointer función de medios de CSS.

Mostrar los errores donde ocurren

Para que los usuarios puedan saber fácilmente qué control de formulario requiere su atención, muestra los mensajes de error junto al control de formulario al que se refieren. Cuando se muestren errores en el envío del formulario, asegúrate de navegar al primer control de formulario no válido.

Indica claramente a los usuarios qué datos deben ingresar

Asegúrate de que los usuarios comprendan cómo ingresar datos válidos. ¿Deben ingresar al menos ocho caracteres para una contraseña? Díselo.

<label for="password">Password (required)</label>
<input required minlength="8" type="password" id="password" name="password" aria-describedby="password-minlength">
<span id="password-minlength">Enter at least eight characters</span>

Indica claramente a los usuarios qué campos son obligatorios

<label for="name">Name (required)</label>
<input name="name" id="name" required>

Si un campo es obligatorio, haz que sea evidente. The Anatomy of Accessible Forms explica alternativas para indicar campos obligatorios. Si la mayoría de los campos de un formulario son obligatorios, tal vez sea mejor indicar los campos opcionales.

¿Cómo puedes conectar los mensajes de error a los controles de formulario para que sean accesibles para los lectores de pantalla? Puedes obtener más información sobre este tema en el módulo de Accesibilidad.

Verifica tus conocimientos

Pon a prueba tus conocimientos sobre el diseño de formularios

¿Cómo se describe un control de formulario?

Usa el elemento <description>.
Vuelve a intentarlo.
Usa el elemento <label>.
🎉
Uso del atributo description.
Vuelve a intentarlo.
Uso del atributo placeholder.
Vuelve a intentarlo.

¿Cuál es el tamaño recomendado para el objetivo de toque?

16 px
Vuelve a intentarlo.
48 px
🎉
31.5 px
Vuelve a intentarlo.
Lo suficientemente grande como para presionarlo con una papa.
Vuelve a intentarlo.

¿Dónde debes colocar los mensajes de error?

Junto al control del formulario
🎉
En la parte superior de <form>
Vuelve a intentarlo.
No mostrar nunca mensajes de error
Vuelve a intentarlo.
Donde quieras
Vuelve a intentarlo.

Recursos