Formulaire

Nouveau critère 11.16 [AA] La finalité d’un champ de saisie peut-elle déduite pour faciliter le remplissage automatique des champs avec les données de l’utilisateur ?

  • Création d’un nouveau critère et d’un test associé.
  • Création d’une nouvelle entrée de glossaire "la liste des valeurs possibles pour l’attribut autocomplete"
Ajouter ma proposition
  • Proposition DINSIC | 26/11/2018 - 22:37

    Nouveau critère 11.16

    Raison de l'ajout du critère 11.16

    Ajout dans les WCAG 2.1 du critère 

    Intitulé du critère 11.16

    Critère 11.16 [AA] La finalité d’un champ de saisie peut-elle être déduite pour faciliter le remplissage automatique des champs avec les données de l’utilisateur.

    Principe WCAG : Perceptible

    Correspondances WCAG 2.1

    Critère(s) de succès WCAG 2.1 : 1.3.5

    giuseppe.rosa

    Il manque probablement un mot (dans "peut-elle déduite").

    • Pas d'accord 0 Pas d'accord

    DINSIC

    Bonjour,

    nous avons rajouté le mot manquant "être", merci pour votre retour.

    • Pas d'accord 0 Pas d'accord

    amaniez

    Ce nouveau critère 11.16 du RGAA doit permettre d'évaluer la conformité au critère de succès WCAG 1.3.5 (https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html), que l'on pourrait traduire par : identifier la nature de la saisie attendue.

    Premièrement, il semble manquer la définition du champ d'application du critère, nommé dans ce nouveau critère rgaa 11.16 par : "objet se rapporte à une information concernant l’utilisateur". Ce champ d'application est définit dans la section Input purposes for user interface components de WCAG 2.1 (https://www.w3.org/TR/WCAG21/#input-purposes).

    Ensuite, WCAG énumère plusieurs méthodes pour atteindre cet objectif d'identification des champs :

    • l'ajout d'un attribut autocomplete avec une valeur appropriée (tel que le nouveau critère que vous proposez le décrit)
    • l'utilisation de metadata, comme schema.org qui est relativement mature et semble comporter tous les éléments pour répondre au champ d'application. Ces métadonnées sont aujourd'hui une méthode assez répandue et très supportée par les navigateurs (https://developer.mozilla.org/fr/docs/Web/HTML/Attributs_universels/item...).
    • l'utilisation des attributs définis par la spécification Personalization Semantics Content Module (https://w3c.github.io/personalization-semantics/content/), spécifiquement la section "field". Le problème est que cette spécification n'est pas encore une recommandation, le support navigateur et des technologies d'assistance est donc certainement lacunaire sinon inexistant.

    Avez-vous étudié ces différentes méthodes ? Il serait peut être souhaitable de prévoir leur utilisation dans l'écriture du test ?

    De plus, si l'auto-remplissage des formulaires est une demande du SC, alors il faudrait interdire l'utilisation de la valeur off pour l'attribut autocomplete., qui peut être présent tant sur les champs que sur la balise form.

    Enfin, l'attribut autocomplete peut recevoir plusieurs valeurs, séparées par des virgules, il faut donc prévoir ce cas dans l'écriture du test.

    Proposition :

    11.16 Pour chaque champ de formulaire qui attend une 'donnée personnelle', la nature de la saisie est-elle identifiable par les technologies d'assistance ?

    Test 11.16.1 Chaque champ de formulaire qui attend une 'donnée personnelle' vérifie-t-il une de ces conditions ?

    • Le champ possède un attribut autocomplete.
    • Le champ est pourvu d'un 'attribut exploitable par les technologies d'assistance'. (Dans le cas où on considère d'autres méthodes que l'attribut aucotomplete)

    Test 11.16.2 Chaque champ de formulaire qui attend une 'donnée personnelle' qui utilise un attribut autocomplete, vérifie-t-il ces conditions ?

    • Une des valeurs de l'attribut autocomplete est cohérente avec la saisie attendue ;
    • La valeur de l'attribut autocomplete qui décrit la saisie est une 'valeur conforme' ;
    • L'attribut autocomplete est dépourvu de valeurs qui ne sont pas cohérentes avec la saisie attendue.

    Test 11.16.3 Pour chaque champ de formulaire qui attend une 'donnée personnelle', l'attribut autocomplete ne possède pas la valeur false. Cette règle est-elle respectée ('hors cas particuliers') ?

    Test 11.16.4 Chaque formulaire (balise form) qui attend une ou des 'données personnelles' vérifie-t-il ces conditions ('hors cas particuliers') ?

    • L'attribut autocomplete est absent ;
    • L'attribut autocomplete ne possède pas la valeur false.

    Où :

    • "donnée personnelle" est une entrée de glossaire qui traduit la section Input Purposes for User Interface Components de WCAG 2.1 (https://www.w3.org/TR/WCAG21/#input-purposes) et qui permet de définir de manière stricte le champ d'application du critère.

    • "valeur conforme" est une entrée de glossaire qui traduit la section autofill-field de HTML52 (https://www.w3.org/TR/html52/sec-forms.html#autofill-field)

    • "attribut exploitable par les technologies d'assistance" est une entrée de glossaire qui explique qu'il existe d'autres méthodes d'implémentation (microdata et peut être la spec personalisation semantics?), qui explique leur niveau de maturité et leur support par les navigateurs.

    • "hors cas particuliers" pourrait venir décrire un cas particulier pour ce critère pour la condition de l'absence de valeur off dans l'autocomplete. Par exemple, pour des raisons de sécurité, il serait admis que l'autocompletion soit désactivée (off), notamment pour les données très critiques comme le code de carte bleue ou le mot de passe.

    • Pas d'accord 0 Pas d'accord

    amaniez

    Edit : erreur de rédaction sur le commentaire précédent, la valeur qui empêche l'autocompletion n'est pas false mais off.

    • Pas d'accord 0 Pas d'accord

    DINSIC

    Bonjour,

    S’agissant des modalités d’application du critère, la seule solution d'implémentation stable semble être l'usage de l'attribut autocomplete, les autres solutions envisagées dans WCAG ne possèdent pas actuellement un support et une harmonisation internationale suffisante. Il serait donc prématuré de faire reposer des tests sur cette base pour le moment très fragile. Une note technique apportera quelques précisions sur ce point.

    S’agissant de la valeur off pour l’attribut autocomplete :

    • La valeur de l’attribut autocomplete d’une balise form, peut toujours être surchargée par la valeur de l’attribut autocomplete d’un champ de formulaire. La valeur off n’est donc pas gênante pour la balise form puisque le test exige un attribut autocomplete correctement renseigné sur les champs concernés par le critère.

    S’agissant du caractère multivalué de l’attribut autocomplete :

    • La valeur de l’attribut autocomplete peut être composée de différentes valeurs séparées par un espace (et non par une virgule). Certaines des valeurs possibles sont optionnelles et permettent de préciser une information de l’utilisateur dans le contexte du formulaire où elle apparaît (identification de la section de formulaire concernée, distinction entre adresse de paiement ou d'expédition, distinction du type de numéro de téléphone, fax, portable, maison, etc).
    • Le test ne suppose pas que la valeur de l’attribut autocomplete soit unique, mais simplement que lorsqu’il se trouve une valeur se rapportant à l’utilisateur, elle soit conforme par rapport à la liste des valeurs disponibles et à la finalité du champ.

    En conséquence nous envisageons l'évolution suivante de l'intitulé du critère 11.16 et du test 11.16.1

    Critère 11.16 [AA] La signification de l’information utilisateur attendu dans les champs de formulaires peut-elle être déterminée ? (hors cas particulier)

    Test 11.16.1 : Chaque champ de formulaire dont la signification de l'information utilisateur attendu lors de la saisie correspond à une de celles présentes dans la liste pour l'attribute autocomplete, vérifie-t-il ces conditions (hors cas particulier) ?

    • Le contrôle de formulaire possède un attribut autocomplete,
    • L’attribut autocomplete est pourvu d’une valeur présente dans la liste pour l’attribut autocomplete,
    • La valeur indiquée est pertinente au regard de la signification de l’information utilisateur attendu.
    • Pas d'accord 0 Pas d'accord

    sdeschamps

    Bonjour,

    « L’attribut autocomplete est pourvu d’une valeur présente dans la liste pour l’attribut autocomplete, » me semble difficile à lire (serpent qui se mord la queue ;) ), proposition : « L’attribut autocomplete est pourvu d’une valeur conforme à [liste] » + lien vers la liste des valeurs autorisées.

    • Pas d'accord 0 Pas d'accord

    sdeschamps

    Edit : le test 11.16.1 montre un texte souligné, j'en déduis que ce sera un lien. Merci d'ignorer mon commentaire si c'est bien le cas.

    • Pas d'accord 0 Pas d'accord

    Annecav

    Sur le plan strict de la formulation, la proposition d'amaniez :

    "11.16 Pour chaque champ de formulaire qui attend une 'donnée personnelle', la nature de la saisie est-elle identifiable par les technologies d'assistance ?"

    me semble plus compréhensible que la proposition DINSIC.

    • Pas d'accord 0 Pas d'accord

    DINSIC

    Bonjour, nous pourrions envisager la formulation suivante :

    11.16 Chaque champ de formulaire qui attend une 'donnée utilisateur', vérifie-t-il ces conditions (hors cas particulier) ?

    • Le contrôle de formulaire possède un attribut autocomplete,
    • L’attribut autocomplete est pourvu d'au moins une valeur conforme au regard de la signification de la 'donnée utilisateur' attendu.

    Donnée utilisateur serait alors une entrée de glossaire listant l'ensemble des paires signification / valeur

    • Pas d'accord 0 Pas d'accord

    amaniez

    Bonjour,

    Merci pour cette prise en compte et cette réecriture.

    Par contre il reste de la complexité dans l'écriture, notamment de la seconde condition qui demande en fait implicitement de tester deux éléments. Or une condition ne devrait tester qu'un élément et n'attendre qu'une validation.

    "L’attribut autocomplete est pourvu d'au moins une valeur conforme au regard de la signification de la 'donnée utilisateur' attendu."

    Ici en fait il s'agit de s'assurer que :
    - la valeur est une valeur valide de la spécification.
    - la valeur est conforme a l'attendu (pour un champ "nom" on s'attend a avoir "name" et par "address" par exemple).

    Enfin, puisqu'il est possible d'avoir plusieurs valeurs dans le champ autocomplete, il faut s'assurer que même une fois que la condition "au moins une valeur est conforme" est validé, d'autres valeurs non conformes puissent être détectés. Sinon on aura des faux positifs dans les cas suivants : <label for="name"><input type="text" id="name" autocomplete="name address">.

    Je propose (et persiste :-)) donc de découper votre seconde condition en deux conditions, et d'ajouter cette condition sur l'absence de valeurs non cohérentes avec la saisie attendue.

    11.16 Chaque champ de formulaire qui attend une 'donnée utilisateur', vérifie-t-il ces conditions (hors cas particulier) ?

    - Le contrôle de formulaire possède un attribut autocomplete ; - Une des valeurs de l'attribut autocomplete est cohérente avec la saisie attendue ; - L'attribut autocomplete est dépourvu de valeurs qui ne sont pas cohérentes avec la saisie attendue ; - La valeur de l'attribut autocomplete qui décrit la saisie attendu est une 'valeur conforme'.

    ========

    Concernant le support.

    Effectivement, comme vous le soulignez "La valeur de l’attribut autocomplete d’une balise form, peut toujours être surchargée par la valeur de l’attribut autocomplete d’un champ de formulaire. La valeur off n’est donc pas gênante pour la balise form puisque le test exige un attribut autocomplete correctement renseigné sur les champs concernés par le critère."

    Mais dans IE11 par exemple, il semble que la présence de la prop autocomplete avec la valeur off sur la balise form empêche le mécanisme d'autocompletion de fonctionner, et ce bien que les champs de formulaires qui y sont contenus aient un attribut autocomplete déclaré.


    &lt;form autocomplete="off"&gt; &lt;input type="text" autocomplete="name"/&gt; &lt;input type="text" autocomplete="username"/&gt; &lt;input type="submit"/&gt; &lt;/form&gt;

    A minima une note technique sur le support d'autocomplete peut-être ?

    • Pas d'accord 0 Pas d'accord

    DINSIC

    Bonjour,
    * Concernant votre première remarque, nous conservons effectivement trois conditions pour distinguer les différents aspects suivants : présence, validité et pertinence.
    * Concernant votre seconde remarque, nous ne souscrivons pas à votre position, car s’il est possible d’avoir plusieurs valeurs pour l’attribut autocomplete, ces différentes valeurs ne peuvent être n’importe lesquelles et leur ordre d’apparition doit obéir à l’algorithme présent dans la spécification HTML5.2. Aussi, l’exemple que vous prenez n’est pas valide (autocomplete="name address »), car un attribut autocomplete ne peut jamais contenir qu’une valeur de type "field name", comme name ou street-address (address n’est pas une valeur possible). On pourrait cependant avoir, par exemple, autocomplete="shipping name" ou autocomplete="section-software shipping street-address" : "section-software" renvoie à une valeur de type "scope" et  "shipping" à une valeur de type "hint set". Pour plus de précisions, voir la spécification : https://www.w3.org/TR/html52/sec-forms.html#autofill-processing-model.
    * Concernant votre troisième remarque, IE11 n’est finalement pas concerné par le critère, car le support de valeurs autre que « on » et « off » pour l’attribut autocomplete n’était pas encore prévu au moment de son implémentation.
    Ces remarques restent judicieuses et plaident, en effet, pour l’ajout d’une note technique sur le sujet.

    • Pas d'accord 0 Pas d'accord

  • Proposition DINSIC | 26/11/2018 - 22:36

    Ajout du test 11.16.1

    Nouveau test 11.16.1

    Test 11.16.1 : Chaque contrôle de formulaire dont l’objet se rapporte à une information concernant l’utilisateur vérifie-t-il ces conditions ?

    • Le champ de formulaire possède un attribut autocomplete.
    • L’attribut autocomplete est pourvu d’une valeur présente dans la liste des valeurs possibles pour l’attribut autocomplete associés à un champ de formulaire.
    • La valeur indiquée est pertinente au regard du type d’information attendu.

    Mise(s) à jour

    • le 18/01/2019 suite à commentaire Aca 15/01/2019 - 16:01 

    Aca

    Erreur dans intitulé du sous-titre : "Nouveau test 11.14.6" qui devrait être "Nouveau test 11.16.1"

    • Pas d'accord 0 Pas d'accord

    DINSIC

    Bonjour,

    Merci de votre retour nous avons corrigé l'erreur.

    • Pas d'accord 0 Pas d'accord

  • Proposition DINSIC | 26/11/2018 - 22:35

    Correspondance WCAG critère 11.16

    Critère(s) de succès WCAG :1.3.5

    Technique(s) suffisante(s) et/ou échec(s) WCAG : H98

Retour en haut