• Skip to main content
  • Skip to search
  • Skip to select language
MDN Web Docs
  • References
    • Overview / Web Technology

      Web technology reference for developers

    • HTML

      Structure of content on the web

    • CSS

      Code used to describe document style

    • JavaScript

      General-purpose scripting language

    • HTTP

      Protocol for transmitting web resources

    • Web APIs

      Interfaces for building web applications

    • Web Extensions

      Developing extensions for web browsers

    • Accessibility

      Build web projects usable for all

    • Web Technology

      Web technology reference for developers

  • Learn
    • Overview / MDN Learning Area

      Learn web development

    • MDN Learning Area

      Learn web development

    • HTML

      Learn to structure web content with HTML

    • CSS

      Learn to style content using CSS

    • JavaScript

      Learn to run scripts in the browser

    • Accessibility

      Learn to make the web accessible to all

  • Plus
    • Overview

      A customized MDN experience

    • AI Help

      Get real-time assistance and support

    • Updates

      All browser compatibility updates at a glance

    • Documentation

      Learn how to use MDN Plus

    • FAQ

      Frequently asked questions about MDN Plus

  • Curriculum New
  • Blog
    • Playground

      Write, test and share your code

    • HTTP Observatory

      Scan a website for free

    • AI Help

      Get real-time assistance and support

  • Log in
  • Sign up for free
  1. Technologies web pour développeurs
  2. HTML (HyperText Markup Language)
  3. Référence HTML
  4. Référence des éléments HTML
    • English (US)
    • Deutsch
    • Español
    • 日本語
    • Português (do Brasil)
    • Русский
    • 中文 (简体)

Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez également contribuer en rejoignant la communauté francophone sur MDN Web Docs.

Dans cet article

  • Exemple interactif
  • Les différents types de champs
  • Attributs
  • Méthodes
  • CSS
  • Fonctionnalités supplémentaires
  • Accessibilité
  • Spécifications
  • Compatibilité des navigateurs
  • Voir aussi
  1. HTML (HyperText Markup Language)
  2. Guides
  3. Catégories de contenu
  4. Comments
  5. Formats de date et d'heure utilisés en HTML
  6. Validation des contraintes
  7. Utilisation de la balise meta viewport pour contrôler la mise en page sur mobile
  8. Images adaptatives
  9. Microdonnées
  10. Microformats
  11. Mode quirks et mode standard
  12. Cheatsheet HTML
  13. How to
  14. Définir des termes avec HTML
  15. Utiliser les attributs de données
  16. Autoriser les images et canevas provenant d'autres origines
  17. Ajouter une carte de zones cliquables sur une image
  18. Astuces de création de pages HTML à affichage rapide
  19. Utiliser JavaScript au sein d'une page web
  20. Références
  21. Éléments
    1. Obsolète
    2. Obsolète

    3. Obsolète
    4. Obsolète
    5. Expérimental
    6. Obsolète
    7. Obsolète
    8. Obsolète

