L'élément HTML <textarea> représente un contrôle qui permet d'éditer du texte sur plusieurs lignes.
| Catégories de contenu | Contenu de flux, contenu phrasé, contenu interactif, contenu de formulaire (énuméré, étiquetable, réinitialisable, envoyable). |
|---|---|
| Contenu autorisé | Du texte. |
| Omission de balises | Aucune, la balise d'ouverture et la balise de fermeture sont obligatoires |
| Parents autorisés | Tout élément qui accepte du contenu phrasé. |
| Rôles ARIA autorisés | Aucun. |
| Interface DOM | HTMLTextAreaElement |
Attributs
À l'instar des autres éléments HTML, cet élémnt inclut les attributs universels.
"forward": la sélection se fait de gauche à droite pour une locale écrite de gauche à droite (LTR) et elle se fait de droite à gauche pour une locale écrite de droite à gauche (RTL),- "backward" : la sélection se fait dans le sens inverse du sens d'écriture,
- "none" : le sens de la sélection est inconnu.
autocapitalize- Cet attribut est non standard, pris en charge par WebKit sur iOS, et contrôle la façon dont le texte saisi doit automatiquement être mis en majuscules. Les valeurs disponibles spour iOS 5 et les versions supérieures sont :
none: la mise en majuscules est complètement désactivéesentences: la première lettre des phrases est automatiquement mise en majusculewords: la première lettre de chaque mot est automatiquement mise en majusculecharacters: tous les caractères sont transformés en majusculeson: valeur dépréciée depuis iOS 5 et qui permettait d'activer la mise en majuscule automatique.off: valeur dépréciée depuis iOS 5 et qui permettait de désactiver la mise en majuscule automatique.
autocompleteHTML5- Cet attribut indique si la valeur saisie doit automatiquement être complétée par le navigateur. Cet attribut à valeur contrainte peut prendre l'une de ces deux valeurs :
off: l'utilisateur doit explicitement saisir une valeur dans ce champ à chaque fois qu'il l'utilise ou le document fournit son propre mécanisme d'auto-complétion. Le navigateur ne complète pas le texte saisi.on: le navigateur peut compléter la saisie de l'utilisateur en fonction de ce que l'utilisateur a déjà saisi précédemment sur ce champ.
Si l'attribut
autocompleten'est pas indiqué à même l'élément<textarea>, alors le navigateur utilise la valeur d'autocompletepour le formulaire rattaché à cet élément (c'est-à-dire son élément ancêtre<form>ou le formulaire correspond à l'identifiant fourni par l'attributform). Pour plus d'informations, se référer à la documentation de l'attributautocompletede l'élément<form>. autofocusHTML5- Cet attribut permet d'indiquer que ce contrôle doit recevoir le focus au chargement de la page. Seul un élément de formulaire au sein d'un document peut avoir cet attribut déclaré.
cols- La largeur visible du contrôle de saisie, exprimée en largeur moyenne de caractères. La valeur utilisée doit être un entier positif. La valeur par défaut de cet attribut est 20.
disabled- Cet attribut booléen indique que le contrôle est désactivé et que l'utilisateur ne peut pas interagir avec ce contrôle. Si cet attribut n'est pas utilisé, le contrôle héritera de l'état de son élément parent (par exemple de son éventuel élément parent
<fieldset>). S'il n'existe pas d'élément englobant pour lequel l'attributdisabledest utilisé, le contrôle est alors actif. formHTML5- L'élément de formulaire auquel l'élément
<textarea>est rattaché. La valeur de cet attribut doit être l'identifiant (la valeur de l'attributid) d'un élément<form>du même document. Si cet attribut n'est pas défini, l'élément<textarea>doit être un descendant d'un élément<form>. Cet attribut permet notamment de placer des éléments<textarea>où qu'on le veuille dans le document et pas uniquement comme des descendants des éléments de formulaire. maxlengthHTML5- Le nombre maximum de caractères, exprimé en codets Unicode, que l'utilisateur peut saisir. Si cet attribut n'est pas utilisé, l'utilisateur peut saisir un nombre illimité de caractères..
minlengthHTML5- Le nombre minimal que l'utilisateur doit saisir dans le champ, exprimé en codets Unicode.
name- Le nom associé au contrôle.
placeholderHTML5- Une indication fournie à l'utilisateur sur la valeur qui peut être saisie dans le contrôle. Les retours à la ligne contenus dans la valeur de l'attribut doivent être interprétés comme des sauts de ligne lorsque l'indication est affichée pour l'utilisateur.
readonly- Cet attribut booléen indique que l'utilisateur ne peut pas modifier la valeur du contrôle. À la différence de l'attribut
disabled,readonlyn'empêche pas de cliquer ou de sélectionner le contrôle. La valeur d'un contrôle en lecture seule est tout de même envoyé avec les données du formulaire. requiredHTML5- Cet attribut indique que l'utilisateur doit nécessairement saisir une valeur afin de pouvoir envoyer le formulaire.
rows- Le nombre de lignes de texte visibles pour le contrôle.
selectionDirectionHTML5- La direction dans laquelle la sélection du texte doit s'effectuer. Cet attribut à valeur contrainte peut prendre les valeurs suivantes :
selectionEnd- L'indice du dernier caractère pour la sélection actuelle. S'il n'y a aucune sélection, la valeur correspond à l'indice du caractère qui suit le curseur de saisie.
selectionStart- L'indice du premier caractère pour la sélection actuelle. S'il n'y a aucune sélection, la valeur correspond à l'indice du caractère qui suit le curseur de saisie.
spellcheckHTML5- Lorsque cet attribut vaut
true, cela indique que la vérification orthographique et grammaticale doit être activée. La valeurdefaultindique que l'élément doit suivre le comportement par défaut, éventuellement basé sur la valeur de l'attributspellcheckde l'élément parent. Si cet attribut vautfalse, le texte de l'élément ne doit pas être contrôlé. wrapHTML5- Cet attribut à valeur contrainte indique la façon dont les retours à la ligne automatiques sont utilisés. Les valeurs possibles pour cet attribut sont :
hard: le navigateur insère automatiquement des sauts de ligne (CR+LF) afin que chaque ligne ne soit pas plus longue que la largeur du contrôle. L'attributcolsdoit alors être défini.soft: le navigateur s'assure que tous les sauts de lignes soient représentés par une paire CR+LF mais il n'ajoute pas de sauts de ligne supplémentaires. C'est la valeur par défaut pour cet attribut.off: , proche desoftmais on a la règle CSSwhite-space: preet les lignes qui dépassentcolsne sont pas ramenées à la ligne. Si elles dépassent, on peut faire défiler la zone d'édition horizontalement.
Interaction avec CSS
Pour CSS, un élément <textarea> est un élément remplacé. La spécification HTML ne définit pas l'emplacement de la ligne de base pour un élément <textarea>. Aussi, les différents navigateurs utilisent différentes positions. Pour Gecko, la ligne de base d'un élément <textarea> est définie sur la ligne de base de la première ligne du texte de <textarea>. Pour un autre navigateur, elle pourrait être définie par rapport au bas de la boîte de l'élément <textarea>. Pour ces raisons, on évitera d'utiliser vertical-align: baseline sur cet élément car le comportement serait imprévisible.
Un élément <textarea> possède des dimensions intrinsèques (comme une image matricielle).
Exemples
HTML
<textarea name="textarea" rows="10" cols="50"> Vous pouvez écrire quelque chose ici. </textarea>
Résultat
Spécifications
| Spécification | État | Commentaires |
|---|---|---|
| HTML Living Standard La définition de '<textarea>' dans cette spécification. |
Standard évolutif | |
| HTML5 La définition de '<textarea>' dans cette spécification. |
Recommendation | |
| HTML 4.01 Specification La définition de '<textarea>' dans cette spécification. |
Recommendation |
Compatibilité des navigateurs
| Fonctionnalité | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Support simple | (Oui) | (Oui) |
1.0 (1.7 ou moins)[2] 6.0 (6.0)[3] |
(Oui) | (Oui) | (Oui) |
Attribut autocomplete |
Pas de support | Pas de support | Pas de support | Pas de support | Pas de support | Pas de support |
Attribut autofocus |
(Oui) | (Oui) | 4.0 (2.0) | 10 | (Oui) | (Oui) |
Attribut maxlength |
(Oui) | (Oui) | 4.0 (2.0) | 10 | (Oui) | (Oui) |
Attribut placeholder |
(Oui) | (Oui) | 4.0 (2.0) | 10 | 11.50 | 5.0 |
| Retour à la ligne pour le texte placeholder | 36 | (Oui) | Pas de support (cf. bug 1312897) | 10 | ? | Pas de support |
| Fonctionnalité | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Support simple | (Oui) | (Oui) | 1.0 (1.0)[2] 6.0 (6.0)[3] |
(Oui) | (Oui) | (Oui)[1] |
Attribut autofocus |
? | Pas de support | 4.0 (2.0) | Pas de support | ? | ? |
Attribut autocomplete |
Pas de support | (Oui) | Pas de support | Pas de support | Pas de support | Pas de support |
Attribut maxlength |
? | (Oui) | 4.0 (2.0) | Pas de support | ? | ? |
Attribut placeholder |
? | (Oui) | 4.0 (2.0) | ? | 11.50 | 4.0 |
| Retour à la ligne pour le texte placeholder | ? | (Oui) | Pas de support | ? | ? | Pas de support |
[1] À la différence des autres navigateurs principaux, Safari applique une mise en forme opacity: 0.4 aux éléments <textarea> désactivés.
[2] Avant Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3), lorsque l'élément <textarea> avait le focus, par défaut, le point d'insertion était placé à la fin du texte. Les autres navigateurs principaux plaçaient le point d'insertion au début du texte.
[3] Un dégradé background-image est appliqué à tous les éléments <textarea>. Il peut être désactivé via background-image: none.
Voir aussi
- Les autres éléments relatifs aux formulaires :
<form>,<button>,<datalist>,<legend>,<label>,<select>,<optgroup>,<option>,<input>,<keygen>,<fieldset>,<output>,<progress>et<meter>.

