WHATWG Blog에서 전한 내용: WHATWG Weekly: Now it’s <time> for <data>
HTML5에 포함되었던, 주로 시간과 날짜를 마크업 할 때 사용되던, time
element가 보다 폭넓은 데이터 형식에 대한 요구를 수용하기 위해 schema.org에 정의된 Microdata 용어를 사용하는 data
element로 대치되었다는 소식.
이번의 변경을 가져온 처음의 제안 내용과 논의를 살펴보면 적지 않은 반대 의견도 살펴볼 수 있는데, 개인적으로도 time
element가 소개되기 이전에 미리 이러한 논의가 이뤄져서 개발자의 혼란을 막았었으면 하는 아쉬움이 있다. (HTML5는 아직 Working Draft임을 감안하더라도.)
Spec에 나와 있는 data element의 사용법을 살펴보면, data
element는 감싸고 있는 내용에 대한 기계적으로 해석되는 용도의 value
attribute을 항상 포함하고 있어야 한다.
간단한 예로, data
element를 써서 특정 시간을 마크업 한 예.
<p>Our first date was <data value="2006-09-23">a Saturday</data>.</p>
다음은 data
element로 schema.org에 정의된 Microdata 용어를 써서 블로그 글이 작성된 날짜를 마크업 한 예.
<article itemscope itemtype="http://schema.org/BlogPosting">
<h1 itemprop="headline">Small tasks</h1>
<footer>Published <data itemprop="datePublished" value="2009-08-30">yesterday</data>.</footer>
<p itemprop="articleBody">I put a bike bell on his bike.</p>
</article>
data-* attributes과 마찬가지로 문서에 저장된 다양한 형식의 정보를 data
element를 써서 기계와 JavaScript가 접근하기 쉽게 해놓았다지만, 마크업 하기 간단명료했던 time
element의 어쩔 수 없는 퇴장은 그래도 아쉽다. 아직 덜 똑똑한 기계 때문에 이런 혼란스런 상황이 벌어졌고, 그래서 더 부지런해야만 하는 것은 개발자들의 몫으로 남겨졌다.
덧붙임: time element의 완전한 삭제/퇴장/배제를 재고해달라는 공식 요청
결국 time
, data
element가 공존하는 방향으로 갈 수도 있을듯한데 어떻게 될지는 지켜볼 일.
덧붙임 2: 결국, WG 회원들 간의 충분한 논의가 없었음을 인지하고 이번 사건과 관련된 spec의 수정은 일단 보류되었다.