hCalendar
hCalendar (raccourci de HTML iCalendar) est un standard Microformat destiné à afficher une représentation sémantique XHTML du format iCalendar concernant l'information à propos d'un événement sur les pages web.
Il permet aux outils d'analyse (par exemple d'autres sites web, ou l'extension Operator de Firefox) d'extraire les détails de l'événement, et de les afficher en utilisant un autre site web, de les indexer ou de les chercher, ou de les charger à l'intérieur d'un programme de gestion d'agenda ou de publication de journal.
Les utilisateurs peuvent ainsi facilement copier ou s'abonner aux événements via l'utilisation d'un service de conversion de hCalendar vers iCalendar.
Exemples
Exemple 1
<div class="vevent">
<div class="summary">Rock en Seine</div>
<abbr class="dtstart" title="20070824">24</abbr> -
<abbr class="dtend" title="20070827">26 août 2007</abbr>
<div class="location">Domaine National de Saint Cloud, Saint Cloud, France</div>
<a class="url" href="http://www.lastfm.fr/event/183366">Lien permanent</a>
</div>
L'utilisation de l'élément abbr
présente une date abrégée lisible par le lecteur sans oublier l'attribut "title" qui révélera une date précise, lisible par une machine selon la norme ISO 8601.
Exemple 2 : Enrichir un événement avec hCalendar
Imaginons cet exemple semi-fictif :
La version anglaise de Wikipédia fut lancée le 15 janvier 2001 lors d'une partie de 14h00 à 16h00 chez Jimmy Wales (plus d'information).
Le balisage HTML pourrait être :
<p>
La version anglaise de Wikipédia fut lancée
le 15 janvier 2001 lors d'une partie de
14h00 à 16h00 chez
Jimmy Wales
(<a href="http://fr.wikipedia.org/wiki/Histoire_de_Wikip%C3%A9dia">plus d'information</a>).
</p>
Nous pouvons ajouter un balisage hCalendar en utilisant des éléments HTML span
et les classes vevent
, summary
, dtstart
(start date), dtend
(end date), location
et url
:
<p class="vevent">
La <span class="summary">version anglaise de Wikipédia fut lancée</span>
le 15 janvier 2001 lors d'une partie de
<abbr class="dtstart" title="2001-01-15T14:00:00+6:00">14h00</abbr> à
<abbr class="dtend" title="2001-01-15T16:00:00+6:00">16h00</abbr> chez
<span class="location">Jimmy Wales</span>
(<a class="url" href="http://fr.wikipedia.org/wiki/Histoire_de_Wikip%C3%A9dia">plus d'informations</a>)
</p>
Remarquons l'utilisation de l'élément abbr
pour contenir le format date-time lisible par les machines ISO 8601 pour les heures de début et de fin.
Dates de fin exclusives
Pour des dates qui contiennent une journée entière, où aucune heure n'est spécifiée, la date de la fin doit être enregistrée comme exclusive (c'est-à-dire le jour après la fin de l'événement). Par exemple :
<abbr class="dtend" title="2008-02-01">31 janvier 2008</abbr>
Problèmes d'accessibilité
Des problèmes ont été soulevés[1] à propos de l'utilisation de l'élément abbr
(utilisant le « abbr-design-pattern[2] » comme ci-dessus) provoquant des problèmes d'accessibilité, non seulement pour les utilisateurs de lecteurs écran et les navigateurs oraux. Le travail est en cours pour trouver une méthode alternative de présentation de l'information date-time ISO8601[3]. Ceci est particulièrement problématique pour les dates de fin exclusives (voir l'exemple au-dessus).
Geo
Le microformat geo fait partie de la spécification hCalendar, et il est souvent utilisé pour inclure les coordonnées du lieu de l'évènément dans un hCalendar.
Attributs
Pour une liste complète des attributs voir l'anti-sèche hCalendar[4].
Utilisateurs
Quelques organisations connues et autres sites web utilisant hCalendar :
- Birmingham Town Hall et Symphony Hall
- Google (dans Google maps)
- Radio Times
- Upcoming.org
- Wikipédia
- Yahoo!, sur Yahoo! Local
Références
- Web Standards Project, hAccessibility: Abbreviations in Microformats
- « Abbr design pattern · Microformats Wiki », sur microformats.org (consulté le )
- Microformats Wiki: Assistive Technology
- « hcalendar-cheatsheet-fr · Microformats Wiki », sur microformats.org (consulté le )
Liens externes
Pour une liste complète des noms de classe hCalendar, plus de détails sur la spécification hCalendar et l'accès à des services de conversion de hCalendar vers iCalendar, voir :