Skip to Main Content

Champs de saisie

Les champs de saisie permettent à l’utilisateur de partager des renseignements requis afin d’accomplir une tâche.

Utilisez-les lorsque :

  • Les utilisateurs doivent saisir de l’information qui se communique le mieux sous forme de texte.
  • Vous devez recueillir des renseignements qui varient d’un utilisateur à un autre et ne peuvent pas être présentés comme un ensemble de choix prédéterminé.

Composant interactif

Voici l’emplacement du texte du message d’erreur.

Voici l’emplacement du texte du champ Suggestion.

Ici, limite de 200 caractères

Ici, limite de 200 caractères

Voici l’emplacement du texte du message d’erreur.

Intégration des bibliothèques

Utilisez le code ci-dessous pour ajouter cet élément à votre projet. Téléchargez la dernière version de la bibliothèque pour implémenter facilement notre ensemble complet d’éléments.

Angular

Étape 1. Installer

Effectuer la commande suivante pour installer ce composant.

npm i [NPM-PLACE-HOLDER]/ds-input-field

Étape 2. Importer

Importer les éléments suivants dans votre dossier app.module.ts.

import { DsInputFieldModule} from 'ds-input-field';

Extraits de code

Champ de saisie
<cpc-ds-input-field
    labelText = "Full name"
    fieldValue = "This is text"
    [formControl]="fullNameFormControl"
    id = 'fullName'>
</cpc-ds-input-field>
Désactivé
<cpc-ds-input-field
    labelText = "Full name"
    fieldValue = "This is text"
    [formControl]="disableFullNameFormControl"
    id = 'fullName'>
</cpc-ds-input-field>
Lecture seule
<cpc-ds-input-field
    labelText = "Full name"
    fieldValue = "This is text"
    [readOnlyField] = "true"
    [formControl]="fullNameReadOnlyFormControl"
    id = 'fullName'>
</cpc-ds-input-field>
Texte indicatif
<cpc-ds-input-field
    labelText = "Full name"
    hintText = "Don't disclose personal infos"
    fieldValue = "This is text"
    [readOnlyField] = "false"
    (click)="beep()"
    [formControl]="fullNameFormControl"
    id = 'fullName'>
</cpc-ds-input-field>
Le mot de passe
<cpc-ds-input-field
    labelText = "Password"
    type="password"
    id = 'password'>
</cpc-ds-input-field>
Zone de texte
<cpc-ds-input-field
    id = 'additionalDetails'
    inputFormat = "textAreaType"
    [formControl]="textareaFormControl"
    labelText = "Additional Information"
    [showMaxLengthLabel] = "true"
    [maxchar] = "140">
</cpc-ds-input-field>
Propriétés
Nom Type Défaut Description
id string id

Identifiant du champ de saisie.

inputFormat string  

Deux formats sont disponibles :

  • Text field
  • Text area

Library will show a text field by default. If you want textarea, utilisez inputFormat "textAreaType"

name string txt

Le nom du champ de saisie.

type string text

Deux types sont disponibles :

  • text
  • password
labelText string  

Texte de l’étiquette.

hintText string  

Texte indicatif pour le champ.

readOnlyField boolean false

Rendre le champ en lecture seule.

showMaxLengthLabel boolean false

Montrer la longueur maximale disponible dans textarea.

maxchar number 120

Le nombre de caractères permis dans textarea.

formControl Form control  

FormControl pour le champ de saisie.

fullNameFormControl = new FormControl({ value: 'TEST', disabled: false }, [Validators.required]);

(click) event  

Appelez votre méthode click event (événement click).

(click)="beep()"

HTML

Étape 1: Importer CSS

Importer les éléments suivants dans votre thème ou votre page.

<link type="text/css" href="[CSS-PLACE-HOLDER]" rel="stylesheet">

Étape 2: Importer JS

<script src="[JS-PLACE-HOLDER]"></script>

Extraits de code

Champ de saisie
<label for="fullname">Full name</label>
<input id="fullname" type="text" autocomplete="off">
Champ de saisie avec erreur
<label for="error">Full name *</label>
<input
 aria-required="true"
 aria-invalid="true"
 aria-describedby="errMsg2"
 id="error"
 type="text"
 class="error"
 autocomplete="off">
<div id="errMsg2" class="ds-error">Error message goes here</div>
Texte indicatif
<label id="fullnameHint">Full name</label>
<p id="hintText" class="hintText">Hint text goes here</p>
<input
 type="text"
 autocomplete="off"
 aria-labelledby="fullnameHint hintText">
Lecture seule
<!-- Read Only -->
<label for="fullnameReadonly">Full name</label>
<input
 id="fullnameReadonly"
 readonly
 value="Read only text here"
 type="text"
 autocomplete="off">
Désactivé
<label for="disabled">Full name</label>
<input
 aria-disabled="true"
 disabled
 id="disabled"
 class="disabled"
 type="text"
 autocomplete="off">
Zone de texte
<label 
 for="textarea" 
 id="textarea-label">
  Additional Information
</label>

<textarea 
 id="textarea" 
 maxLength="102" 
 aria-labelledby="textarea-label textarea-maxCharacter">
</textarea>

<p 
 id="textarea-maxCharacter" 
 class="maxCharacter">
  102 Character limit here
</p>
Zone de texte avec erreur
<label
 for="textarea2"
 id="textarea2-label">
  Additional Information
</label>

<textarea
 aria-invalid="true"
 aria-describedby="errMsg"
 aria-labelledby="textarea2-label textarea2-maxCharacter"
 id="textarea2"
 class="error"
 maxLength="10">
</textarea>

<p
 aria-live="polite"
 id="textarea2-maxCharacter"
 class="maxCharacter">
  10 Character limit here
</p>

<div
 id="errMsg"
 class="ds-error">
  Error message goes here
</div>

Lignes directrices générales

Les champs de saisie permettent aux utilisateurs de soumettre des données exclusives ou complexes.

De courts champs de saisie sont utiles pour les noms, les adresses ou tout autre élément d’information exclusif à chaque utilisateur.

Les champs de saisie longs (appelés zones de texte) sont tout indiqués pour recueillir des réponses qualitatives ou des données complexes.

Lorsqu’un utilisateur saisit un mot de passe, celui-ci doit être masqué, à moins qu’il choisisse de le révéler. Pour obtenir plus de renseignements, consultez la page intitulée Formulaires.

Positionnement

Tenez compte de la quantité et du type de renseignements demandés au moment de déterminer la longueur du champ. Alignez les étiquettes dans le haut et à gauche du champ de saisie pour permettre aux utilisateurs de les lire rapidement.

Les champs de saisie sont des composants de grande taille et occupent d’ordinaire la majeure partie d’un formulaire. Il s’agit d’un élément important à prendre en considération lors de la structuration des formulaires. Consultez la page intitulée Formulaires pour apprendre comment les intégrer de façon stratégique.

  • Gardez à l’esprit que la taille du champ de saisie est un indicateur visuel puissant. Des champs de grande ampleur donnent à penser qu’on attend des réponses plus étoffées alors que des champs plus courts sous-entendent des réponses brèves.

Texte d’assistance

Le texte d’assistance est un moyen efficace d’influencer les réponses des champs, mais il n’est pas toujours utile. Tenez compte de la valeur du texte d’assistance que vous intégrez à votre conception. Si vous n’êtes pas en mesure de justifier son ajout, supprimez-le!

Helper text

Interaction

États

Les champs de saisie peuvent avoir les états par défaut, de mise en évidence, actif et d’erreur.


  • Par défaut
    Dans cet état, l’utilisateur n’a pas accédé au champ, mais il est en mesure de le faire.
  • Prénom
    Dans cet état, un utilisateur a accédé au champ de saisie sans souris. Le champ se trouve dans un encadré bleu et peut être activé en saisissant du texte ou en appuyant sur la barre d’espacement.
  • Désactivé
    Dans l’état désactivé, un champ de saisie est visible, mais il est impossible de l’utiliser. Les couleurs pâles permettent de distinguer les champs de saisie désactivés des champs de saisie activés.
  • Lecture seulement
    Dans cet état, le contenu d’un champ de saisie est visible, mais il n’est pas interactif. Les couleurs pâles permettent d’indiquer qu’aucune interaction avec le champ n’est possible. Cet état est habituellement utilisé lorsqu’un procédé d’arrière-plan (UGS, numéro de commande, etc.) a généré un champ de saisie.

Par défaut

Default

Prénom

Focus

Désactivé

Disabled / Read-only

Rétroaction

Messages d’erreur :

Messages d’erreur

Lors de la validation du formulaire, des messages d’erreur s’affichent lorsque l’utilisateur a fourni des renseignements inexacts ou n’a pas respecté au moins une exigence. Fournissez le contexte afin que l’utilisateur puisse corriger ses erreurs. Apprenez-en davantage sur la validation des formulaires par rapport à la validation en temps réel.

Texte d’espace réservé

