Contrôler la vérification de l'orthographe dans les formulaires HTML

Firefox 2 a introduit le support de la vérification de l'orthographe dans les zones de texte et les champs de texte des formulaires HTML. L'utilisateur peut choisir d'activer ou non cette fonctionnalité via l'interface about:config et d'appliquer cette vérification soit aux zones de texte et aux champs de texte soit seulement aux zones de texte.

Par défaut, les zones de texte et les documents designMode sont vérifiés alors que les champs d'entrée de texte sur une ligne ne le sont pas. Cela permet d'éviter une vérification et un marquage intempestifs de Firefox dans le cas d'identifiants ou d'adresses e-mail interprétés comme des erreurs.

Cependant, certaines situations rendent ce comportement impropre à l'usage. Par exemple, si une zone de texte est utilisée afin d'éditer du code HTML ou des données auxquelles l'orthographe ne s'applique pas, la vérification automatique serait un handicap plutôt qu'un atout. De la même manière, certains sites pourraient souhaiter activer cette vérification de l'orthographe pour certains champs de texte comme des barres de recherche ou des champs correspondant aux sujets d'e-mails.

Si un site web souhaite ou non recommander l'utilisation de la vérification de l'orthographe pour un élément <input> en particulier, il peut utiliser l'attribut spellcheck en lui assignant la valeur true (ou false dans le cas où il ne recommande pas l'utilisation de cette fonctionnalité).

Il faut garder à l'esprit que les recommandations mises en place par un site peuvent être ignorées si l'utilisateur a complètement désactivé la vérification de l'orthographe en réglant layout.spellcheckDefault à 0. Si layout.spellcheckDefault est fixé à une autre valeur que 0, les recommandations seront prises en compte.

En HTML, vous pouvez créer un champ de texte (sur une ligne) avec la vérification de l'orthographe de cette façon :

<input type="text" size="50" spellcheck="true">

De la même manière, vous pouvez créer une zone de texte avec la vérification désactivée avec un code HTML comme celui-ci :

<textarea spellcheck="false"></textarea>

Vous pouvez contrôler un document en designMode (utilisé habituellement pour implémenter l'édition de texte en Rich Text Format) en réglant l'attribut spellcheck au niveau de la balise <body> du document.

Vous pouvez également appliquer l'attribut spellcheck à d'autres éléments comme les <span> ou <div>, auquel cas, chaque élément  <input> héritera de ce paramètre. Les éléments <input> n'ayant pas d'attribut spellcheck héritent du paramètre de leur parent. Si aucun paramètre n'est précisé parmi les éléments parents, les réglages par défaut de l'utilisateur sont pris en compte.

Ainsi on aura :

<div spellcheck="true">
  <label>Entrez une phrase : </label><input type="text" size="50">
  <br>
  <label>Entrez une autre phrase : </label><input type="text" size="50">
</div>
<br>
<label>Entrez-en un troisième : </label><input type="text" size="50">

Dans ce fragment de code HTML, les deux premiers champs de texte ont la vérification de l'orthographe activée alors que le troisième ne l'a pas.

(Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6)

Contrôler la langue analysée par l'outil de vérification de l'orthographe

À partir de Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6), la vérification de l'orthographe utilise l'attribut lang de l'élément <input> pour déterminer la langue dans laquelle s'applique la vérification de l'orthographe. Si l'élément <input> ne possède pas d'attribut lang, cet attribut est recherché dans chaque parent en partant du premier jusqu'à la racine jusqu'à ce qu'un attribut soit trouvé.

Ainsi, si l'utilisateur a les dictionnaires anglais et français installés et qu'un élément éditable possède l'attribut lang="en", le dictionnaire anglais sera automatiquement utilisé pour cet élément.

Par exemple :

<html lang="en">
<body>
  <textarea></textarea>
  <textarea lang="fr"></textarea>
  <div lang="ru">
    <textarea></textarea>
  </div>
</body>
</html>

Dans ce fragment de code HTML, le premier <textearea> verra son orthographe vérifiée en anglais, le deuxième en français et le troisième en russe.

Si un élément précise une langue donnée et que l'utilisateur n'a pas de dictionnaire installé pour cette langue, la vérification de l'orthographe sera désactivée par défaut, l'utilisateur pourra malgré tout choisir de l'activer manuellement.

Étiquettes et contributeurs liés au document

Contributeurs ayant participé à cette page : tregagnon, Goofy, SphinxKnight
Dernière mise à jour par : tregagnon,