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'attributclass
. -
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 idaddress
etphone
). -
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.