W3docs

Balise HTML <isindex>

La balise <isindex> définissait une zone de recherche dans le document. Elle est obsolète. Découvrez ce qu'utiliser à la place.

La balise <isindex> était une méthode primitive et ancienne pour ajouter une zone de recherche à une page web. Elle affichait un champ de saisie sur une seule ligne ; lorsque l'utilisateur tapait un mot-clé et appuyait sur Entrée, le navigateur envoyait cette valeur au serveur sous forme de chaîne de requête (par exemple, ?keyword). Elle est antérieure à l'élément <form> moderne.

Danger

La balise <isindex> est obsolète et a été supprimée de HTML. Il s'agit d'une balise HTML dépréciée que les navigateurs modernes ne prennent plus en charge. Ne l'utilisez pas. Pour créer une zone de recherche aujourd'hui, utilisez un <form> contenant un champ <input>, comme indiqué ci-dessous.

Ce que faisait <isindex>

Lorsqu'un navigateur rencontrait <isindex>, il insérait un champ de texte sur une seule ligne, généralement précédé d'une courte étiquette (texte par défaut tel que « This is a searchable index. Enter search keywords: »). La saisie d'une valeur et l'appui sur Entrée renvoyaient cette valeur à l'URL du document lui-même sous forme de chaîne de requête encodée en URL. Le serveur retournait ensuite un résultat en fonction du mot-clé.

En d'autres termes, <isindex> était une zone de recherche intégrée à un seul champ, datant de l'ère antérieure à l'existence des formulaires. Une fois les éléments flexibles <form> et <input> standardisés, <isindex> est devenu redondant.

Remplacement moderne

Remplacez <isindex> par un vrai formulaire. L'exemple ci-dessous produit le même type de zone de recherche à un seul champ, mais il fonctionne dans tous les navigateurs modernes et vous contrôlez où les données sont envoyées et comment elles sont soumises :

<form action="/search" method="get">
  <label for="search">Search:</label>
  <input type="search" id="search" name="q" placeholder="Enter search keywords">
  <button type="submit">Go</button>
</form>
Result

La soumission de ce formulaire avec le mot-clé html envoie une requête à /search?q=html — le même mécanisme de chaîne de requête qu'utilisait <isindex>, mais explicite et conforme aux standards. Utilisez <input type="text"> si vous ne souhaitez pas le style spécifique à la recherche que certains navigateurs appliquent à type="search".

Pourquoi <isindex> a été supprimé

  • Il n'était pas sémantique et prêtait à confusion. Une balise isolée créait silencieusement un contrôle de formulaire, sans <form>, sans <input>, et sans cible de soumission évidente.
  • Il manquait de flexibilité. Il était impossible de choisir la méthode de requête, l'URL de soumission, ni d'ajouter plus d'un champ.
  • Il a été remplacé. <form> et <input> font tout ce que <isindex> faisait, et bien plus encore.

Pour une liste complète des balises à ne plus utiliser, consultez Balises HTML dépréciées.

Attributs

<isindex> ne prenait en charge qu'un seul attribut qui lui était propre :

AttributValeurDescription
prompttextSpécifie l'étiquette textuelle affichée devant le champ de saisie de recherche. Si omis, le navigateur affiche sa propre invite par défaut.

La balise n'avait pas d'attribut action — la requête soumise était envoyée à l'URL du document lui-même. Utilisez un <form> avec un attribut action pour contrôler la cible de soumission à la place.

Pratique

Pratique
Quelle affirmation concernant l'élément HTML isindex est correcte ?
Quelle affirmation concernant l'élément HTML isindex est correcte ?
Was this page helpful?