Niveau Niveau confirmé

Microformats

Tutorielhtml

Publié par le , mis à jour le (31862 lectures)

xhtml sémantique html5 microformats microdata

Les microformats et HTML5

Logo HTML5

Mais que nous réservent les microformats à l'avenir ? Intéressons-nous à présent à leur implémentation dans le code HTML5…

HTML5 apporte son lot de nouveautés (voir HTML5 se dévoile). Les nouveaux éléments donnent davantage de sens à la structuration de la page et les microformats n'auront qu'à en tirer partie. Il est d'ailleurs déjà question de quelques-uns de ces nouveaux éléments sur la page dédiée à HTML5 dans le wiki du site officiel des microformats. Plusieurs éléments vont permettrent de se passer de certains Design Pattern ou certaines propriétés. Par exemple, l'élément <time> pourra remplacer le Design Pattern Datetime, l'élément <article> pourrait être une alternative à la propriété racine hentry de hAtom

Concernant les attributs rel et rev (nous n'avons pas parlé de cet attribut-là dans ce tutoriel et pour cause), le premier est bien pris en charge par HTML5, en revanche, rev a été purement et simplement retiré de la spécification et donc n'est plus pris en compte.

Autre petit désagrément livré avec HTML5, l'attribut profile a également été supprimé. On a déjà trouvé la parade en proposant un nouveau microformat : rel-profile. Celui-ci permet de définir le profil XMDP en le plaçant dans une balise <a> ou une balise <link> à l'endroit où il est nécessaire de définir les microformats.

Enfin, un nouveau terme apparaît dans HTML5 : Microdata. Ce sont des attributs supplémentaires permettant de préciser certains aspects sémantiques des éléments. Ils sont donc tout à fait dans la même ligne que les microformats puisqu'ils ajoutent des microdonnées. En voici quelques-uns :

  • L'attribut itemscope identifie et annonce des blocs qui seront balisés.
  • L'attribut itemprop est une version spécifique aux noms de champs remplaçant l'attribut class.
  • L'attribut itemref permet d'inclure des propriétés à un endroit quelconque de la page non descendant d'itemscope. Il prend plusieurs id séparées par un espace (exemple : itemref="address phone" inclura les éléments ayant comme id address et phone).
  • L'attribut itemtype permet de spécifier le type d'élément (exemple : itemtype="http://microformats.org/profile/hcard").

Pour ce faire une idée de ce que ces microdata pourraient apporter à l'avenir dans le microformatage, voici un petit exemple d'hCard :

<!DOCTYPE html>
<html lang="fr">
<head>
  <title>Tony Starck</title>
</head>
<body>
  <section itemtype="http://microformats.org/profile/hcard" itemscope>
    <h1 itemprop="fn">Tony Stark</h1>
    <div itemprop="adr" itemscope>
      <p itemprop="street-address">56, rue du fer</p>
      <p itemprop="locality">Ironheim</p>
      <p itemprop="postal-code">67 999</p>
    </div>
    <a href="http://marvel.com/characters/bio/1009368/iron_man/" itemprop="url">Ma biographie</a>
  </section>
</body>
</html>

Il y aurait beaucoup d'autres choses à dire à propos des microformats et HTML5 mais ce n'est pas le propos de ce tutoriel.