checkbox Une case à cocher qui permet de sélectionner/désélectionner une valeur.
color Un contrôle qui permet de définir une couleur, cela ouvre un sélecteur de couleur dans les navigateurs qui le prennent en charge.
date Un contrôle qui permet de saisir une date (composé d'un jour, d'un mois et d'une année mais sans heure), cela ouvre un sélecteur de date ou des roues numériques pour la sélection du jour/mois/année dans les navigateurs qui le prennent en charge.
datetime-local Un contrôle qui permet de saisir une date et une heure (sans fuseau horaire), cela ouvre un sélecteur de date ou des roues numériques pour la sélection de la date et de l'heure dans les navigateurs qui le prennent en charge.
email Un champ qui permet de saisir une adresse électronique, il ressemble à un champ de type text, mais possède des fonctionnalités de validation et l'adaptation du clavier pour les navigateurs et appareils qui ont des claviers dynamiques.
file Un contrôle qui permet de sélectionner un fichier. L'attribut accept peut être utilisé pour définir les types de fichiers qui peuvent être sélectionnés.
hidden Un contrôle qui n'est pas affiché mais dont la valeur est envoyée au serveur. Il y a un exemple dans la colonne à côté, mais il est caché !
image Un bouton graphique d'envoi du formulaire. L'attribut src doit être défini avec la source de l'image et l'attribut alt doit être défini avec le texte alternatif si l'image est absente.
month Un contrôle qui permet de saisir un mois et une année (sans fuseau horaire).
number Un contrôle qui permet de saisir un nombre, affichant des curseurs pour augmenter/réduire la valeur et disposant d'une validation par défaut lorsqu'elle est prise en charge. Un clavier numérique est affiché pour certains appareils avec des claviers dynamiques.
password Un champ texte sur une seule ligne dont la valeur est masquée et qui affichera une alerte si le site n'est pas sécurisé.
radio Un bouton radio qui permet de sélectionner une seule valeur parmi un groupe de différentes valeurs portant le même attribut name.
range Un contrôle qui permet de saisir un nombre dont la valeur exacte n'est pas importante. Le contrôle qui s'affiche est une jauge horizontale avec la valeur par défaut placée au milieu. On l'utilise avec les attributs min et max pour définir un intervalle des valeurs acceptables.
reset Un bouton qui réinitialise le contenu du formulaire avec les valeurs par défaut. Ce type d'élément n'est pas recommandé.
search Un champ texte sur une ligne pour des termes de recherche. Les sauts de ligne sont automatiquement retirés. Le contrôle peut disposer d'une icône permettant de réinitialiser le champ. Une icône de recherche est affichée à la place de la touche Entrée/ pour certains appareils avec des claviers dynamiques.
submit Un bouton qui envoie le formulaire.
tel Un contrôle pour saisir un numéro de téléphone, qui affiche un clavier téléphonique pour certains appareils avec des claviers dynamiques.
text La valeur par défaut de type. Un champ texte sur une seule ligne. Les sauts de ligne sont automatiquement retirés.
time Un contrôle pour saisir une valeur temporelle sans fuseau horaire.
url Un champ permettant de saisir une URL. Ce contrôle ressemble à un champ de type text, mais dispose de paramètres de validation et d'un clavier adapté pour les navigateurs et appareils qui le prennent en charge et qui ont un clavier dynamique.
week Un contrôle permettant de saisir une date représentée par un numéro de semaine et une année (sans indication de fuseau horaire).
Valeurs obsolètes datetime Obsolète Un contrôle pour saisir une date et une heure selon un fuseau horaire UTC.

Attributs

L'élément est l'un des éléments HTML les plus complexes et puissants en raison de ses attributs et notamment de type, le plus important. Chaque élément , quel que soit son type, étant basé sur l'interface DOM HTMLInputElement, ils partagent tous, techniquement, les mêmes attributs. Toutefois, certains attributs ne fonctionnent que pour certains types de champs et certains attributs fonctionnent spécifiquement selon le type de champ.

Dans cette section, nous verrons un tableau qui liste l'ensemble des attributs avec une rapide description. Ce tableau est suivi d'une liste plus détaillée de chaque attribut et des types auxquels ils sont associés. Les attributs communs à tous les types sont détaillés dans cet article, ceux qui sont uniques à certains types ou qui ont un comportement spécifique pour un type donné sont documentés sur les pages des types respectifs.

Sur cette page, vous trouverez des informations sur les attributs communs à l'ensemble des types d'éléments ainsi que la description de quelques attributs notables.

Les éléments peuvent utiliser les attributs universels et les attributs suivants :

Attribut Type(s) Description
accept file Une indication quant au type de fichier attendu pour l'upload
alt image Un texte alternatif à l'image, nécessaire pour une accessibilité correcte
autocapitalize tous sauf url, email et password Contrôle la mise en majuscule automatique du text saisie.
autocomplete tous sauf checkbox, radio et les boutons Une indication pour le remplissage automatique du formulaire
capture file La méthode de capture du média pour l'upload du fichier
checked radio, checkbox Indique si l'option est sélectionnée ou si la case est cochée
dirname hidden, text, search, url, tel, email Le nom du champ de formulaire à utiliser pour envoyer le sens d'écriture de l'élément à l'envoi du formulaire
disabled tous Indique si le contrôle est désactivé
form tous Associe un contrôle à un élément de formulaire
formaction image, submit L'URL à utiliser pour l'envoi du formulaire
formenctype image, submit L'encodage des données à utiliser pour l'envoi du formulaire
formmethod image, submit La méthode HTTP à utiliser pour envoyer le formulaire
formnovalidate image, submit Surcharge la validation du contrôle dictée par le formulaire pour l'envoi de ce dernier
formtarget image, submit Le contexte de navigation à utiliser pour l'envoi du formulaire
height image Analogue à l'attribut height de l'élément , la hauteur de l'image
list tous sauf hidden, password, checkbox, radio et les boutons La valeur de l'attribut id de l'élément fournissant les options d'autocomplétion
max date, month, week, time, datetime-local, number, range La valeur maximale
maxlength text, search, url, tel, email, password La longueur maximale (en nombre de caractères) de l'attribut value
min date, month, week, time, datetime-local, number, range La valeur minimale
minlength text, search, url, tel, email, password La longueur minimale (en nombre de caractères) de l'attribut value
multiple email, file Un booléen indiquant si plusieurs valeurs sont acceptées
name tous Le nom associé au contrôle et qui est envoyé avec le formulaire associé à la valeur sous la forme d'une paire nom/valeur
pattern text, search, url, tel, email, password Un motif que la valeur doit respecter afin d'être valide
placeholder text, search, url, tel, email, password, number Un texte qui apparaît dans le contrôle lorsqu'aucune valeur n'y est écrite
popovertarget button Définit un en tant que contrôle pour un élément popover
popovertargetaction button Définit l'action que le popover va devoir accomplir
readonly tous sauf hidden, range, color, checkbox, radio et les boutons Un booléen indiquant que la valeur n'est pas éditable
required tous sauf hidden, range, color et les boutons Un booléen indiquant que la valeur est requise ou que le contrôle doit être coché avant de pouvoir envoyer le formulaire
size text, search, url, tel, email, password La taille du contrôle
src image Analogue à l'attribut src de l'élément , indique l'emplacement de l'image
step date, month, week, time, datetime-local, number, range Un incrément pour les valeurs valides
type tous Le type de contrôle de formulaire
value tous sauf image La valeur initiale du contrôle
width image Analogue à l'attribut width de l'élément , la largeur de l'image

Certains attributs non-standard supplémentaires sont listés après les descriptions des attributs standard.

Attributs individuels

accept

Uniquement valide pour le type file, cet attribut définit les types de fichiers qui peuvent être sélectionnés. Voir la page détaillée sur .

alt

Uniquement valide pour le type image, cet attribut fournit un texte alternatif à l'image qui est affiché lorsque l'attribut src de l'image est absent ou que le chargement de l'image a échoué. Voir la page détaillée sur .

autocapitalize

Contrôle si le texte saisi doit être automatiquement mis en majuscule et, le cas échéant, de quelle manière. Voir la page de l'attribut universel autocapitalize pour plus d'informations.

autocomplete

Cet attribut n'est pas booléen ! Il prend comme valeur une chaîne de caractères dont les valeurs sont séparées par des espaces qui décrivent, le cas échéant, le type de fonctionnalité à fournir pour l'autocomplétion du champ. Généralement, l'implémentation de l'autocomplétion repose sur les valeurs précédemment saisies dans le même champ, mais le navigateur peut implémenter une forme d'autocomplétion plus avancée (par exemple intégrer la liste des contacts connue de l'appareil pour autocompléter les champs email). Voir la page sur cet attribut pour les valeurs autorisées. Cet attribut est valide pour les types de champ hidden, text, search, url, tel, email, date, month, week, time, datetime-local, number, range, color, et password. Il n'a pas d'effet pour les types de champs qui ne renvoient pas de données numériques ou text et est donc valide pour tous les types de champs à l'exception de checkbox, radio, file, ou des types de bouton. Voir la page de l'attribut HTML autocomplete pour plus d'informations, y compris sur la sécurité des mots de passe et sur la façon dont autocomplete s'applique légèrement différemment pour les champs de type hidden.

