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 [1] 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.
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 (<ahref="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
:
<pclass="vevent"> The <spanclass="summary">English Wikipedia was launched</span> on 15 January 2001 with a party from <abbrclass="dtstart"title="2001-01-15T14:00:00+06:00">2pm</abbr>- <abbrclass="dtend"title="2001-01-15T16:00:00+06:00">4pm</abbr> at <spanclass="location">Jimmy Wales' house</span> (<aclass="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.
Concerns have been expressed [2] 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. [3] The newer h-event microformat therefore uses the HTML5 element time
instead:
<timeclass="dt-start"datetime="2013-06-30 12:00">30<sup>th</sup>June2013,12:00</time>
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: