Skip to Content
WebHTML모던 HTML02. Baseline과 호환성 표 읽는 법

이번 편의 결과물: (실습 없음) 03편부터 매 편에서 반복할 “이 기능, 지금 써도 되는가” 조사 습관 · 다루는 개념: Baseline 세 단계, MDN 호환성 표 읽는 법, @supports와 JS feature detection

이 편에서 하는 일

이 편은 파일을 고치지 않습니다. 대신 03편부터 만나는 모든 새 기능마다 “이거 지금 실제 서비스에 써도 되나?”를 스스로 확인하는 방법을 세웁니다. 이 과목은 <dialog>(2022년)부터 customizable <select>(2026년 기준 미도달)까지 지원 시기가 제각각인 기능을 다룹니다. 한 번 배운 지원 상태를 외우는 게 아니라, 여러분이 이 문서를 읽는 시점에 직접 다시 확인하는 절차를 배웁니다.

Baseline 세 단계

web.dev의 Baseline 은 웹 플랫폼 기능의 지원 상태를 세 단계로 나눕니다.

단계실무 판단
Limited availability일부 브라우저만 지원실험 목적 외 프로덕션 사용은 위험하다
Newly available주요 브라우저 전부가 최근에 지원 시작구형 브라우저 사용자 비율을 확인하고 폴백을 준비한다
Widely available2년 이상 모든 주요 브라우저가 안정적으로 지원폴백 없이 바로 써도 된다고 본다

이 과목에서 <dialog>·popover·<details name>은 이미 Widely available입니다. 반면 customizable <select>(18편)는 2026년 9월 기준 Baseline에 아직 도달하지 못했습니다. 같은 “HTML 기능”이라도 단계가 다르면 실무에서 쓰는 방식이 완전히 달라집니다.

MDN 호환성 표 읽는 법

MDN의 모든 API·요소 문서 하단에는 “Browser compatibility” 표가 있습니다. 표에서 확인할 항목은 세 가지입니다.

  1. 각 브라우저 열의 첫 지원 버전 숫자. 숫자가 비어 있거나 각주가 달려 있으면 아직 부분 지원입니다.
  2. 표 위의 Baseline 배지. 초록(Widely) · 파랑(Newly) · 회색(Limited)으로 한눈에 단계를 알려줍니다.
  3. 문서 상단의 “최종 업데이트” 또는 각주 날짜. 오늘 날짜와 비교해 최근 정보인지 확인합니다.

쉽게 말하면: 표의 초록 배지만 보고 넘어가지 말고, 배지 아래 실제 버전 숫자와 각주까지 읽는 것이 이 습관의 전부입니다.

@supports와 JS feature detection

Baseline 배지가 Newly이거나 Limited인 기능은 지원하지 않는 브라우저를 위한 폴백을 함께 설계합니다. CSS는 @supports, JavaScript는 기능 자체가 있는지 직접 검사하는 feature detection을 씁니다.

/* 지원 브라우저에서만 popover 관련 스타일 적용 */ @supports selector(:popover-open) { [popover]:popover-open { animation: fade-in 200ms ease; } }
// portfolio/js/main.js (개념 예시, 아직 실제로 쓰지 않음) if (typeof HTMLDialogElement.prototype.showModal === 'function') { // dialog API를 정상적으로 쓸 수 있는 환경 }

@supports는 CSS 속성 자체가 아니라 셀렉터 지원 여부를 검사할 때 selector() 함수를 함께 씁니다. :popover-open처럼 새 의사 클래스는 이 방식으로 검사합니다.

실습

1. <dialog> 호환성 표 찾아가기

MDN에서 <dialog> 문서를 열어 하단 “Browser compatibility” 표까지 스크롤합니다.

2. Baseline 배지와 버전 숫자 대조하기

표 위 배지가 Widely available인지 확인하고, Chrome·Firefox·Safari 열의 첫 지원 버전 숫자를 각각 적어 봅니다.

3. Popover API로 같은 절차 반복하기

MDN Popover API 문서에서 같은 절차를 반복합니다. <dialog>보다 나중에 Baseline에 도달했으므로 배지 색이나 도달 시점이 다른지 비교합니다.

4. 확인

  • <dialog>와 Popover API 둘 다 Widely available 배지를 확인했다.
  • 두 기능의 Baseline 도달 시점이 다르다는 것을 실제 표에서 확인했다(02_목차.md 참고 자료의 시점과 비교해도 좋습니다).

직접 해보기

MDN에서 <selectedcontent> 문서를 찾아 호환성 표를 확인해 보세요. 18편에서 다룰 기능입니다. 지금 시점 배지가 무슨 색인지, 어떤 브라우저가 아직 지원하지 않는지 적어 보세요.

답 확인

01_학습방향.md 작성 시점(2026-09-16) 기준으로 <selectedcontent>는 Limited availability였습니다. Chrome·Edge는 안정 지원, Safari는 Technology Preview, Firefox는 프로토타입 단계였습니다. 여러분이 지금 확인한 값이 이와 다르다면, 그사이 지원 상태가 바뀐 것이니 18편에서 최신 값을 다시 반영합니다.

자주 하는 실수

증상원인고치는 법
블로그 글만 보고 “이제 다 지원한다”고 단정한다블로그 작성 시점과 지금 시점의 지원 상태가 다를 수 있다MDN 호환성 표를 직접 열어 오늘 날짜 기준으로 재확인한다
Newly available 기능을 폴백 없이 그대로 배포한다Newly는 “최근에 지원 시작”이지 “오래 안정적”이 아니다구형 브라우저 비율을 확인하고 @supports나 feature detection을 함께 넣는다
@supports에 속성만 검사하고 의사 클래스는 검사하지 않는다@supports(prop: value)@supports selector(...)가 다른 문법이라는 것을 모른다의사 클래스·의사 요소는 반드시 selector()로 감싼다

확인 문제

문제 14지선다
Baseline Widely available 단계의 뜻으로 옳은 것은?
문제 24지선다
MDN 호환성 표를 읽을 때 배지 색 외에 추가로 확인해야 할 것은?
문제 34지선다
CSS에서 새 의사 클래스 지원 여부를 검사하는 올바른 문법은?
문제 44지선다
이 과목에서 dialog·popover와 customizable select의 실무 취급이 다른 이유는?

참고 자료

Last updated on