autofocus

Un attribut booléen qui, s'il est présent, indique que le contrôle devrait automatiquement recevoir le focus lorsque le chargement de la page est terminé (ou lorsque l'élément

qui contient ce contrôle a été affiché).

Note : Un élément avec l'attribut autofocus pourra recevoir le focus avant le déclenchement de l'évènement DOMContentLoaded.

Il ne peut pas y avoir plus d'un élément du document avec l'attribut autofocus. Si l'attribut est placé sur plus d'un élément, c'est le premier qui reçoit le focus.

L'attribut autofocus ne peut pas être utilisé sur les champs de type hidden, car ces derniers sont masqués et ne peuvent pas recevoir le focus.

Attention : Affecter le focus de façon automatique peut être source de confusion pour les personnes qui utilisent des lecteurs d'écran ou qui ont des difficultés cognitives. En effet, avec l'affectation d'autofocus, les lecteurs d'écran « téléportent » la personne jusqu'au contrôle, sans avertissement préalable.

On fera particulièrement attention à l'accessibilité en appliquant l'attribut autofocus. Le focus automatique peut entraîner le défilement de la page au chargement et faire apparaître le clavier logiciel sur certains appareils tactiles. Bien qu'un lecteur d'écran puisse annoncer le libellé du contrôle qui reçoit le focus, il n'annoncera rien avant le libellé. De même, une personne sans déficience visuelle sur un petit écran manquera certainement le contexte créé par le contenu qui précède.

capture

