Aria-required=true : conformité aux WCAG 2.0 ou bonnes pratiques ?

Sailesh Panchang

By Sailesh Panchang

5 décembre 2013

Fauteuil roulant avec des flèches pointant vers l'avant sur fond bleuL'attribut « aria-required » étant pris en charge par les combinaisons de navigateurs et de technologies d'assistance les plus courantes, nombreux sont ceux qui considèrent son utilisation comme la méthode la plus simple et la plus adaptée pour indiquer qu'une saisie est obligatoire dans un champ. Cependant, recommander son utilisation n'est peut-être pas si évident du point de vue d'une conformité stricte aux WCAG 2.

Il n'est nécessaire d'indiquer de manière accessible qu'une saisie est obligatoire pour un champ que lorsqu'un indice visuel le signale. En d'autres termes, en l'absence d'indice visuel indiquant que les champs sont obligatoires, les WCAG 2 ne s'appliquent pas. Les critères de succès de niveau A applicables sont les critères SC 1.3.1 et SC 3.3.2.

Considérons les quatre cas suivants :

Cas n° 1 :

Un symbole textuel (comme un astérisque) ou un texte indiquant qu'une saisie est obligatoire peut être associé par programmation au champ à l'aide de l'élément `label` (ou `legend` pour un groupe de contrôles associés), d'un attribut `title` (en l'absence de `label`) ou de l'attribut `aria-labelledby` lorsque celui-ci est utilisé pour étiqueter le contrôle.

Si tel est le cas, aucune mesure supplémentaire n'est nécessaire du point de vue de la conformité aux WCAG 2.

Dans ces situations, l'utilisation de `aria-required=true` aura pour effet :

– Contribue à mettre en évidence la propriété « required » lorsqu'un astérisque ou un autre symbole textuel est utilisé… L'utilisation de l'attribut `aria-required` est facultative et peut s'avérer utile.

– Cela entraîne une duplication si le mot « required » est déjà associé au contrôle. L'utilisation d'`aria-required` est donc déconseillée.

Cas n° 2 :

Un symbole (comme un astérisque) ou un texte indiquant qu'une saisie est obligatoire est présent, mais n'est pas associé au champ au niveau du code.

Dans ce cas, on peut soit associer par programmation le symbole ou le texte au champ en tant que partie intégrante de son libellé. Cette solution peut s'avérer appropriée lorsque le texte du libellé du champ n'est pas non plus associé à ce dernier.

Sinon, on peut utiliser l'attribut `aria-required=true` pour indiquer que la saisie est obligatoire, afin de se conformer aux WCAG 2.

Cas n° 3 :

Le fait qu'une saisie soit requise est indiqué uniquement par la couleur, le style de police ou un symbole non textuel (y compris via CSS).

Dans ce cas de figure, définir « aria-required=true » aidera certainement certains utilisateurs qui dépendent d'agents utilisateurs compatibles avec ARIA ou de technologies d'assistance.

Se contenter d'utiliser la couleur ou la mise en forme visuelle pour signaler une propriété obligatoire n'aidera pas les utilisateurs qui, en raison d'un handicap visuel, ne peuvent pas distinguer les différences de couleur ou de mise en forme et qui n'ont pas systématiquement besoin d'une technologie d'assistance.

En réalité, le fait de se contenter d'utiliser des différences de couleur ou de mise en forme pour signaler les champs obligatoires devrait être considéré comme un manquement aux WCAG 2, tout comme l'utilisation d'images CSS pour afficher du contenu essentiel (Technique F3).

Cas n° 4 :

Il arrive parfois qu’une note figurant avant (ou après) un formulaire précise que tous les champs sont obligatoires, sauf s’ils sont signalés comme facultatifs. Cela peut constituer un moyen efficace d’indiquer les champs obligatoires lorsque seule une minorité d’entre eux est facultative. Le texte « facultatif » est associé par programmation aux champs pour lesquels la saisie n’est pas obligatoire.

Dans ce cas, l'utilisation de l'attribut `aria-required=true` n'est pas obligatoire pour respecter les WCAG 2. Si cet attribut est utilisé, certains utilisateurs pourraient le trouver utile, tandis que d'autres pourraient ne pas être d'accord. Tout dépend du contexte.

Si le terme « facultatif » n'est pas associé aux champs non obligatoires, la solution consiste soit à établir cette association, soit à utiliser l'attribut `aria-required=true` sur les champs qui nécessitent une saisie.

 

 

Conclusion :

Nous espérons que les informations ci-dessus aideront les auteurs de contenu à déterminer dans quels cas il est plus simple d'utiliser la technique H90 (utilisation de l'élément `label` ou `legend` pour indiquer les champs obligatoires) ou l'attribut `aria-required=true` afin de se conformer aux WCAG 2.

Il est vrai que le fait d’indiquer clairement les champs obligatoires permet de réduire au minimum les erreurs de validation des données saisies. Mais il s’agit là d’une question de fonctionnalité et d’ergonomie qui relève de la responsabilité de l’auteur du contenu. De plus, le respect des critères SC 3.3.1 niveau A (Indication d’erreur) et SC 3.3.3 niveau AA (Suggestion en cas d’erreur) sera moins contraignant s’il y a moins de violations liées à la saisie. Cependant, ces critères ne portent pas sur l’indication appropriée des champs obligatoires.

 

Références :

Sailesh Panchang est consultant principal en accessibilité chez Deque Systems

 

Sailesh Panchang

Sailesh Panchang

L’un des premiers collaborateurs d’ Deque, Sailesh possède une grande expérience dans la réalisation d’évaluations d’accessibilité de contenus Web et de logiciels, en combinant des techniques de test automatisées et manuelles, notamment des revues de code. De plus, il aide les clients d’ Deque à se familiariser avec les outils d’ Dequeet à les utiliser efficacement. Sailesh maîtrise parfaitement l’application des techniques d’accessibilité pour le HTML et WAI-ARIA afin de se conformer à la Section 508, aux WCAG et à des législations telles que l’Air Carrier Access Act (ACAA). Sailesh utilise lui-même des technologies d’assistance et s’appuie sur des logiciels de lecture d’écran tels que JAWS, NVDA, VoiceOver et TalkBack.

Recevez les articles de blog directement dans votre boîte mail

Pas de bavardages inutiles, mais des informations concrètes sur l'accessibilité, fournies par des experts qualifiés.

Vous acceptez que Deque , utilise et partage des informations conformément à Dequedéclaration de confidentialité. Vous pouvez modifier votre consentement à tout moment en nous contactant.

En savoir plus sur ce sujet

Test your custom elements and trust the results with Axe-core’s support for ElementInternals

Wilco Fiers 400 x 400 1 300 x 300
August 27, 2026 By Wilco Fiers

If you're a large enterprise organization with accessibility issues resulting from interoperability challenges, moving to ElementInternals is a savvy move. You can standardize, and safely test. And, with Axe-core now supporting ElementInternals, you can test those components and trust the results.

Lire l'article
A testing flow, depicting a single custom button scanned by Axe-core for React, Angular or Vue frameworks

Deque and Microsoft: Two decades of shaping the future of accessibility

cropped preety kumar400x400 300x300 1 1.jpg
August 25, 2026 By Preety Kumar

What started nearly two decades ago as conversations between two people passionate about improving accessibility across Microsoft's digital experiences has grown into a lasting partnership built on shared learning, mutual respect, and a common belief that accessibility should be built into every stage of software development.

Lire l'article
Preety Kumar and Jenny Lay-Flurrie conducting an interview, with the Seattle skyline in the background.