Créa-blog

Ressources pour développeur web

La balise datalist en HTML5 : Créer une liste de suggestions

Accueil HTML5 La balise datalist en HTML5 : Créer une liste de suggestions

La balise <datalist> est un élément HTML relativement méconnu mais incroyablement utile. Elle permet de fournir une liste préétablie d’options pour les éléments de formulaire <input> de type texte, améliorant ainsi l’expérience utilisateur en proposant des suggestions pendant la saisie. Dans ce tutoriel, nous explorerons en détail la balise datalist en HTML5, ses utilisations, sa syntaxe et des exemples concrets pour mieux comprendre son fonctionnement.

À quoi sert la balise datalist en HTML5 ?

La balise <datalist> en HTML5 a été introduite pour offrir une manière pratique de proposer des options prédéfinies lors de la saisie dans les champs de texte. Elle agit comme une liste de suggestions qui apparaissent lorsque l’utilisateur commence à taper dans un champ de formulaire.

Syntaxe et utilisation de la balise <datalist> en HTML5

La balise <datalist> s’utilise en conjonction avec un champ de formulaire <input> de type texte.

La balise <datalist> en HTML5 permet d’ajouter une liste de suggestions à un champ de saisie. Cette fonctionnalité est particulièrement utile pour les champs où l’utilisateur doit saisir une valeur parmi un ensemble prédéfini, comme les noms de villes, les noms de pays ou les adresses email.

Comment fonctionne la balise <datalist>

La balise <datalist> est associée à un champ de saisie <input> via l’attribut list. L’attribut id de la balise <datalist> doit correspondre à la valeur de l’attribut list du champ de saisie.

Exemple de code pour la balise <datalist>

Dans l’exemple ci-dessous, lorsque l’utilisateur commence à saisir du texte dans le champ de saisie pays, une liste déroulante apparaît avec les options disponibles : France, Allemagne, Italie et Espagne. L’utilisateur peut soit sélectionner une option dans la liste, soit continuer à saisir sa propre valeur.

<label for="pays">Pays :</label>
<input type="text" id="pays" list="pays_disponibles">

<datalist id="pays_disponibles">
  <option value="France">France</option>
  <option value="Allemagne">Allemagne</option>
  <option value="Italie">Italie</option>
  <option value="Espagne">Espagne</option>
</datalist>

Fonctionnalités supplémentaires

La balise <datalist> offre plusieurs fonctionnalités supplémentaires :

  • Attribut optionlabel : Permet de définir un libellé pour chaque option de la liste. Le libellé s’affiche à côté de l’option dans la liste déroulante.
  • Attribut disabled : Permet de désactiver une option de la liste. L’option désactivée sera toujours visible dans la liste, mais l’utilisateur ne pourra pas la sélectionner.
  • Attribut selected : Permet de sélectionner une option par défaut. L’option sélectionnée sera pré-remplie dans le champ de saisie.
  • Exemple de code avec l’attribut optionlabel :

    <label for="pays">Pays :</label>
    <input type="text" id="pays" list="pays_disponibles" placeholder="Indiquez votre pays">
    
    <datalist id="pays_disponibles">
      <option value="FR" optionLabel="France (République française)">France</option>
      <option value="DE" optionLabel="Allemagne (République fédérale d'Allemagne)">Allemagne</option>
      <option value="IT" optionLabel="Italie (République italienne)">Italie</option>
      <option value="ES" optionLabel="Espagne (Royaume d'Espagne)">Espagne</option>
    </datalist>

    Avantages de l’utilisation de <datalist>

    • Amélioration de l’expérience utilisateur : En proposant des suggestions pendant la saisie, la balise <datalist> rend les formulaires plus conviviaux.
    • Réduction des erreurs de saisie : Les suggestions préétablies réduisent les risques d’erreurs de saisie, notamment pour les données standardisées comme les adresses e-mail ou les pays.
    • Gain de temps : Les utilisateurs peuvent sélectionner une option dans la liste plutôt que de saisir manuellement toutes les informations, ce qui accélère le processus de saisie.
    • Amélioration de l’accessibilité : La balise <datalist> peut être utilisée pour améliorer l’accessibilité des formulaires pour les utilisateurs handicapés.

    Limitations de la balise <datalist>

    Bien que la balise <datalist> soit très utile, elle présente quelques limitations :

    • Compatibilité : Elle n’est pas prise en charge par tous les navigateurs, bien que la plupart des navigateurs modernes la supportent.
    • Personnalisation limitée : La personnalisation de l’apparence de la liste de suggestions est limitée par les styles CSS, ce qui peut limiter les options de conception.

    La balise <datalist> est un outil précieux pour améliorer l’expérience utilisateur dans les formulaires en proposant des suggestions lors de la saisie. En utilisant <datalist> de manière appropriée, les développeurs web peuvent rendre leurs formulaires plus conviviaux, réduire les erreurs de saisie et accélérer le processus de saisie pour les utilisateurs. Bien qu’elle présente quelques limitations, ses avantages surpassent largement ses inconvénients, en faisant un élément essentiel à considérer lors de la conception de formulaires web interactifs.