HTML5 마이크로데이터 API란?
HTML5 마이크로데이터(microdata) 표준은 크게 두 가지 요소로 구성되어 있습니다.
- HTML 마크업: 웹 페이지에 의미 정보를 담아 검색 엔진이 콘텐츠를 더 잘 이해하도록 돕는 역할을 합니다.
- DOM 함수 집합: 자바스크립트를 통해 마이크로데이터에 접근하고 조작할 수 있도록 브라우저에서 제공하는 API입니다.
마이크로데이터 마크업과 검색 엔진
웹 페이지에 마이크로데이터 마크업을 추가하더라도, 마이크로데이터 속성(itemscope, itemprop 등)을 인식하지 못하는 검색 엔진은 해당 속성을 단순히 무시합니다. 즉, 마이크로데이터를 사용해도 기존 페이지 동작에는 아무런 영향을 주지 않으므로 안전하게 적용할 수 있습니다.
하지만 자바스크립트로 DOM을 통해 마이크로데이터에 접근하거나 값을 읽어오려면, 사용 중인 브라우저가 마이크로데이터 DOM API를 지원하는지 먼저 확인해야 합니다.
브라우저 지원 여부 확인하기
브라우저가 HTML5 마이크로데이터 API를 지원한다면, 전역 document 객체에 getItems() 함수가 존재합니다. 반대로 마이크로데이터를 지원하지 않는 브라우저에서는 getItems()가 undefined로 나타납니다.
이 특성을 활용하면 다음과 같은 간단한 코드로 기능 감지(feature detection)를 수행할 수 있습니다.
function supports_microdata_api() {
return !!document.getItems;
}!!document.getItems는 getItems() 함수의 존재 여부를 불리언 값으로 변환합니다. 함수가 정의되어 있으면 true, 정의되어 있지 않으면 false를 반환하므로, 이 함수의 결과값에 따라 마이크로데이터 관련 로직을 실행할지 분기 처리하면 됩니다.
참고 사항
이러한 기능 감지 패턴은 HTML5의 다른 API(예: localStorage, geolocation 등) 지원 여부를 확인할 때도 널리 사용되는 표준적인 방법입니다. 객체나 함수의 존재를 직접 검사함으로써 브라우저 종류나 버전을 일일이 판별하는 것보다 훨씬 안정적이고 유지보수가 쉽습니다.