Placeholder, l'attribut maudit

Placeholder est un attribut un peu maudit…

Déjà, pour respecter le rôle qui lui est dévolu dans HTML5, il ne doit pas être utilisé à la place d'une étiquette de champ bien balisée, comme par exemple un label.

Ensuite, pour être compatible avec l'accessibilité, il ne doit véhiculer à lui seul aucune information essentielle lors de la saisie. Il ne doit servir à donner aucune information relevant de l'étiquette du champ (caractère obligatoire, format de saisie, etc.).

Plus largement, pour ne pas être agaçant lors de la saisie, il ne doit évidemment pas avoir servi à afficher quelque-chose dont, en fait, vous pourriez avoir besoin en cours de saisie.

Prenons par exemple l'indication d'un champ obligatoire et imaginons que la classique astérisque serait dans le placeholder seulement. A priori, cela semble logique : l'utilisateur commence par voir que le champ est obligatoire, puis il attaque sa saisie en connaissance de cause. Mais en fait, non : quand on m'a soumis cette idée, mon premier réflexe a été (expérience vécue et aussi constatée ailleurs) : « mais moi, je commence à saisir machinalement dans le champ et puis, après, je me demande "au fait, c'était obligatoire, ça ? Parce que ça me casse les pieds de saisir cette info, en fait… Ah, c'était indiqué où déjà ? »

Il est tout simplement très risqué de préjuger de ce qui, pour l'utilisateur, va être utile ou pas au moment de la saisie. Il est donc beaucoup plus prudent de partir du principe que l'utilisateur, qui a souvent du mal avec les formulaires, va se poser des questions en cours de route. Fatalement au moment que vous n'aviez pas anticipé… Et donc, de ne pas se reposer sur le placeholder, d'une manière générale. Ce qui est à peu près conforme à sa définition formelle : il ne sert qu'à donner un exemple de saisie, accessoire, complémentaire aux informations essentielles données par l'étiquette qui sont, elles, disponibles en permanence.

Placeholder est bien un attribut un peu maudit : à l'affichage, il a l'air d'une solution formidable. Mais pour ne pas poser de problème, il ne doit en fait servir que quand il est quasiment inutile… ;-)

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Haut de page