Test 11.10.2

Les champs obligatoires ayant l’attribut aria-required="true" ou required vérifient-ils une de ces conditions ?

Une indication de champ obligatoire est visible et permet d’identifier nommément le champ concerné avant sa saisie.

Une indication de champ obligatoire est visible et située dans l’étiquette associée au champ avant sa saisie.

Une indication de champ obligatoire est visible et située dans le passage de texte associé au champ avant sa saisie.

Une indication de champ obligatoire est visible et située dans la légende associée au groupe de champs avant sa saisie.

Méthodologie 11.10.2

  1. Retrouver dans le document les champs de formulaire obligatoires qui possèdent un attribut aria-required="true" ou required.
  2. Pour chaque champ de formulaire, vérifier qu’avant sa saisie :
    • soit une indication de champ obligatoire est visible et permet d’identifier nommément le champ concerné ;
    • soit une indication de champ obligatoire est visible et située dans l’étiquette associée au champ ;
    • soit une indication de champ obligatoire est visible et située dans le passage de texte associé au champ ;
    • soit une indication de champ obligatoire est visible et située dans la légende associée au groupe de champs.
  3. Si c’est le cas, le test est validé.

Tests suivants et précédents au clavier

Test précédent : Maj +

Test suivant : Maj +

Avec ces raccourcis clavier, atteindre

Éléments et attributs

aria-required='true' required

Note technique du critère 11.10

Le test 11.10.1 et le test 11.10.2 traitent des champs de manière indépendante, néanmoins, il faut garantir que la méthode choisie pour avertir les utilisateurs (champs obligatoires ou champs facultatifs) soit cohérente sur l’ensemble du formulaire.

Cas particuliers du critère 11.10

Le test 11.10.1 et le test 11.10.2 seront considérés comme non applicables lorsque :

  • le formulaire comporte un seul champ de formulaire ;

  • le formulaire comporte uniquement un champ d’identifiant et un champ de mot de passe (dans le cas d’un formulaire d’identification).

Dans le cas où l’ensemble des champs d’un formulaire sont obligatoires, les tests 11.10.1 et 11.10.2 restent applicables.

Définitions

Champ de saisie de formulaire

Objet d’un formulaire permettant à l’utilisateur :

  • De saisir des données textuelles ou préformatées :
    • input type="text" ;
    • input type="password" ;
    • input type="search" ;
    • input type="email" ;
    • input type="number" ;
    • input type="tel" ;
    • input type="url" ;
    • textarea.
  • De sélectionner des valeurs prédéfinies :
    • input type="checkbox" ;
    • input type="radio" ;
    • input type="date" ;
    • input type="range" ;
    • input type="color" ;
    • input type="time" ;
    • input type="month" ;
    • input type="week" ;
    • input type="datetime-local" ;
    • select ;
    • datalist ;
    • optgroup ;
    • option.
  • De télécharger des fichiers :
    • input type="file".
  • Ou d’afficher des résultats :
    • output ;
    • progress ;
    • meter.
  • Les balises possédant un rôle WAI-ARIA permettant de restituer un champ de formulaire sont également couvertes par cette définition :
    • progressbar ;
    • slider ;
    • spinbutton ;
    • textbox ;
    • listbox ;
    • searchbox ;
    • combobox ;
    • option ;
    • checkbox ;
    • radio ;
    • switch.
  • Les objets de formulaires et rôle WAI-ARIA suivants ne sont pas considérés comme des champs de formulaires :
    • input type="submit" ;
    • input type="reset" ;
    • input type="hidden" ;
    • input type="image" ;
    • input type="button" ;
    • button ;
    • attribut WAI-ARIA role="button".
Contrôle de saisie (formulaire)

Ensemble des processus qui permettent de prévenir l’utilisateur des champs obligatoires, des indications de type ou de format attendus et des erreurs de saisie dans un formulaire. Ces contrôles de saisie peuvent être implémentés par l’auteur des contenus ou s’appuyer sur des attributs (comme required ou pattern), des attributs WAI-ARIA (comme aria-required) ou des types de champ qui produisent de manière automatique des indications de saisie ou d’erreurs (comme les types url, email, date, time par exemple).

Formulaire

Un formulaire n’est pas obligatoirement contenu dans une balise <form> ou une balise possédant un attribut WAI-ARIA role="form".

Indication de champ obligatoire ou facultatif

Indication textuelle ou graphique (icône) permettant à l’utilisateur de savoir que la saisie d’un champ est obligatoire ou facultative préalablement à la saisie.

Note : Dans le cas où cette indication n’est pas réalisée de manière textuelle explicite (icône, “*”, “!”, etc.), l’explication de la signification de cette indication doit se situer, visuellement et dans l’ordre du code source, avant la première utilisation de l’indication.

Légende

HTML propose un dispositif permettant de titrer les groupes de champs de même nature par l’intermédiaire des éléments <fieldset> et <legend>.

Il est également possible de créer des regroupements avec le rôle WAI-ARIA group et un passage de texte, faisant office de légende, lié par l’attribut WAI-ARIA aria-labelledby ou fourni par un attribut WAI-ARIA aria-label.

Note 1 : Les regroupements de champs peuvent utiliser d’autres méthodes qui associent l’information du regroupement directement dans l’étiquette du champ. Par exemple, par l’intermédiaire d’un attribut title, d’un attribut WAI-ARIA aria-label, d’une liaison aria-labelledby faisant office d’étiquette ou encore par l’attribut WAI-ARIA aria-describedby associant un texte complémentaire. Dans ce cas, le regroupement de champs devient inutile puisque les labels sont suffisamment pertinents.

Note 2 : Lorsque le formulaire est constitué d’un seul bloc d’informations de même nature (l’identité et l’adresse de l’utilisateur, par exemple) ou d’un champ unique (un moteur de recherche, par exemple), le regroupement des champs n’est pas obligatoire.

Passage de texte lié par `aria-labelledby` ou `aria-describedby`

Il s’agit d’un ou de plusieurs passages de texte identifiés par des id dont la valeur est unique dans la page et associés à un élément (champ de formulaire, bouton, etc.) par les attributs WAI-ARIA aria-labelledby ou aria-describedby sur le modèle suivant : aria-labelledby="ID1 ID2 ID3…" où la valeur de l’attribut utilisé est égale à la liste des valeurs d’attributs id des passages de texte à associer présents dans la page.

Note 1 : la valeur des attributs WAI-ARIA aria-labelledby ou aria-describedby ne doivent pas créer de référence récursive (A référence B qui référence A) ou traversante (A qui référence B qui référence C).