Técnica HTML WCAG 2.2
H90Indicar los controles de formulario obligatorios mediante label o legend
En resumen
Para que todos los usuarios sepan qué campos de un formulario son obligatorios, la indicación (texto, asterisco o imagen) debe formar parte del elemento label del control o, en grupos de botones de opción y casillas de verificación, del legend del fieldset. Así los lectores de pantalla la anuncian junto con la etiqueta. Si usa un símbolo, explique su significado antes del primer uso. Úsela en cualquier formulario con campos obligatorios.
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
- Para cada control de formulario obligatorio, comprobar que el estado obligatorio se indica en el
labelolegenddel control de formulario. - 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 las auditorías de accesibilidad de ADDAW revisamos cada criterio de conformidad siguiendo este catálogo de técnicas: comprobamos si la web aplica una técnica suficiente y documentamos cada fallo común con capturas y el código afectado, para que el equipo de desarrollo sepa exactamente qué corregir. Los informes siguen la metodología del Observatorio de Accesibilidad y la norma UNE-EN 301 549.
Fuente y licencia
Traducción al español, no oficial, realizada por ADDAW a partir de la técnica H90 del documento «Techniques for WCAG 2.2» del W3C (versión del repositorio público del W3C a 22/10/2026). Copyright © W3C® (MIT, ERCIM, Keio, Beihang). Se publica conforme a la licencia de documentos del W3C. El texto normativo de referencia es el original en inglés; si detecta un error en la traducción, escríbanos.