HCalendar
1. 개요
hCalendar는 HTML 요소와 클래스를 사용하여 캘린더 정보를 웹 페이지에 임베딩하는 데 사용되는 마이크로포맷이다. 주로 `vevent`, `summary`, `dtstart`, `dtend`, `location`, `url` 등의 HTML 속성을 활용하여 행사 정보를 표현하며, ISO 8601 형식을 사용하여 날짜와 시간을 기계가 읽을 수 있도록 한다. hCalendar는 접근성 문제로 인해 HTML5의 `time` 요소를 사용하는 h-event로 대체되는 추세이며, 페이스북, 구글, 위키백과 등 다양한 웹사이트에서 사용된다.
| 종류 | 웹 형식 |
|---|---|
| 상태 | 제안됨 |
| 사양 | 마이크로포맷 위키 hCalendar hCard rel-license rel-nofollow |
| 설명 | 사람과 컴퓨터 모두 쉽게 처리할 수 있도록 웹페이지에 의미론적 마크업을 추가하는 웹 형식 접근 방식 |
|---|
| 마크업 언어 | HTML, XHTML |
|---|---|
| 기반 | XHTML 클래스 및 rel 속성 |
| 관련 표준 | RDFa, Microdata |
|---|
2. 예시
hCalendar 마크업은 `span` HTML 요소와 클래스 `vevent`, `summary`, `dtstart` (시작 날짜), `dtend` (종료 날짜), `location` 및 `url`을 사용하여 추가할 수 있다.
다음은 반가상적인 예시이다.
```
영문 위키백과가
2001년 1월 15일 지미 웨일스의 집에서
오후 2시부터 4시까지 파티와 함께 시작되었다
(자세한 정보).
```
HTML 마크업은 다음과 같다.
```html
영문 위키백과가
2001년 1월 15일 지미 웨일스의 집에서
오후 2시부터 4시까지 파티와 함께 시작되었습니다
(자세한 정보)
```
다른 예시로, 다음과 같은 가상 이벤트를 생각해 보자.
```
2001년 5월 20일
오후 2시부터 오후 4시까지
지미 웨일스의 집에서 열린 파티를 기점으로
위키백과 일본어판이 발족했다.
(자세한 내용은 여기)
```
HTML에서는 다음과 같이 작성할 수 있다.
```html
2001년 5월 20일
오후 2시부터 오후 4시까지
지미 웨일스의 집에서 열린 파티를 기점으로
위키백과 일본어판이 발족했다.
(자세한 내용은 여기)
2.1. 일반적인 예시
html
영문 위키백과 시작
2001년 1월 15일 오후
2시-
4시에
지미 웨일스의 집에서
(자세한 정보)
```
시작 및 종료 시간에 대한 기계가 읽을 수 있는 ISO 8601 날짜-시간 형식을 포함하기 위해 `abbr` 요소가 사용되었다.
```html
2001년 5월 20일
오후 2시부터
오후 4시에
지미 웨일스의 집에서 열린 파티를 기점으로
위키백과 일본어판이 발족했다.
(자세한 내용은 여기)
```
시작 시간과 종료 시간을 포함하는 `abbr` 요소를 사용할 때, 기계가 읽을 수 있는 형식, 즉 ISO 8601 (en)에 따른 날짜-시간 형식으로 작성해야 한다. 종일 일정의 경우, 즉 시간을 지정하지 않는 경우, 종료 일시는 "exclusive" (즉, 이벤트 종료 다음 날)로 기록된다.
```html
2001년 1월 31일
3. 속성
hCalendar의 전체 속성 목록은 [http://microformats.org/wiki/hcalendar-cheatsheet hCalendar 치트 시트]에서 확인할 수 있다.
예를 들어, 다음과 같은 가상의 이벤트를 생각해 보자.
2001년 5월 20일
오후 2시부터 오후 4시까지
지미 웨일스의 집에서 열린 파티를 기점으로
위키백과 일본어판이 발족했다.
(자세한 내용은 여기)
hCalendar에서는 HTML 요소인 ``과 HTML 속성인 `vevent`, `summary`, `dtstart` (시작 날짜 및 시간), `dtend` (종료 날짜 및 시간), `location`, `url`을 사용하여 다음과 같이 표현할 수 있다.
2001년 5월 20일
오후 2시부터 오후 4시에
지미 웨일스의 집에서 열린 파티를 기점으로
위키백과 일본어판이 발족했다.
(자세한 내용은 여기)
여기서 시작 시간과 종료 시간을 포함하는 `` 요소를 사용할 때는 기계가 읽을 수 있는 형식, 즉 ISO 8601 형식에 따른 날짜-시간 형식으로 작성해야 한다.
4. 접근성 문제
`abbr` 요소(소위 [http://microformats.org/wiki/abbr-design-pattern abbr-design-pattern])를 사용하는 방식은 스크린 리더 및 음성 브라우저 사용자에게 접근성 문제를 야기할 수 있다는 우려가 제기되었다. 따라서, 더 새로운 [http://microformats.org/wiki/h-event h-event] 마이크로포맷은 HTML5 요소 `time`을 대신 사용한다. 이러한 우려는 에 기재되어 있으며, abbr-design-pattern영어이라고 불리는 `abbr`의 사용법이 화면 판독이나 음성 브라우저를 사용하는 사용자에게 접근성 문제를 야기한다고 지적하고 있다. ISO8601에 따른 날짜 및 시간 정보 표현 방법의 대안 검토도 진행 중이다.
5. Geo
지오 마이크로포맷은 hCalendar 명세의 일부이며, hCalendar 내에 행사 위치의 좌표를 포함시키기 위해 자주 사용된다.