Cet attribut, introduit avec la spécification HTML Media Capture, est uniquement valide pour le type file. Il définit quel appareil (micro, caméra, appareil photo) qui devrait être utilisé pour capturer un nouveau fichier à uploader. Voir la page détaillée sur .

checked

Cet attribut booléen est valide pour les types radio et checkbox. Lorsqu'il est présent sur un contrôle de type radio, il indique que ce bouton radio sera celui sélectionné parmi le groupe de boutons radio qui partagent le même nom. Lorsqu'il est présent sur un contrôle de type checkbox, il indique que la case est cochée par défaut au chargement de la page. Attention, il n'indique pas que la case est actuellement cochée, si l'état de la case à cocher change, l'attribut ne reflète pas ce changement (seul l'attribut IDL HTMLInputElement.checked est mis à jour).

Note : À la différence des autres contrôles de saisie, la valeur d'une case à cocher ou d'un bouton radio est uniquement incluse dans les données envoyées s'ils sont sélectionnés. Si c'est le cas, le nom et la valeur des contrôles sélectionnés sont envoyés.

Ainsi, si une case à cocher dont l'attribut name vaut fruit et dont l'attribut value vaut cerise, si la case est cochée, les données envoyées avec le formulaire contiendront fruit=cerise. Si la case à cocher n'est pas active, elle ne fera pas partie des données envoyées. Pour les cases à cocher et les boutons radio, la valeur par défaut de l'attribut value est on.

dirname

Cet attribut, uniquement valide pour les types text et search, permet d'envoyer également le sens d'écriture de la valeur dans le formulaire. Lorsqu'il est présent, le contrôle du formulaire enverra deux paires nom/valeur : la première composée de name et value, et la seconde composée de la valeur de dirname comme nom et de ltr ou rtl comme valeur, indiquée par le navigateur.

html

  
  


Lorsque le formulaire précédent est envoyé, on aura l'envoi de deux paires de clé/valeur name/value d'une part avec fruit=cerise et dirname/sens d'écriture d'autre part avec fruit.dir=ltr.

disabled

Un attribut booléen qui, lorsqu'il est présent, indique qu'il n'est pas possible d'interagir avec le champ. Les champs désactivés sont généralement affichés avec une couleur plus sombre ou une autre forme d'indication pour signifier que le champ n'est pas utilisable.

Plus précisément, les champs désactivés ne reçoivent pas les évènements click et ne sont pas envoyés avec le formulaire.

Note : Bien que cela ne soit pas nécessaire selon la spécification, par défaut, Firefox fera persister l'état désactivé obtenu dynamiquement pour un champ même après des rechargements de la page. C'est l'attribut autocomplete qui contrôle cette fonctionnalité.

form

Une chaîne de caractères qui indique l'élément

auquel le contrôle est associé (on parle de son formulaire propriétaire). La valeur de la chaîne de caractères, si elle est présente, doit correspondre à la valeur d'un identifiant (l'attribut id) d'un élément du même document. Si cet attribut n'est pas défini, l'élément est associé au formulaire qui le contient le plus proche, s'il existe.

L'attribut form permet ainsi de placer un champ n'importe où dans le document tout en l'associant à un formulaire du document situé autre part.

Note : Un champ peut uniquement être associé avec un seul formulaire.

formaction

Uniquement valide pour les types image et submit. Voir la page détaillée sur .

formenctype

Uniquement valide pour les types image et submit. Voir la page détaillée sur .

formmethod

Uniquement valide pour les types image et submit. Voir la page détaillée sur .

formnovalidate

Uniquement valide pour les types image et submit. Voir la page détaillée sur .

formtarget

Uniquement valide pour les types image et submit. Voir la page détaillée sur .

height

Uniquement valide pour le type image, cet attribut indique la hauteur de l'image à afficher sur un bouton d'envoi graphique. Voir la page détaillée sur .

id

Un attribut universel, valide pour tous les éléments (y compris quel que soit le type), qui définit un identifiant unique au sein du document Son but est de pouvoir cibler un élément précis (pour la mise en forme ou pour créer un lien vers cet élément par exemple). C'est la valeur de cet attribut qui sera utilisée comme valeur de l'attribut for d'un élément pour relier le libellé au champ correspondant. Voir .

inputmode

Un attribut universel, valide pour tous les éléments, qui fournit une indication au navigateur quant au type de clavier virtuel à utiliser pour l'édition de l'élément ou de son contenu. Les valeurs possibles sont none, text, tel, url, email, numeric, decimal, et search.

list

