hCalendar (short for HTML iCalendar) is a microformat standard for displaying a semantic (X)HTML representation of iCalendar-format calendar information about an event, on web pages, using HTML classes and rel attributes.
It allows parsing tools (for example other websites, or browser add-ons like Firefox's Operator extension) to extract the details of the event, and display them using some other website, index or search them, or to load them into a calendar or diary program, for instance. Multiple instances can be displayed as timelines.
Contents |
Consider this semi-fictional example:
The English Wikipedia was launched on 15 January 2001 with a party from 2-4pm at Jimmy Wales' house (more information).
The HTML mark-up might be:
<p> The English Wikipedia was launched on 15 January 2001 with a party from 2-4pm at Jimmy Wales' house (<a href="http://en.wikipedia.org/wiki/History_of_Wikipedia">more information</a>) </p>
hCalendar mark-up may be added using span
HTML elements and the classes vevent
, summary
, dtstart
(start date), dtend
(end date), location
and url
:
<p class="vevent"> The <span class="summary">English Wikipedia was launched</span> on 15 January 2001 with a party from <abbr class="dtstart" title="2001-01-15T14:00:00+06:00">2</abbr>- <abbr class="dtend" title="2001-01-15T16:00:00+06:00">4</abbr>pm at <span class="location">Jimmy Wales' house</span> (<a class="url" href="http://en.wikipedia.org/wiki/History_of_Wikipedia">more information</a>) </p>
Note the use of the abbr
element to contain the machine readable, ISO8601, date-time format for the start and end times.
For whole-day dates, where no time is specified, the end-date must be recorded as exclusive (i.e. the day after the event ends). For example:
<abbr class="dtend" title="2001-02-01">31 January 2001</abbr>
Concerns have been expressed[1] that, where it occurs, the use of the abbr
element (using the so-called abbr-design-pattern) in the above manner causes accessibility problems, not least for users of screen readers and aural browsers. Work is underway to find an alternative method of presenting ISO8601 date-time information.[2] This is particularly problematic for exclusive end-dates (see above example).
The Geo microformat is a part of the hCalendar specification, and is often used to include the coordinates of the event's location within an hCalendar.
For a full list of attributes, see the hCalendar cheat-sheet.
Notable organisations and other websites using hCalendar include: