Aller au contenu

Balise HTML <label>

La balise &lt;label&gt; définit un libellé textuel pour la balise &lt;input&gt;. Cliquer sur le libellé permet de mettre le focus ou d'activer l'élément de formulaire associé. Cela améliore l'utilisabilité des formulaires, car il n'est pas toujours pratique de cibler précisément de petits contrôles de formulaire avec un curseur.

La balise &lt;label&gt; est également utilisée pour définir des raccourcis clavier permettant de mettre le focus sur l'élément associé.

Un champ de saisie peut être associé à plusieurs libellés. Si vous cliquez ou touchez un &lt;label&gt; associé à un contrôle de formulaire, l'événement de clic résultant sera déclenché pour ce contrôle associé.

Associer un &lt;label&gt; à un élément &lt;input&gt; présente plusieurs avantages :

  • Le texte du libellé est associé visuellement et programmatiquement au champ de saisie.
  • Vous pouvez cliquer sur le libellé associé pour mettre le focus ou activer le champ de saisie, tout comme sur le champ lui-même.

Syntaxe

La balise &lt;label&gt; s'utilise par paires. Le contenu est écrit entre la balise d'ouverture (&lt;label&gt;) et la balise de fermeture (&lt;&#8203;/label&gt;).

Il existe deux façons d'associer un libellé textuel au contrôle de formulaire auquel il appartient :

  1. Définir l'identifiant (id) à l'intérieur de l'élément &lt;input&gt; et spécifier son nom en tant qu'attribut for pour la balise &lt;label&gt;.

Exemple de la balise HTML &lt;label&gt; :

Exemple de balise HTML &lt;label&gt;

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <form>
      <label for="lfname">First name:</label> 
      <input id="lfname" name="fname" type="text" />
    </form>
  </body>
</html>

Résultat

simple label example

  1. Insérer l'élément &lt;input&gt; dans la balise &lt;label&gt;. Remarque : Il est généralement préférable de placer l'input à l'intérieur du label pour des raisons d'accessibilité et de simplicité du code.

Exemple de la balise HTML &lt;label&gt; avec un élément &lt;input&gt; à l'intérieur :

Exemple de balise HTML &lt;label&gt; incluant une balise HTML &lt;input&gt;

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <form>
      <label>Name
        <input id="User" name="Name" type="text" />
      </label>
    </form>
  </body>
</html>

Exemple de HTML &lt;form&gt; avec une balise &lt;label&gt; utilisée avec le type radio d'une balise &lt;input&gt; :

Exemple de balise HTML &lt;label&gt; avec le type radio de la balise HTML &lt;input&gt;

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <form>
      <label for="barca">Barcelona</label>
      <input type="radio" name="team" id="barca" value="Barcelona" />
      <br />
      <label for="real">Real Madrid</label>
      <input type="radio" name="team" id="real" value="Real Madrid" />
      <br />
    </form>
  </body>
</html>

Exemple de la balise HTML &lt;label&gt; avec les propriétés CSS font :

Exemple de balise HTML &lt;label&gt; avec les propriétés CSS font

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      body {
       padding: 20px;
      }
      label {
        font-size: 20px;
        font-weight: 700;
        color: #1c87c9;
      }
      input {
        width: 50%;
        height: 28px;
        padding: 4px 10px;
        border: 1px solid #666;
        background: #cce6ff;
        color: #1c87c9;
        font-size: 16px;
      }
    </style>
  </head>
  <body>
    <form>
      <label>Your  Name:</label>
      <input id="User" name="Name" type="text"/>
    </form>
  </body>
</html>

Attributs

AttributValeurDescription
accesskeyaccesskeyDéfinit un raccourci clavier pour mettre le focus sur l'élément de formulaire associé (ne navigue pas vers celui-ci).
forelement\_idDéfinit l'ID de l'élément auquel le libellé doit être lié.
formform\_idSpécifie le(s) formulaire(s) auquel(le) le libellé sera associé. Cet attribut permet de placer les balises à n'importe quel endroit du document, et pas seulement en tant qu'enfant de l'élément &lt;form&gt;.

L'élément &lt;label&gt; prend également en charge les Attributs globaux et les Attributs d'événement.

Exemple de l'attribut form :

html
<form id="myForm">
  <input type="text" name="username" />
</form>
<label for="username" form="myForm">Username:</label>

Comment styliser une balise HTML &lt;label&gt;

json
{
    "tag_name": "label"
}

Pratique

Quelle est l'utilité de la balise HTML <label> ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.