La valeur fournie à l'attribut list doit être l'identifiant (l'attribut id) d'un élément situé dans le même document. L'élément fournit alors une liste de valeurs prédéfinies qui peuvent être suggérées pour la saisie dans le champ. Toute valeur de cette liste qui n'est pas compatible avec l'attribut type ne sera pas incluse dans les suggestions. Les valeurs ainsi fournies sont des suggestions et pas des contraintes, une personne pourra tout à fait choisir parmi cette liste ou fournir une valeur différente.

Cet attribut est valide pour les champs de type text, search, url, tel, email, date, month, week, time, datetime-local, number, range, et color.

Selon la spécification, l'attribut list n'est pas pris en charge pour les types hidden, password, checkbox, radio, file, et les types de bouton.

Selon le navigateur, on pourra avoir une palette de couleurs spécifiques en suggestion, des marques présentes sur la piste d'un curseur, voire un contrôle s'ouvrant comme un élément et .

name

Une chaîne de caractères qui fourni le nom associé au contrôle. Le nom est envoyé avec la valeur du contrôle lors de l'envoi du formulaire.

Cet attribut n'est pas strictement obligatoire mais devrait être utilisé dans la grande majorité des cas. Si un champ n'a pas d'attribut name ou que celui-ci est vide, la valeur du champ n'est pas envoyée avec le formulaire (à l'instar des contrôles désactivés, des boutons radio ou cases décochés, et des boutons de réinitialisation).

Il existe deux cas spéciaux :

  • _charset_ : Si cette valeur est utilisée comme nom pour un élément de type hidden, la valeur du champ est automatiquement renseignée par l'agent utilisateur et porte l'encodage de caractères utilisé pour l'envoi du formulaire.
  • isindex : Pour des raisons historiques, le nom isindex n'est pas autorisé.

L'attribut name possède un comportement particulier pour les boutons radio.

En effet, seul un bouton radio, parmi le groupe de boutons qui portent le même nom, peut être sélectionné à un moment donné. Sélectionner un des boutons radio du groupe déclenchera automatiquement la désélection de tout bouton du groupe précédemment sélectionné. C'est la valeur du bouton radio sélectionné qui est envoyé avec le nom lors de l'envoi du formulaire.

Lors de la navigation au clavier avec les tabulations, si un bouton est sélectionné, c'est celui-ci qui recevra le focus. Même si les boutons ne sont pas regroupés selon la source HTML, si un bouton du groupe est sélectionné, naviguer au clavier jusqu'à ce groupe passera tous les boutons non sélectionnés jusqu'au bouton sélectionné. Si aucun bouton du groupe n'est sélectionné, le groupe reçoit le focus lorsque le premier bouton du groupe est atteint au clavier.

Une fois le focus obtenu sur le groupe, on pourra utiliser les flèches du clavier pour naviguer entre les boutons radio du même groupe (c'est-à-dire partageant le même nom/name, et pas nécessairement groupés au sein de la source HTML).

Lorsqu'un élément possède un attribut name, ce nom devient une propriété de l'objet HTMLFormElement.elements associé au formulaire propriétaire. Ainsi, si on a un champ dont le nom est invite et un autre dont le nom est taille-chat, on pourra manipuler les données du formulaire en JavaScript comme suit :

js
let form = document.querySelector("form");

let nomInvite = form.elements.invite;
let tailleChat = form.elements["taille-chat"];

À l'exécution de ce code, nomInvite correspondra à l'objet HTMLInputElement associé au champ invite, et de même l'objet tailleChat correspondra à l'objet du DOM associé au champ avec le nom taille-chat.

Attention : On évitera de donner aux éléments de formulaire un nom qui correspond à une propriété native du DOM. Cela surchargerait la propriété ou la méthode native pour pointer vers le champ correspondant.

pattern

Valie pour les champs de type text, search, url, tel, email, cet attribut est une expression rationnelle que la valeur du champ doit respecter afin de valider les contraintes. Cette valeur doit être une expression rationnelle JavaScript valide (voir RegExp) telle que documentée dans le guide sur les expressions rationnelles. Le marqueur 'u' est implicitement appliqué à la compilation de l'expression et le motif est donc traité comme une séquence de codets Unicode et non ASCII. Il ne faut pas encadrer le motif de barres obliques.

Si l'attribut pattern est présent mais sans valeur ou que celle-ci est valide, aucune expression rationnelle n'est appliquée et l'attribut est ignoré. Si la valeur de pattern est valide et que la valeur du champ ne respecte pas le motif, le champ échouera à la validation des contraintes et empêchera l'envoi du formulaire.

Note : En utilisant l'attribut pattern, il faut également informer l'utilisatrice ou l'utilisateur quant au format attendu, en ajoutant un texte explicatif à proximité. On peut aussi inclure un attribut title pour expliquer les contraintes à respecter : la plupart des navigateurs afficheront le titre sous la forme d'une bulle d'information. Attention, une explication visible est nécessaire pour une accessibilité correcte, la bulle d'information fournie par title n'est qu'une amélioration secondaire.

Voir la validation côté client pour plus d'information.

placeholder

Valide pour les champs de type text, search, url, tel, email, password, et number, cet attribut est une chaîne de caractères qui fournit une brève indication quant au type d'information attendu dans le champ. Sa valeur devrait être un mot ou une courte phrase qui indique le type de données attendu plutôt qu'une explication ou une consigne. Le texte de cet attribut ne doit pas inclure de retour chariot ou de saut de ligne. Ainsi, si un champ est destiné à la saisie d'un prénom et que le libellé est « Prénom », une valeur appropriée pour cet attribut pourra être "ex. Mustafa".

Note : Sur le plan sémantique, l'attribut placeholder n'est pas aussi utile que d'autres méthodes pour expliquer le formulaire. Il peut aussi causer certains problèmes inattendus avec le contenu. Voir les libellés pour plus d'informations.

popovertarget

Transforme un élément en un contrôleur de popover. Il prend comme valeur l'id de l'élément popover à contrôler. Voir la page de l'API Popover pour plus d'informations.

popovertargetaction

Définit l'action à accomplir sur l'élément popover contrôlé par l'élément . Les valeurs possibles sont :

"hide"

Le bouton va masquer un popover affiché. Si vous essayez de masquer un popover déjà masqué, aucune action ne sera effectuée.

"show"

Le bouton va afficher un popover masqué. Si vous essayez d'afficher un popover déjà affiché, aucune action ne sera effectuée.

"toggle"

Le bouton va basculer un popover entre les états affiché et masqué. Si le popover est masqué, il sera affiché ; si le popover est affiché, il sera masqué. Si popovertargetaction est omis, "toggle" est l'action par défaut qui sera effectuée par le bouton de contrôle.

readonly

Un attribut booléen qui, lorsqu'il est présent, indique qu'il ne devrait pas être possible d'éditer la valeur du champ. Cet attribut est pris en charge par les types de contrôle text, search, url, tel, email, date, month, week, time, datetime-local, number, et password.

Voir l'attribut HTML readonly pour plus d'informations.

required

Un attribut booléen qui, lorsqu'il est présent, indique qu'une valeur doit être saisie avant que le formulaire puisse être envoyé. Cet attribut est pris en charge pour les types de contrôle text, search, url, tel, email, date, month, week, time, datetime-local, number, password, checkbox, radio, et file.

Voir la validation côté client et l'attribut HTML required pour plus d'informations.

size

Cet attribut est uniquement valide pour les types de contrôle email, password, tel, url et text. Il indique la largeur visible pour le contrôle. D'une certaine façon, il crée un résultat analogue à l'application de la propriété CSS width. L'unité de cette valeur dépend du type de contrôle. Pour les champs de type password et text, il s'agit du nombre de caractères (équivalent à l'unité em) et la valeur par défaut vaut 20. Pour les autres types de champs, la valeur est exprimée en pixels. La largeur définie avec la feuille de style CSS aura la priorité sur cet attribut.

src

Cet attribut est uniquement valide pour le type image et indique l'URL du fichier de l'image à afficher sur le bouton. Voir pour plus d'informations.

step

Cet attribut est valide pour les contrôles de type numériques et temporels (date, month, week, time, datetime-local, number, et range). L'attribut step est un nombre qui définit la granularité de la valeur.

S'il n'est pas explicitement inclus :

  • Pour les types number et range, sa valeur par défaut sera 1.
  • Pour les types temporels, la valeur par défaut de step dépend du type. Voir les pages individuelles pour plus de détails : date, datetime-local, month, time, et week.

La valeur de cet attribut doit être un nombre positif (entier ou décimal) ou la valeur spéciale any (cette dernière indiquant qu'il n'y a pas de contrainte de granularité et que toute valeur est autorisée (les contraintes imposées par min et max s'appliquent toujours)).

Si any n'est pas utilisé explicitement, les valeurs valides du champ pour les types temporels, number, et range seront celles construites depuis le minimum (min) en ajoutant l'incrément une ou plusieurs fois jusqu'à atteindre le maximum (max), si ce dernier est défini.

Ainsi, si on a , tout entier pair, supérieur ou égal à 10 sera valide. Si step est absent, par exemple avec , tous les nombres entiers seront valides mais les nombres décimaux (comme 4.2) seront invalides, car la valeur par défaut de step vaut 1 pour le type number. Afin que 4.2 soit valide, on devra utiliser la valeur any, ou 0.1, ou 0.2 pour l'attribut step, ou encore une valeur de min dont la partie fractionnaire vaut .2, par exemple

Note : Lorsque la donnée saisie ne respecte pas l'incrément, la valeur est considérée comme invalide pour la validation des contraintes et l'élément sera ciblé par la pseudo-classe :invalid.

Voir la validation côté client pour plus d'information.

tabindex

Un attribut universel, valide pour tous les éléments, y compris tous les types de . Sa valeur est un entier qui indique si l'élément peut prendre le focus et s'il devrait participer à la navigation séquentielle au clavier. Comme tous les types d'élément , sauf ceux masqués, peuvent prendre le focus, cet attribut ne devrait pas être utilisé sur les contrôles de formulaire, car cela nécessiterait de gérer l'ordre du focus pour tous les éléments du document, au risque de dégradé l'utilisabilité et l'accessibilité si cela était fait de façon incorrecte.

title

Un attribut universel, valide pour tous les éléments, y compris tous les types de . Sa valeur est un texte fournissant des informations à propos de l'élément auquel il appartient. Une telle information est généralement (mais pas nécessairement) affichée sous la forme d'une bulle d'information. title ne devrait pas être utilisé comme méthode principale pour expliquer le rôle d'un contrôle de formulaire. Il faut plutôt utiliser l'élément avec un attribut for dont la valeur correspond à la valeur de l'attribut id du champ de formulaire. Voir la section sur les libellés ci-après.

type

Une chaîne de caractères qui indique le type de contrôle à afficher. On utilisera par exemple la valeur checkbox pour afficher une case à cocher. Si cet attribut est absent (ou qu'une valeur inconnue est utilisée), ce sera un champ de type text qui sera utilisé, permettant de saisir un texte dans le contrôle de formulaire.

Les valeurs autorisées pour cet attribut sont listées dans la section sur les types de champ ci-avant.

value

La valeur du contrôle. Lorsque cette valeur est fournie dans le document HTML, il s'agit de la valeur initiale, qui peut ensuite être récupérée et éventuellement modifiée avec JavaScript via la propriété du DOM correspondante : HTMLInputElement.value. Cet attribut est toujours optionnel en théorie, mais peut être considéré comme obligatoire en pratique pour les types de champ checkbox, radio, et hidden.

width

Cet attribut est uniquement valide pour le type de contrôle image, où il exprime la largeur du fichier d'image à afficher sur le bouton graphique. Voir pour plus d'informations.

Attributs non-standards

Les attributs qui suivent ne sont pas standard et sont disponibles dans certains navigateurs uniquement. En règle général, il faut éviter de les utiliser.

Attribut Description
autocorrect Une chaîne de caractères, on ou off, qui indique si la correction automatique est activée. Uniquement dans Safari.
incremental Indique s'il faut envoyer ou non de multiples évènements search pour mettre à jour les résultats de recherche de façon dynamique lorsque la personne est toujours en train d'éditer la valeur du champ. Uniquement dans WebKit et Blink (Safari, Chrome, Opera, etc.).
mozactionhint

Une chaîne de caractères qui indique le type d'action qui sera réalisée lorsque la personne appuiera sur la touche Entrée ou Retour lors de l'édition du champ. Il est utilisé pour déterminer le libellé pertinent à utiliser sur un clavier virtuel.

Obsolète : il faut utiliser enterkeyhint à la place.

orient Définit l'orientation de la piste pour le curseur. Uniquement dans Firefox.
results Le nombre maximum de résultats qui devraient être affichés dans une liste déroulante affichant les recherches précédentes. Uniquement dans Safari.
webkitdirectory Un booléen indiquant s'il est possible de choisir un répertoire (ou plusieurs répertoires si multiple est également présent).
autocorrect Non standard

(Safari uniquement). Une chaîne de caractères qui indique si la correction automatique doit être activée lors de l'édition manuelle du champ. Les valeurs autorisées pour cet attribut sont :

on

La correction automatique des fautes et le traitement des substitutions de texte (si elles sont configurées) sont activées.

off

La correction automatique et les substitutions de texte sont désactivées.

incremental Non standard

Cet attribut booléen est une extension de WebKit et Blink (présent donc dans les navigateurs Safari, Opera, Chrome, etc.) qui indique, s'il est présent, que le champ doit être traité comme un champ de recherche dynamique. Lorsque la personne édite la valeur du champ, l'agent utilisateur envoie des évènements search à l'objet HTMLInputElement qui représente le champ de recherche. Cela permet de gérer, via du code, la mise à jour des résultats de recherche en temps réel lors de l'édition.

Si incremental n'est pas indiqué, l'évènement search est uniquement envoyé lorsque la personne initie explicitement une recherche, c'est-à-dire en appuyant sur la touche Entrée ou Retour lors de l'édition du champ.

L'évènement search est soumis à des limites de fréquence propres à chaque implémentation.

orient Non standard

Semblable à la propriété CSS non-standard -moz-orient pour les éléments et , cet attribut définit l'orientation de la piste du curseur. Les valeurs possibles pour cet attribut sont horizontal (la piste est affichée horizontalement) et vertical (la piste est affichée verticalement).

results Non standard

Uniquement pris en charge par Safari, cet attribut est une valeur numérique qui permet de surcharger le nombre de résultats à afficher dans la liste des suggestions de l'élément à partir des requêtes précédentes. Sa valeur doit être un nombre positif. Si aucune valeur n'est indiquée ou qu'une valeur invalide est fournie, c'est le nombre d'options maximum par défaut du navigateur qui est utilisé.

webkitdirectory Non standard

Un attribut booléen qui, lorsqu'il est présent, indique que seuls les répertoires peuvent être sélectionnés via le sélecteur de fichier. Voir HTMLInputElement.webkitdirectory pour plus de détails et d'exemples. Bien qu'originalement implémenté uniquement par les navigateurs WebKit, webkitdirectory est également utilisable avec Microsoft Edge et Firefox 50 (ou ultérieur). Toutefois, malgré cette prise en charge assez large, il n'est toujours pas standard et ne devrait pas être utilisé à moins qu'il n'y ait aucune autre alternative.

Méthodes

Les méthodes suivantes sont fournies par l'interface HTMLInputElement qui représente les éléments dans le DOM. Les méthodes des interfaces parentes HTMLElement, Element, Node, et EventTarget sont également disponibles.

checkValidity()

Renvoie true si la valeur de l'élément respecte les conditions de validité, false sinon et, dans ce dernier cas, déclenche un évènement invalid sur l'élément.

reportValidity()

Renvoie true si la valeur de l'élément respecte les conditions de validité, false sinon et, dans ce dernier cas, déclenche un évènement invalid sur l'élément et, si l'évènement n'est pas annulé, rapporte ce problème à l'utilisatrice ou l'utilisateur.

select()

Sélectionne tout le contenu de l'élément sous réserve que son contenu soit sélectionnable. Pour les éléments qui n'ont pas de contenu texte qui puisse être sélectionné (par exemple un sélecteur de couleur ou un calendrier), cette méthode n'a pas d'effet.

setCustomValidity()

Définit un message particulier à afficher si la valeur de l'élément n'est pas valide.

setRangeText()

Modifie le contenu de la valeur entre deux positions de caractères par une nouvelle chaîne de caractères. Un paramètre selectMode permet de contrôler la façon dont le contenu existant est affecté.

setSelectionRange()

Sélectionne un intervalle de caractères dans un champ texte. Cette méthode n'a pas d'effet pour les champs qui ne sont pas des champs texte.

showPicker()

Affiche le sélecteur fourni par le navigateur, qui s'affiche normalement quand l'élément est sélectionné. Cela permet de déclencher son affichage à partir d'un bouton ou d'une autre interaction.

stepDown()

Décrémente la valeur d'un champ numérique d'un nombre indiqué d'unités (1 par défaut).

stepUp()

Incrément la valeur d'un champ numérique d'un nombre indiqué d'unités (1 par défaut).

CSS

Les champs de formulaire sont des éléments remplacés et disposent de quelques fonctionnalités qui ne sont pas applicables aux éléments qui ne sont pas des éléments de formulaire. Certains sélecteurs CSS permettent de cibler spécifiquement les contrôles en fonction de l'interface utilisateur : ce sont les pseudo-classes d'interface utilisateur. Un élément peut également être ciblé via son type grâce aux sélecteurs d'attribut. Certaines propriétés CSS sont également utiles pour ces éléments.

Pseudo-classes d'interface utilisateur

Pseudo-classes pertinentes pour l'élément
Pseudo-classe Description
:enabled S'applique à tout élément actif (qui peut faire l'objet d'une sélection de texte, d'un clic, d'une saisie de texte, etc.) ou accepter le focus.
:disabled S'applique à tout élément désactivé (dont le texte ne peut pas être sélectionné, qui ne peut pas recevoir de clic ou de saisie de texte) ou qui ne peut pas recevoir le focus.
:read-only S'applique aux éléments qui ne peuvent pas être édités par l'utilisatrice ou l'utilisateur.
:read-write S'applique aux éléments éditables.
:placeholder-shown S'applique aux éléments qui affichent actuellement le texte fourni par l'attribut placeholder, y compris les éléments et