Conceptos básicos del diseño

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

Cómo crear interfaces fáciles de usar

Completar formularios puede ser lento y frustrante. Eso no tiene por qué serlo. Para garantizar una excelente UX, asegúrate de que la IU sea intuitiva. Asegúrate de proporcionar una estructura de formulario y un diseño gráfico óptimos (diseño, espaciado, tamaño y color de fuente), y una IU lógica (como la redacción de etiquetas y los tipos de entrada adecuados). Veamos 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 control de formulario nuevo a tu formulario? Comienza por agregar la etiqueta del campo nuevo. De esta manera, no te olvides de agregarlo.

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

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

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

O podrías describirlo de la siguiente manera:

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

¿Qué descripción eliges?

En nuestro ejemplo, se prefiere la frase "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 qué datos se necesitan más rápido.

Posición de la etiqueta

Con la opción CSS, puedes posicionar 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 de formulario para que el usuario pueda analizar un formulario con rapidez y ver qué etiqueta pertenece a cada control de formulario.

Diseño de formularios

Un buen diseño de formularios puede reducir significativamente los porcentajes de abandono de formularios. Ayuda a los usuarios a ingresar datos con el elemento y el tipo de entrada adecuados. Existen varios elementos de formulario y tipos de entrada entre los que puedes elegir. Para ofrecer la mejor UX, utiliza 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 tengan que aceptar los términos y condiciones de tu sitio, usa <input type="checkbox">.

También debes diferenciar visualmente entre los diferentes tipos de controles de formulario. Un botón debe tener el aspecto de un botón. Una entrada como una entrada Haz que sea fácil para los usuarios reconocer el propósito de un control de formulario. Por ejemplo, si algo parece un vínculo, cuando hagas clic en él, se debería abrir una página nueva, y no se enviará un formulario.

Ayuda a los usuarios a navegar por los formularios

Un diseño extravagante puede ser divertido, pero puede impedir que se complete el formulario.

En particular, las investigaciones muestran que es mejor usar una sola columna. Los usuarios no quieren perder tiempo buscando dónde se encuentra el siguiente control de formulario. Cuando usas una columna, solo hay una dirección a seguir.

Ayuda a los usuarios a interactuar con los formularios

Para evitar toques y clics accidentales, y ayudar a los usuarios a interactuar con el formulario, haz que los botones sean lo suficientemente grandes. El tamaño de objetivo de presión recomendado 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 formularios es demasiado pequeño para poder usarlo mucho. Debes aumentar el tamaño usando padding y cambiando el font-size predeterminado.

Puedes definir diferentes tamaños para distintos dispositivos apuntadores (por ejemplo, un mouse) mediante la función de medios de 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 función de medios de CSS pointer.

Muestra los errores donde se producen

Para que los usuarios puedan saber con facilidad qué control de formulario requiere su atención, muestra mensajes de error junto al control de formulario al que hacen referencia. Cuando muestres errores en el envío de formularios, asegúrate de navegar al primer control de formulario no válido.

Deja claro a los usuarios qué datos ingresar

Asegúrate de que los usuarios comprendan cómo ingresar datos válidos. ¿Debe 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>

Explícales a los usuarios cuáles son los campos obligatorios

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

Si el campo es obligatorio, deja que sea obvio. En Anatomía de los formularios accesibles, se explican las alternativas para indicar los 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 formularios para que sean accesibles para los lectores de pantalla? Puedes obtener más información sobre este tema en el siguiente módulo.

Verifica tus conocimientos

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

¿Cómo describirías un control de formulario?

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

¿Cuál es el tamaño del objetivo táctil recomendado?

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

¿Dónde deberías colocar mensajes de error?

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

Recursos