Si un utilisateur doit saisir des renseignements selon un format précis, veuillez l’indiquer clairement. Ne vous fiez pas seulement au texte d’espace réservé, car il disparaît rapidement et n’est pas toujours lu par les technologies d’assistance. Plutôt, expliquez les exigences de formatage à l’aide d’un texte explicatif sous le champ.

De nombreux champs de saisie prennent en charge une variété de formats de saisie, traduisant de façon automatique les données en une structure formelle au moment de la soumission. Par exemple, lors de la saisie d’un code postal, les utilisateurs peuvent choisir n’importe quelle combinaison de majuscules, de minuscules, d’espace, d’absence d’espace et de tiret. Ces données sont validées après la soumission, « traduites » dans le format approprié, puis saisies par votre formulaire. Dans de tels cas, il n’est pas nécessaire d’indiquer une exigence relative à un formatage précis.

Focus
  • Si faire se peut, laissez vos champs ouverts le plus possible. Si la validation du formulaire peut permettre de traiter les erreurs dans le système dorsal, ne surchargez pas votre conception en les traitant également dans le système frontal.

Facteurs à prendre en compte en matière d’accessibilité

Lecteurs d’écran

Utilisez les étiquettes de champ pour vous assurer que les champs de saisie sont annoncés lorsqu’ils sont mis en évidence.

Texte d’espace réservé

Les technologies d’assistance ne traitent pas le texte d’espace réservé comme des étiquettes. Certains ne sont pas pris en charge et ne sont pas affichés dans les anciens navigateurs Web. Les utilisateurs pourraient même penser que le formulaire est déjà rempli.

Dans la mesure du possible, écrasez un texte explicatif sur le texte d’espace réservé. Fournissez les renseignements dont l’utilisateur a besoin pour remplir le formulaire.

Spécifications du design

Sizes and spacing

Lignes directrices générales

Écrivez les étiquettes de champs de saisie en langage clair. Indiquez aux utilisateurs ce qu’ils doivent saisir dans les champs.

  Lignes directrices Exemples
Longueur recommandée 1 à 3 mots pour les étiquettes Date
Saut de ligne À éviter Nom
Formulation Un nom ou un groupe de mots qui agit comme une unité Code de promotion
Majuscule Majuscule en début de phrase Autres directives pour le ramassage

À faire et à ne pas faire

Champs obligatoires et facultatifs

Pour les formulaires avec cinq champs différents ou plus (champs obligatoires et facultatifs), il est utile d’ajouter l’énoncé suivant.

« Tous les champs doivent être remplis, à moins qu'ils ne soient facultatifs. »

Ajoutez le mot « (facultatif) » entre parenthèses à côté de l’étiquette d’un champ de saisie facultatif.

  • Description (facultatif)
  • Facultatif : Code postal

Exemples

Utilisez des exemples pour compléter les étiquettes de champs de saisie lorsque des précisions pourraient être utiles. La microcopie supplémentaire peut indiquer la façon de formater les entrées dans les champs et aider les utilisateurs à voir rapidement ce qu’ils doivent saisir. Donner des exemples aux utilisateurs peut améliorer l’efficacité et les aider à éviter les erreurs.

  • Numéro de client
    Exemple : 1234567
  • Numéro de client

Messages d’erreur

Rédigez des messages d’erreur qui mettent l’accent sur les instructions et la façon dont les utilisateurs peuvent régler rapidement le problème pour poursuivre. Les messages d’erreur doivent être utilisés pour informer les utilisateurs, plutôt que de seulement fournir des commentaires négatifs. Le ton des messages d’erreur doit être poli et constructif. Vous pouvez offrir une solution de rechange au moyen d’un lien, s’il est possible que l’utilisateur ait besoin d’autre chose. Évitez les codes de message d’erreur, utilisez un langage clair et limitez le texte.

  • Nous ne pouvons pas accéder aux renseignements sur la carte de crédit par défaut ou les modifier.

Questions d’accessibilité

Messages d’erreur accessibles

Utilisez des messages d’erreur accessibles qui sont visibles pour la technologie d’assistance et redirigent les utilisateurs vers les entrées correspondantes. S’il y a plusieurs erreurs, ajoutez un aperçu des messages d’erreur qui mènera l’utilisateur aux erreurs.

Aperçu du message d’erreur accessible

 

Message d’erreur accessible

Exemples de codes

Section de base

Veuillez noter que ce composant pourrait nécessiter un élément de style supplémentaire.

Angulaire 2

<matInput> est une directive qui permet aux éléments <input> et <textarea> natifs de fonctionner avec <mat-form-field>.

