HTML5는 기존 웹 브라우저와 최대한 하위 호환성(backward compatibility)을 유지하도록 설계되었습니다. 이는 새로운 기능들이 기존 기능 위에 자연스럽게 구축되도록 만들어졌기 때문이며, 구형 브라우저를 사용하는 사용자에게도 대체 콘텐츠(fallback content)를 제공할 수 있게 해줍니다.
HTML5의 하위 호환성 설계 원칙
HTML5 표준을 수립한 W3C와 WHATWG는 기존 웹 콘텐츠가 깨지지 않도록 하는 것을 최우선 과제로 삼았습니다. 덕분에 개발자는 최신 HTML5 기능을 도입하면서도, 이를 지원하지 않는 구형 브라우저에서도 페이지가 정상적으로 동작하도록 설계할 수 있습니다.
기능별 지원 여부 감지 방법
HTML5의 모든 기능을 브라우저가 한꺼번에 지원하는 것은 아니기 때문에, 브라우저 전체를 판단하기보다는 개별 기능 단위로 지원 여부를 확인하는 것이 권장됩니다. 이를 위해 몇 줄의 JavaScript 코드로 특정 HTML5 기능(예: 캔버스, 로컬 스토리지, 비디오 등)의 사용 가능 여부를 감지할 수 있으며, 이를 기능 감지(feature detection)라고 부릅니다.
주요 데스크톱 브라우저의 지원 현황
Apple Safari, Google Chrome, Mozilla Firefox, Opera의 최신 버전은 대부분의 HTML5 기능을 폭넓게 지원합니다. 또한 당시 차세대 브라우저로 주목받던 Internet Explorer 9.0 역시 일부 HTML5 기능에 대한 지원을 포함할 예정이었습니다.
모바일 브라우저의 HTML5 지원
iPhone, iPad, Android 스마트폰에 기본으로 탑재되어 있는 모바일 웹 브라우저 역시 HTML5에 대한 탁월한 지원 수준을 자랑합니다. 모바일 환경에서 HTML5 기반 웹 앱과 반응형 콘텐츠를 안정적으로 구현할 수 있는 이유입니다.
정리
HTML5는 하위 호환성을 전제로 설계된 표준이기 때문에 안심하고 도입할 수 있습니다. 다만 브라우저마다 지원하는 기능의 범위가 다르므로, JavaScript를 활용한 기능 감지를 병행하면 구형 브라우저 사용자까지 놓치지 않는 견고한 웹 페이지를 만들 수 있습니다.