Addaw, ir a inicio Donar

Técnica ARIA WCAG 2.2

ARIA2Identificar un campo obligatorio con la propiedad aria-required

En resumen

Cuando un formulario marca visualmente los campos obligatorios (con un asterisco, la palabra «obligatorio» o un estilo), esa información suele no llegar a los lectores de pantalla. Esta técnica propone añadir aria-required="true" a esos campos para que las tecnologías de asistencia puedan anunciarlo. Conviene usarla siempre como complemento de la indicación visible, nunca en su lugar.

Aplicabilidad

Tecnologías compatibles con Accessible Rich Internet Applications (WAI-ARIA).

Descripción

El objetivo de esta técnica es reforzar la indicación por software de que un campo de formulario (que se muestra como obligatorio mediante la presentación) es imprescindible para que el formulario pueda enviarse correctamente.

El hecho de que el elemento sea obligatorio suele presentarse visualmente (mediante un símbolo textual o no textual, un texto que indica que la entrada es obligatoria, o color o estilos), pero esto puede no ser determinable por software como parte del nombre del campo.

La propiedad aria-required de WAI-ARIA indica que se requiere la entrada del usuario antes del envío. La propiedad aria-required puede tener los valores true o false. Por ejemplo, si el usuario debe rellenar un campo de dirección, aria-required se establece en true.

Esta técnica se considera recomendada para cumplir el criterio 3.3.2 Etiquetas o instrucciones, porque el uso de aria-required="true" por sí solo, sin ningún indicador visual, no sería perceptible para la mayoría de los usuarios.

Sin embargo, cuando el campo lleva asociado un asterisco u otro símbolo textual, usar la propiedad aria-required además de la presentación visual permite que los agentes de usuario transmitan esta información importante al usuario de la manera propia de cada agente de usuario. Consulte ARIA in HTML para obtener información sobre cómo proporcionar estados y propiedades de WAI-ARIA con HTML. Los estados y propiedades de WAI-ARIA también son compatibles con otros lenguajes; consulte la documentación de dichos lenguajes.

Ejemplos

La propiedad required se indica con un asterisco colocado dentro del elemento label

<form>
  <p>Note: * denotes a required field</p>
  <div>
    <label for="usrname">Login name *:</label>
    <input aria-required="true" autocomplete="username" id="usrname" type="text">
  </div>
  <div>
    <label for="pwd">Password *:</label>
    <input aria-required="true" autocomplete="current-password" 
     id="pwd" type="password">
  </div>
  <div>
    <input type="submit" value="Login">
  </div>
</form>

La propiedad required se indica con la palabra "required" (obligatorio) colocada junto al elemento label

<form>
  <div>
    <label for="fname">First name:</label> <span>(required)</span>
    <input aria-required="true" autocomplete="given-name" id="fname" type="text">
  </div>
  <div>
    <label for="mname">Middle name:</label> <span>(required)</span>
    <input autocomplete="additional-name" id="mname" type="text">
  </div>
  <div>
    <label for="lname">Last name:</label> <span>(required)</span>
    <input aria-required="true" autocomplete="family-name" id="lname" type="text">
  </div>
  <div>
    <label for="email">Email address:</label> <span>(required)</span>
    <input aria-required="true" autocomplete="email" id="email" type="text">
  </div>
  <div>
    <label for="zip_post">Zip / Postal code:</label> <span>(required)</span>
    <input aria-required="true" autocomplete="postal-code" id="zip_post" type="text">
  </div>
  <div>
    <input type="submit" value="Next Step">
  </div>
</form>

Los campos obligatorios se indican con un borde rojo alrededor de los campos y un icono de estrella generado mediante CSS con ::after

Este ejemplo usa botones de opción personalizados con role=radio. Las propiedades CSS están disponibles debajo del formulario.

<form>
  <label data-required="true" for="acctnum">Account Number</label>
  <input aria-required="true" id="acctnum" type="text">
  <p data-required="true" id="radio_label">
    Please send an alert when balance exceeds $3,000.
  </p>
  <ul aria-required="true" aria-labelledby="radio_label" role="radiogroup">
    <li aria-checked="false" id="rb1" role="radio" tabindex="0">Yes</li>
    <li aria-checked="false" id="rb2" role="radio" tabindex="-1">No</li>
  </ul>
</form>

Definición de estilos CSS correspondiente a este ejemplo:

[aria-required=true] {
  border: red thin solid;
}
[data-required=true]::after {
  content: url('/iconStar.gif');
}

Pruebas

Procedimiento

Para cada control que se muestra como obligatorio mediante la presentación.

  1. Comprobar si está presente el atributo aria-required:
  2. Comprobar si el valor del atributo aria-required se corresponde con el estado de obligatoriedad correcto del componente de la interfaz de usuario.

Resultados esperados

  • Las comprobaciones n.º 1 y n.º 2 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.

Solicitar una auditoría

Fuente y licencia

Traducción al español, no oficial, realizada por ADDAW a partir de la técnica ARIA2 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.

Financiado por la unión europea Gobierno de españa red.es Plan de recuperación transformación y resilencia kit digital