Veuillez noter que ce composant pourrait nécessiter un élément de style supplémentaire.



Mendix

Pour créer un champ de saisie, utilisez les éléments de zone Textbox ou Text dans la trousse d’outils à droite.

Les styles de ces éléments devraient être appliqués automatiquement ainsi que les styles de leurs états d’erreur.

La trousse d’outils Mendix se trouve ici.

Meilleures pratiques

  • Un champ de saisie est utilisé pour saisir du texte sur une seule ligne.
  • Chaque champ doit être précédé d’une étiquette qui décrit la saisie attendue.
  • Du texte de remplissage peut être utilisé pour aider l’utilisateur à faire la saisie.

Lignes directrices

Interaction avec le clavier

Lorsque le champ de saisie est mis en évidence :

  • Touche de tabulation : Fait passer la cible du clavier à l’élément interactif suivant sur la page.
  • Combinaison des touches « Maj + Tab » : Fait passer la cible du clavier à l’élément interactif précédent sur la page.
  • Touches des caractères : Permettent de saisir les caractères dans la boîte de texte.
  • Flèche gauche : Passe au caractère précédent dans le champ de saisie.
  • Flèche droite : Passe au caractère suivant dans le champ de saisie.

Champs de saisie automatique

Les attributs de saisie automatique facilitent la tâche des personnes qui ont une dextérité réduite ou une incapacité cognitive. Pour en savoir plus, veuillez consulter la liste complète des types de saisie automatique HTML 5.2 (en anglais seulement – lien partagé avec l’autorisation de W3C).

Indication de la limite de caractères d’une zone de texte

Les personnes qui utilisent un lecteur d’écran doivent être en mesure de connaître la limite de caractère de la zone de texte. Voici la meilleure façon de procéder :

  • Ajouter un compteur de caractères visible. Le compteur de caractères peut aussi être associé à la balise au moyen de l’attribut aria-labelledby.
  • Insérer à certains endroits précis un attribut aria-live=”polite” qui permet d’indiquer au lecteur d’écran le nombre de caractères restants (0 caractère restant, maximum de caractères atteint, [75 %, 50 %, 25 %, 10 %] de caractères restants, etc.).

Rôles et propriétés ARIA

Les rôles et propriétés WAI-ARIA suivants peuvent être associés aux champs de saisie et aux éléments de la zone de texte :

  • Utiliser un élément de HTML <input> natif de type type=”text” pour la saisie sur une ligne unique ou une balise HTML <textarea> pour la saisie multiligne. Il est possible d’ajouter l’attribut role="textbox" à l’élément lors de la conception d’un <input> personnalisé; il faut toutefois privilégier les éléments HTML natifs.
  • Il faut configurer l’attribut aria-required="true" de façon à communiquer les champs obligatoires aux personnes qui utilisent un lecteur d’écran.
  • Aria-invalid=”true” pour un champ comportant une erreur.
  • Aria-disabled=”true” pour un champ désactivé.
  • Propriété « readonly » sur le champ readonly.
  • Aria-live=”polite” pour la chaîne de texte indiquant la limite de caractères aux lecteurs d’écran. La chaîne est annulée dès que la personne appuie sur une touche.
  • Les balises, le texte d’aperçu (le cas échéant) et la chaîne du compte de caractères (le cas échéant) sont associés au champ au moyen de l’attribut aria-labelledby. L’attribut prend la valeur des identificateurs (séparés par une espace) des éléments contenant chaque balise.
  • Le texte d’erreur (le cas échéant) est associé au champ au moyen de l’attribut aria-describedby. L’attribut prend la valeur de l’identificateur de la chaîne d’erreur.

Test

Au moment de tester un champs de saisie, la personne effectue le test doit s’assurer de ce qui suit :

  • Est entièrement accessible au moyen du clavier.
  • Les indications des éléments mis en évidence sont claires et bien en vue.
  • Les propriétés ARIA sont exactes.
  • Les indicateurs visibles des champs obligatoires (p. ex., « * ») sont définis dans la partie supérieure du formulaire.
  • Les limites de caractères (le cas échéant) sont indiquées au lecteur d’écran.
  • Le lecteur d’écran annonce la balise du champ, les renseignements sur le rôle du champ, le texte d’aperçu (le cas échéant), le message d’erreur (le cas échéant), le nombre de caractères (le cas échéant) et les propriétés ARIA connexes (p. ex., « obligatoire » ou « invalide »).
  • Les personnes qui utilisent un appareil mobile ont accès au type de clavier approprié (p. ex., clavier de courriel pour les champs de courriel).

Contenu connexe