웹 접근성 검사·수정 도우미 WCAG 2.1 진단 · 수정 코드 · 작업 지시서
← 접근성 아티클 목록

색상 대비 4.5:1, 실제로 어떻게 맞추나

명도 대비 실무 가이드 · WCAG 2.1 성공기준 1.4.3 · 1.4.1 · 1.4.11 · 2026년 9월

"연한 회색 글씨가 예쁘다"와 "그 글씨를 못 읽는 사람이 있다"는 자주 충돌합니다. 노안이 시작된 40대, 백내장이 있는 고령자, 밝은 야외에서 폰을 보는 사람, 저품질 디스플레이 사용자 — 이들에게 대비가 낮은 텍스트는 그냥 안 보입니다. 다행히 이 항목은 기준이 숫자로 딱 떨어지고, 자동으로 검사하기 좋은 영역입니다.

1. 명도 대비 비율이란

두 색의 상대 밝기(luminance)를 비교한 값입니다. 완전한 검정과 완전한 흰색이 21:1, 같은 색끼리가 1:1입니다. 공식은 (밝은색 + 0.05) / (어두운색 + 0.05)이며, 각 색의 밝기는 sRGB 값을 감마 보정해 가중합(0.2126 R + 0.7152 G + 0.0722 B)으로 구합니다. 초록이 가중치가 큰 이유는 사람 눈이 초록에 가장 민감하기 때문입니다 — 그래서 노란 글씨는 흰 배경에서 유독 대비가 안 나옵니다.

2. 기준값

대상AA(권장 최소)AAA
일반 텍스트4.5:17:1
큰 텍스트
(24px 이상, 또는 굵은 18.66px 이상)
3:14.5:1
UI 요소 경계·아이콘
(버튼 테두리, 입력창 선, 포커스 표시, 그래프 선)
3:1
(1.4.11)
로고, 비활성(disabled) 요소, 순수 장식기준 없음(예외)

대부분의 사이트는 본문 4.5:1, 큰 제목·아이콘·테두리 3:1만 지켜도 통과합니다.

3. 자주 나오는 미달 사례

4. 색만으로 정보를 전달하지 않기 (1.4.1)

대비와는 별개의 기준입니다. 색맹·색약은 남성 약 8%, 여성 약 0.5%. 이들에게 "빨강=오류, 초록=정상"은 구별되지 않습니다. 색 + 두 번째 단서를 항상 함께 씁니다.

<!-- 색만 -->
<span style="color:red">이메일 형식이 아닙니다</span>

<!-- 색 + 아이콘 + 접두 문구 -->
<span class="field-error">
  <svg aria-hidden="true">...</svg> 오류: 이메일 형식이 아닙니다
</span>

5. 다크모드에서 자주 놓치는 것

6. 측정 도구

자동 계산은 "CSS로 색이 정해진 텍스트"에만 정확합니다. 배경 이미지·그라디언트·스크립트로 바뀌는 색은 사람이 스크린샷으로 확인해야 합니다.

7. 실무 팁 — 팔레트를 만들 때

  1. 본문 색은 흰 배경에서 최소 #595959(7:1, AAA)를 기본값으로 잡으면 여유가 생깁니다.
  2. 회색 단계는 4~5단계면 충분합니다. 너무 촘촘하면 인접 단계끼리 구분이 안 됩니다.
  3. "보조 텍스트"라고 무조건 연하게 하지 말고, 4.5:1은 지키면서 크기·굵기·여백으로 위계를 만듭니다.
  4. 상태 색(성공/경고/오류)은 배경에 얹었을 때의 대비까지 미리 정의해 둡니다.

이 도구로 검사하면 "치명적/높음"으로 분류된 대비 문제부터 수정 코드와 함께 제시됩니다.

관련 글
· 대체 텍스트(alt) 제대로 쓰는 법
· 키보드만으로 쓸 수 있는 사이트 만들기
· 웹 접근성 실무 가이드 — 전체 개요
문의: dkdnj123@gmail.com