WCAG 2.2 · 1. 인식의 용이성 · 1.3 적응 가능
1.3.1 정보와 관계
Info and Relationships
제목, 목록, 표, 레이블처럼 화면에서 보이는 구조와 관계를 마크업으로도 알 수 있게 해야 합니다.
수준 AWCAG 2.0
한눈에 보기
- 성공 기준
- 1.3.1 정보와 관계
- 수준
- 수준 A
- 원칙
- 1. 인식의 용이성
- 지침
- 1.3 적응 가능
- 도입
- WCAG 2.0
요구 사항
시각적 표현(글자 크기, 굵기, 들여쓰기, 배치, 색)으로 전달하는 정보·구조·관계를 프로그램이 알아낼 수 있게(programmatically determined) 하거나, 텍스트로도 제공해야 합니다.
- 크고 굵은 글씨로 보이는 제목은
<h1>~<h6>로 표시합니다. - 목록처럼 보이는 내용은
<ul>,<ol>,<dl>로 만듭니다. - 데이터 표는
<th>와scope(또는headers)로 제목 셀과 데이터 셀의 관계를 알립니다. - 입력 필드와 레이블은
<label for>등으로 연결하고, 관련 필드 묶음은<fieldset>/<legend>로 묶습니다. - 머리글, 탐색, 본문 같은 영역은 랜드마크(
<header>,<nav>,<main>등)로 구분합니다. - “* 표시는 필수 항목”처럼 시각적으로만 나타낸 의미도 마크업이나 텍스트로 전달합니다.
왜 필요한가요
화면낭독기 사용자는 제목 목록으로 페이지를 훑어보고, 표에서는 각 셀이 어느 행·열 제목에 속하는지 들으며 이동합니다. 구조가 시각적으로만 표현되면 이 모든 탐색 기능을 쓸 수 없고, 사용자 스타일시트나 읽기 모드로 바꾸었을 때도 구조가 사라집니다.
도움받는 사용자
- 시각장애인(화면낭독기 사용자)
- 시청각장애인(점자정보단말기 사용자)
- 저시력 사용자(화면 확대 사용자)
- 인지·학습 장애가 있는 사용자
- 사용자 스타일·읽기 모드 사용자
적용 방법
먼저 의미에 맞는 HTML 요소를 사용합니다. HTML 요소로 표현할 수 없는 사용자 정의 위젯의 구조는 ARIA 역할·속성으로 보충합니다(예: tablist, tab, aria-expanded). <div>에 스타일만 입힌 가짜 제목·가짜 표를 만들지 않습니다.
관련 가이드: 랜드마크와 제목 구조, 폼 접근성, 데이터 표 패턴.
<h2>배송 정보</h2>
<fieldset>
<legend>배송 방법</legend>
<label><input type="radio" name="ship" value="normal"> 일반 배송</label>
<label><input type="radio" name="ship" value="fast"> 빠른 배송</label>
</fieldset>
<table>
<caption>요금표</caption>
<tr><th scope="col">구분</th><th scope="col">요금</th></tr>
<tr><th scope="row">일반 배송</th><td>3,000원</td></tr>
</table>사례
스타일만 입힌 가짜 제목
<div class="title-large">공지사항</div>
<span class="label">이메일</span> <input type="email">화면낭독기는 제목 목록에 나타내지 못하고, 입력 필드의 이름도 알 수 없습니다.
의미에 맞는 요소 사용
<h2>공지사항</h2>
<label for="email">이메일</label> <input type="email" id="email">자주 하는 실수
- 제목을
<div>나<b>로 크게 보이게만 만듭니다. - 데이터 표에
<th>를 쓰지 않거나, 반대로 레이아웃용 표에<th>와<caption>을 씁니다. - 입력 필드 옆에 텍스트만 두고
<label>로 연결하지 않습니다. - 라디오 버튼 묶음에 질문(그룹 이름)을 연결하지 않습니다.
검사 방법
- CSS를 끄거나 읽기 모드로 페이지를 보고 제목·목록·표 구조가 유지되는지 확인합니다.
- 화면낭독기의 제목 목록·랜드마크 목록·표 탐색 기능으로 구조를 확인합니다.
- 모든 입력 필드에 레이블이 프로그램적으로 연결되어 있는지 개발자 도구의 접근성 패널로 확인합니다.