역할 · 문서 구조
role="caption"
표(table, grid, treegrid)나 figure의 보이는 제목·설명을 나타냅니다.
중급HTML 요소 우선
한눈에 보기
- 분류
- 문서 구조
- 대응 HTML
<caption>(표),<figcaption>(그림)- 이름 정하는 방법
- 금지 (prohibited)
- 이름 필수
- 아니요
- 필수 하위 요소
- 없음
설명
caption은 상위 표나 그림의 이름(필요하면 설명까지)이 되는 보이는 콘텐츠입니다. WAI-ARIA 1.2에서 추가되었습니다.
HTML과의 관계
HTML <caption>은 <table>의 이름을, <figcaption>은 <figure>의 이름을 브라우저가 자동으로 계산해 줍니다. 그래서 HTML 표와 그림에는 이 요소를 쓰면 충분합니다. role="caption"은 div 등으로 만든 ARIA 표·그리드에서만 필요합니다.
ARIA로 만들 때 규칙
- caption은 표·그리드의 첫 번째 자식, figure의 첫 번째 또는 마지막 자식으로 둡니다.
- ARIA 캡션은 이름을 자동으로 주지 않습니다. 상위 요소에
aria-labelledby로 캡션을 연결합니다. 캡션에 이름과 긴 설명이 함께 있으면 이름 부분은aria-labelledby, 설명 부분은aria-describedby로 나눠 연결할 수 있습니다. - caption 자신에게는
aria-label/aria-labelledby를 쓸 수 없습니다(이름 금지).
함께 쓰는 속성
전역 속성(이름·설명 등)은 모든 역할에 쓸 수 있어 생략했습니다.
사용 예
HTML 표의 caption (권장)
<table>
<caption>2026년 월별 대출 권수</caption>
…
</table>ARIA 표의 caption
<div role="table" aria-labelledby="t-name" aria-describedby="t-desc">
<div role="caption">
<div id="t-name">대회 참가자</div>
<div id="t-desc">지난 4주 동안 접수된 참가자 500명의 명단입니다.</div>
</div>
<div role="row">…</div>
</div>화면낭독기에서는
| 상황 | 들리는 안내 (예) |
|---|---|
| 표로 이동 | 2026년 월별 대출 권수, 표, 13행 3열 |
사용 지침
이렇게 쓰세요
- HTML 표에는
<caption>, 그림에는<figcaption>을 씁니다. - ARIA 캡션은 상위 요소의
aria-labelledby로 연결합니다.
이렇게 쓰지 마세요
- caption을 표·그림 밖에 두지 않습니다.
- caption 요소 자체에
aria-label을 붙이지 않습니다.
관련 역할·패턴
이 역할을 쓰는 패턴