명도 대비
텍스트와 배경의 명도 대비를 미리보기로 확인하고 읽기 쉬운 색상 제안을 받으세요.
텍스트와 배경의 명도 대비를 미리보기로 확인하고 읽기 쉬운 색상 제안을 받으세요.
누구나 사용할 수 있는 접근성 높은 인터페이스를 디자인하세요.
명도 대비는 텍스트 색상과 배경 색상 사이의 밝기 차이를 수치로 확인해 글자가 실제 화면에서 읽기 쉬운지 판단하게 해 줍니다. 한국어 검색에서는 명도 대비라는 표현이 자연스럽고, 디자인 문서나 접근성 자료에서는 color contrast checker라는 영어 표현도 함께 쓰입니다. 중요한 점은 색이 예쁜지보다 사용자가 버튼 문구, 본문, 레이블, 링크, 오류 메시지를 안정적으로 읽을 수 있는지입니다.
현재 화면은 텍스트 색상과 배경 색상을 각각 입력하고, 색상 선택기와 HEX 입력란으로 값을 조정하며, 명도와 불투명도 슬라이더로 실제 표시 상태를 바꿀 수 있게 구성되어 있습니다. 미리보기 영역에는 제목, 문단, 버튼 샘플이 함께 표시되고, 대비율과 가독성 판정 영역이 바로 갱신됩니다. 단순히 숫자 하나를 보여 주는 흐름이 아니라 색상 조합을 보면서 조정하고 복사할 수 있는 검사 흐름입니다.
일반 텍스트와 큰 텍스트는 필요한 대비 수준이 다릅니다. 그래서 하나의 숫자만 기억하기보다, 지금 검사하는 대상이 본문인지, 큰 제목인지, 버튼 문구인지, 장식용 색인지 구분해야 합니다. 명도 대비는 그 판단을 빠르게 시작하게 해 주지만, 최종 적용 전에는 실제 컴포넌트 크기와 배경 위에서 다시 확인하는 것이 안전합니다.
# 뒤의 여섯 자리 HEX 코드로 확인할 수 있습니다.대비율은 높을수록 전경과 배경의 밝기 차이가 크다는 뜻입니다. 그러나 모든 색상 조합이 같은 용도로 쓰이는 것은 아닙니다. 본문, 작은 버튼 문구, 입력 레이블처럼 작은 텍스트는 더 강한 대비가 필요하고, 큰 제목이나 장식 요소는 기준과 사용 맥락을 분리해 판단해야 합니다.
| 검사 항목 | 의미 | 실무 판단 |
|---|---|---|
| AA 일반 | 일반 크기 텍스트에 필요한 기본 접근성 기준 | 본문, 메뉴, 폼 레이블, 버튼 문구에 우선 확인합니다. |
| AA 큰 텍스트 | 큰 제목이나 굵은 큰 글자에 적용되는 완화 기준 | 히어로 제목이나 큰 배너 문구에는 쓸 수 있지만 본문 통과로 오해하지 않습니다. |
| AAA 일반 | 더 높은 읽기 여유를 주는 강화 기준 | 긴 글, 대시보드, 관리 화면, 고밀도 UI에서 더 안전합니다. |
| AAA 큰 텍스트 | 큰 텍스트에 대한 강화 기준 | 중요한 제목이나 안내 문구의 가독성 여유를 확인할 때 유용합니다. |
| 미리보기 샘플 | 숫자와 실제 시각 느낌을 함께 비교 | 비율은 통과해도 글꼴, 크기, 주변색 때문에 약해 보이면 다시 조정합니다. |
대비가 부족할 때 가장 먼저 할 일은 어느 쪽을 바꿔도 되는지 정하는 것입니다. 브랜드 색이 배경으로 고정되어 있다면 텍스트 색을 더 밝게 또는 더 어둡게 조정하는 편이 안전합니다. 반대로 텍스트 색이 디자인 시스템의 토큰으로 정해져 있다면 배경색의 명도나 채도를 낮춰 차이를 키우는 방식이 더 적합합니다.
명도 슬라이더는 같은 색상 계열 안에서 밝기만 조정하고 싶을 때 유용합니다. 예를 들어 보라색 계열 배경을 유지하면서 텍스트가 충분히 읽히지 않는다면 배경의 명도를 낮추거나 텍스트를 더 밝게 조정할 수 있습니다. 이때 단순히 통과 여부만 보지 말고 미리보기 버튼, 제목, 문단이 모두 안정적으로 보이는지 확인해야 합니다.
색을 새로 찾아야 할 때는 컬러 피커에서 후보 색을 고른 뒤 HEX 값을 복사해 다시 검사하는 흐름이 좋습니다. 단일 색 선택 화면에서는 색상 변형과 조화도 함께 볼 수 있으므로, 대비를 맞추면서도 전체 팔레트 분위기를 유지하기 쉽습니다.
불투명도는 색의 실제 표시 결과를 바꾸기 때문에 주의해서 사용해야 합니다. 같은 HEX 값이라도 텍스트가 70% 불투명도로 표시되면 배경과 섞여 더 약하게 보일 수 있습니다. 특히 작은 본문, 보조 텍스트, 입력 placeholder, 비활성 버튼처럼 원래도 약하게 보이는 요소는 불투명도를 낮추면 읽기 어려워질 가능성이 큽니다.
명도 조정도 마찬가지입니다. 색이 너무 밝아지면 흰 배경에서 사라지고, 너무 어두워지면 어두운 테마에서 묻힐 수 있습니다. 다크 모드와 라이트 모드를 모두 운영하는 UI라면 같은 브랜드 색이라도 표면 색에 따라 별도의 대비 검사가 필요합니다. 명도 대비는 현재 보이는 조합을 기준으로 판단하므로, 실제 사용될 배경을 최대한 비슷하게 맞춘 뒤 검사하는 것이 정확합니다.
모든 색상 조합을 같은 우선순위로 볼 필요는 없습니다. 사용자가 읽거나 클릭하거나 상태를 판단해야 하는 요소부터 확인하는 것이 효율적입니다. 특히 작은 텍스트와 상태 메시지는 디자인 시안에서는 문제 없어 보이다가 실제 브라우저와 모바일 화면에서 약하게 보일 수 있습니다.
명도 대비는 하나의 텍스트 색상과 하나의 배경 색상을 정밀하게 조정할 때 적합합니다. 입력한 색을 바꾸고, 명도와 불투명도를 확인하고, 결과를 바로 복사할 수 있기 때문입니다. 반면 브랜드 팔레트 전체, 이미지에서 추출한 여러 색, HTML이나 CSS 코드 안의 색상 목록처럼 여러 후보를 한꺼번에 비교해야 한다면 매트릭스 방식이 더 효율적입니다.
작업 순서는 보통 넓은 비교에서 좁은 조정으로 이동합니다. 먼저 여러 색상 조합을 매트릭스로 훑어 위험한 조합을 찾고, 문제가 되는 한 쌍을 단일 검사 화면에서 세밀하게 고칩니다. 이렇게 하면 모든 색을 하나씩 반복 검사하는 시간을 줄이고, 실제로 수정이 필요한 조합에 집중할 수 있습니다.
대비 결과를 통과한 뒤에도 바로 적용하지 말고 사용 맥락을 짧게 기록하는 것이 좋습니다. 어떤 전경색과 배경색을 검사했는지, 불투명도 값이 몇 퍼센트였는지, 본문용인지 큰 제목용인지, 어떤 컴포넌트 상태에서 사용할 값인지 함께 확인해야 나중에 같은 색을 잘못 재사용하는 일을 줄일 수 있습니다.
#가 필요한 환경인지 확인합니다.가장 흔한 실수는 흰 배경에서만 색을 확인하고 실제 카드, 모달, 다크 테마 배경에는 다시 적용하지 않는 것입니다. 두 번째 실수는 브랜드 색을 바꾸지 않으려다 텍스트 가독성을 희생하는 것입니다. 접근성이 필요한 텍스트라면 색상 정체성보다 읽기 가능성이 우선입니다.
명도 대비는 숫자 판정과 시각 미리보기를 함께 볼 때 가장 유용합니다. 결과가 충분히 높고 실제 샘플도 안정적으로 보인다면 색상 조합을 복사해 디자인 시스템, CSS 변수, 컴포넌트 문서에 더 자신 있게 적용할 수 있습니다.