Addaw, ir a inicio Donar

Técnica HTML WCAG 2.2

H90Indicar los campos obligatorios en la etiqueta o en la leyenda

Nombre oficial en el W3C: Indicar los controles de formulario obligatorios mediante label o legend

En pocas palabras

Los campos obligatorios se marcan dentro de su etiqueta (label), con la palabra «obligatorio», un asterisco o una imagen con texto alternativo. En los grupos de casillas o botones de opción, la marca va en la leyenda (legend). Si se usa un símbolo, su significado se explica al principio del formulario.

Por qué es importante

Si alguien no sabe qué campos son obligatorios, envía el formulario incompleto y recibe errores. En una cita previa o una inscripción, eso hace perder tiempo y paciencia.

Al ir dentro de la etiqueta, el lector de pantalla (programa que lee en voz alta la pantalla) anuncia la marca junto con el nombre del campo. Una marca suelta, fuera de la etiqueta, puede pasar desapercibida.

Cómo se hace

  1. Incluya la indicación dentro del <label> del campo: «Nombre (obligatorio)». Evite abreviaturas como «oblig.».
  2. Si usa un asterisco, explique al principio del formulario qué significa. Hágalo grande y con buen contraste.
  3. Si usa una imagen, dele un texto alternativo como «obligatorio».
  4. En grupos de casillas o botones de opción, ponga la marca en la <legend> del <fieldset>, no en cada opción.

Cómo comprobarlo

  1. Localice los campos obligatorios del formulario.
  2. Compruebe que la marca está dentro del <label> o, en grupos, dentro de la <legend>.
  3. Si hay símbolos, confirme que su significado se explica antes del primer campo.
  4. Con un lector de pantalla, lleve el foco a cada campo y confirme que se oye que es obligatorio.

Ejemplo

El asterisco se explica al principio y va dentro de la etiqueta del campo.

<p>Los campos marcados con un asterisco (*) son obligatorios.</p>
<label for="nombre">
  Nombre <abbr title="obligatorio">*</abbr>
</label>
<input id="nombre" name="nombre" type="text">
Ver el texto completo del W3C (traducción al español)

Esta es una traducción no oficial al español de la técnica H90 de Techniques for WCAG 2.2, del W3C. Puede contener errores. El único documento oficial y normativo es la versión original en inglés, publicada en el sitio web del W3C.

Aplicabilidad

Controles HTML que utilizan etiquetas externas.

Descripción

El objetivo de esta técnica es indicar con claridad que un determinado control de formulario de una aplicación web o de un formulario es obligatorio para que el envío de datos se realice correctamente. Un símbolo o un texto que indica que el control es obligatorio se asocia por software al campo mediante el elemento label, o mediante el legend en el caso de grupos de controles asociados a través de fieldset. Si se utiliza un símbolo, se informa al usuario de su significado antes del primer uso.

Ejemplos

Usar texto para indicar el estado obligatorio

El campo de texto del ejemplo siguiente tiene la etiqueta explícita «First name (required):» (nombre, obligatorio). El atributo for del elemento label coincide con el atributo id del elemento input, y el texto del label indica que el control es obligatorio.

<label for="firstname">First name (required):</label> 
<input id="firstname" name="firstname" type="text">

Algunos autores abrevian «required» (obligatorio) como «req.». Hay indicios anecdóticos de que esta abreviatura resulta confusa.

Usar un asterisco para indicar el estado obligatorio

El campo de texto del ejemplo siguiente tiene una etiqueta explícita que incluye un asterisco para indicar que el control es obligatorio. Es importante que el significado del asterisco se defina al principio del formulario. En este ejemplo, el asterisco está contenido en un elemento abbr para que pueda aplicarse un estilo al carácter de asterisco y mostrarlo más grande que el asterisco predeterminado, ya que este carácter puede ser difícil de ver para las personas con discapacidad visual.

El CSS

.req {font-size: 150%}

El HTML

<p>Required fields are marked with an asterisk
   (<abbr class="req" title="required">*</abbr>).</p>
<form action="https://example.com" method="post">
  <label for="firstname">First name <abbr class="req" title="required">*</abbr>:</label> 
  <input id="firstname" name="firstname" type="text">
  ...
</form>

Usar una imagen para indicar el estado obligatorio

El campo de texto del ejemplo siguiente tiene una etiqueta explícita que incluye una imagen para indicar que el control es obligatorio. Es importante que el significado de la imagen se defina al principio del formulario.

<p><img alt="required" src="req_img.gif"> indicates that the information is required</p>
<form action="https://www.example.com" method="post">
  <label for="firstname">First name <img alt="required" src="req_img.gif">:</label> 
  <input id="firstname" name="firstname" type="text">
  ...
</form>

Indicar el estado obligatorio en grupos de botones de opción o casillas de verificación

Los botones de opción y las casillas de verificación se tratan de forma distinta a otros controles interactivos, puesto que no es obligatorio cada botón de opción o casilla de verificación individual, sino que se indica que es obligatoria una respuesta para el grupo. Los métodos usados en los ejemplos 1 a 3 se aplican a los botones de opción y a las casillas de verificación, pero la indicación del estado obligatorio debe situarse en el elemento legend en lugar de en el elemento label.

<fieldset>
  <legend>I am interested in the following (Required):</legend>
  <div>
    <input id="photo" name="interests" type="checkbox" value="ph">
    <label for="photo">Photography</label>
  </div>
  <div>
    <input checked id="watercol" name="interests" type="checkbox" value="wa">
    <label for="watercol">Watercolor</label>
  </div>
  <div>
    <input checked id="acrylic" name="interests" type="checkbox" value="ac">
    <label for="acrylic">Acrylic</label>
  </div>
  ...
</fieldset>

Pruebas

Procedimiento

  1. Para cada control de formulario obligatorio, comprobar que el estado obligatorio se indica en el label o legend del control de formulario.
  2. Para cada indicador del estado obligatorio que no se proporcione en forma de texto, comprobar que el significado del indicador se explica antes del control de formulario que lo utiliza.

Resultados esperados

  • Todas las comprobaciones anteriores son verdaderas.

Recursos

Cómo lo comprobamos en ADDAW

En cada auditoría de ADDAW revisamos esta técnica página a página y le entregamos los errores con capturas y la forma de corregirlos.

Solicitar una auditoría

Basado en la técnica H90 del W3C (WCAG 2.2). Explicación y ejemplos: ADDAW. Traducción no oficial del texto del W3C © W3C, licencia de documentos del W3C. ¿Ha visto un error? Escríbanos.