HCalendar

hCalendar（HTML iCalendarを短縮した名称）は、HTMLやXHTMLのクラスとリンク属性（Rel属性、Rel attribute）を用いて、Webページ上にて、あるイベントについてのiCalendar形式のカレンダー情報を表すセマンティックHTML記述のためのマイクロフォーマットである。

hCalendarでは、パーシングツール（たとえば、他のウェブサイトや、FirefoxのOperator拡張のようなブラウザーのアドオンなど）をもちいて、イベント詳細の抽出、その抽出されたイベント詳細の他のウェブサイトでの表示、イベント詳細のインデックス化および検索ができる。具体的には、カレンダーおよび日記プログラム等にイベント詳細を読み込ませることができる。また、複数のイベント情報をタイムラインとして表示すること等ができる。

記述例

たとえば、以下の架空のイベントについて考えてみる。
   2001年5月20日の
   午後2時から午後4時に
   ジミー・ウェールズの家で開かれたパーティをもって
   ウィキペディア日本語版は発足した。
   （詳細はこちら）

HTMLでは以下のように書くことができる。
<p>
   2001年5月20日の
   午後2時から午後4時に
   ジミー・ウェールズの家で開かれたパーティをもって
   ウィキペディア日本語版は発足した。
    (<a href="https://ja.wikipedia.org/wiki/ウィキペディア日本語版#.E6.AD.B4.E5.8F.B2">詳細はこちら</a>)
</p>

hCalendar では、HTML要素のspan と HTML属性のclassであるvevent、summary、dtstart（開始日時）、dtend（終了日時）、location 、urlを用いて以下のように書くことができる。

<p class="vevent">
    2001年5月20日の
    <abbr class="dtstart" title="2001-05-20T14:00:00+09:00">午後2時</abbr>から
    <abbr class="dtend" title="2001-05-20T16:00:00+09:00">午後4時</abbr>に
    <span class="location">ジミー・ウェールズの家</span>で開かれたパーティをもって
    <span class="summary">ウィキペディア日本語版は発足した</span>。
    (<a class="url" href="https://ja.wikipedia.org/wiki/ウィキペディア日本語版#.E6.AD.B4.E5.8F.B2">詳細はこちら</a>)
</p>

注意点としては、開始時刻と終了時刻を含むabbr要素を使うときには、機械可読な形式、すなわち ISO 8601 (en) による date-time形式で書かなければならない点が挙げられる。

排他的終了日時

終日日程の場合、すなわち時刻を指定しない場合、終了日時は"exclusive" （つまり、イベント終了の翌日）として記録される。たとえば以下のとおり。

 <abbr class="dtend" title="2001-02-01">2001年1月31日</abbr>

アクセシビリティに関する懸念

それらの懸念は、 に記載されている。と呼ばれるabbrの使い方が画面の読み取りや読み上げブラウザを使っているユーザーにとってのアクセシビリティ問題の原因となると指摘されている。そのため、ISO8601：日時情報で表現する方法の代替案の検討が進行中である  。これは、排他的終了日時において問題になる（上記の例参照）。

また、HTML5で導入された time 要素を使って日時を示すことも推奨されている。上の例をHTML5で書き直すと以下のようになる。

<p class="vevent">
    2001年5月20日の
    <time class="dtstart" title="2001-05-20T14:00:00+09:00">午後2時</time>から
    <time class="dtend" title="2001-05-20T16:00:00+09:00">午後4時</time>に
    <span class="location">ジミー・ウェールズの家</span>で開かれたパーティをもって
    <span class="summary">ウィキペディア日本語版は発足した</span>。
    (<a class="url" href="https://ja.wikipedia.org/wiki/ウィキペディア日本語版#.E6.AD.B4.E5.8F.B2">詳細はこちら</a>)
</p>

Geo
Geo (マイクロフォーマット)は、hCalendar仕様の一部分である。また、これはhCalendarとともにイベント開催場所の座標を記述するのにつかわれている。

属性

すべての属性のリストについては、 hCalendar cheat-sheetを参照のこと。

利用例
hCalendarを使用している重要な組織やウェブサイトは以下のとおりである。

Birmingham Town Hall and Symphony Hall
Facebook
Google (in Google maps) 
The Opera web browser website
The Radio Times
The University of Bath
The University of Washington
Upcoming.org
Wikipedia
Yahoo!, on Yahoo! Local

参考文献

外部リンク
 hCalendar at the Microformats Wiki

セマンティック・ウェブ
HTML
知識表現
マイクロフォーマット