PRATIQUE CLIENTS WEB 
HTML : Le bon usage des balises sémantiques
 
"Je ne vois pas l'intérêt d'avoir plusieurs balises pour un même comportement (par exemple i et em pour l'italique, b et strong pour le gras...), quel est l'avantage des unes par rapport aux autres ?" (14/05/2004)


Un problème, une interrogation ? Adressez-vous à la rédaction de JDNet Développeurs

Réponse rapide : si vous ne connaissez pas l'intérêt de <em> ou <strong>, restez-en à <i> et <b>.

Nous touchons ici à l'un des principaux travaux du W3C : la sémantique du Web, ou plus clairement "utiliser des balises qui donnent du sens au contenu qu'elles encadrent".
Le problème ne repose donc pas sur l'italique ou le gras, mais bien sur le sens que l'on veut donner à un texte.
Pour quoi faire ? De toute évidence le résultat graphique est le même : de l'italique ou du gras… Mais il s'agit d'une présentation faite pour l'humain. Dans un Web "intelligent", la présentation ne sert à rien, la sémantique est tout. Mettre un texte en gras ne signifiera rien pour la machine qui lira le texte, mais si ce "gras" résulte en fait de l'utilisation de la balise <strong>, alors la machine comprendra que l'auteur insiste fortement sur un point. De la même manière, si un mot est encadré par <em></em>, alors il sera analysé comme étant mis en emphase ("accent particulier porté sur un constituant de la phrase").

C'est ainsi qu'une partie du Web Sémantique sera construite, et l'on peut voir qu'il ne le sera pas facilement : la plupart des navigateurs rendent en italique plusieurs balises sémantiques (em, cite, dfn, var), idem pour la graisse (strong, h1-6, dfn, th). Le problème se pose alors d'utiliser la bonne balise pour définir son texte : tous les textes en italique ne sont pas des emphases (em), mais peuvent être des citations (cite) ou des définitions (dfn).

Le danger réside donc dans l'usage inapproprié d'une balise, soit pour faire un effet graphique sans prendre garde à la sémantique, soit sans vraiment savoir quelle balise sémantique utiliser, et donc en utiliser une "au hasard". Dans ces deux cas, les balises <i> et <b> doivent être utilisée.

Ce n'est pas du rêve d'un Web à venir qu'il s'agit : plusieurs projets Google font par exemple un excellent usage de ces balises : Google Set utilise les listes (<ul> ou <ol>) pour construire des correspondances, Google Definitions récupère les données décrites par les balises <dfn>… Et d'autres projets viendront probablement pour traiter les utilisations des balises <ins>, <del>, <address>, <samp>, <var

  Forum

Réagissez dans les forums de JDN Développeurs

Ce qui explique notre "réponse rapide" au début de ce texte : l'usage inapproprié des balises sémantiques pourrait bien fausser le "jugement" de ces programmes, et donc à terme du Web Sémantique. Les balises sémantiques ne devraient être utilisées que dans le cas où l'on sait qu'elles décrivent correctement ce qu'elles encadrent. Dans tous les autres cas, les balises <i> et <b>, qui n'ont aucune signification sémantique, doivent être utilisée.

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page