색각 다양성을 고려한 UI 디자인은 특정 색을 구별하지 못해도 중요한 정보를 이해할 수 있게 합니다. 색상은 유용한 단서로 유지하되, 의미를 전달하는 곳에는 명확한 문구, 형태, 패턴이나 위치를 함께 활용하세요. 빨간 오류 테두리에는 설명이 필요하고, 선택한 예약 시간에는 선택 상태가 보여야 하며, 실행할 수 없는 동작에는 이유가 있어야 합니다.
팔레트만 따로 바꾸기보다 하나의 완전한 과업에서 시작하세요. 이 글에서는 시간을 선택하고, 정보를 입력한 뒤 예약을 확정하는 화면을 예로 듭니다. Pixso의 UI 디자인 작업 공간에서 각 상태를 함께 설계하면, 시간 선택부터 완료 안내까지 의미가 일관되게 전달되는지 검토할 수 있습니다.

색상에 의존하는 판단부터 찾으세요
고객의 입장에서 예약 화면을 살펴보세요. 어느 시간이 예약 가능한지, 무엇을 선택했는지, 입력한 정보를 고쳐야 하는지, 예약이 완료됐는지 알아야 합니다. 이 중 어느 질문에든 “초록색을 보세요”라고 답해야 한다면 다른 시각적 단서가 필요합니다.
초기 화면에서는 예약 가능한 시간이 초록색, 불가능한 시간이 회색이고, 선택한 시간은 파란색으로 바뀐다고 가정해 보겠습니다. 잘못 입력한 이메일 주소에는 빨간 테두리가 표시됩니다. 디자이너에게는 색이 서로 달라 보여도 고객은 각 변화가 무엇을 뜻하는지 추측해야 합니다.
먼저 의미를 다시 설계하세요. 각 항목에 시간 표시를 유지하고, 선택한 항목에는 체크 표시와 “선택됨”이라는 문구를 넣습니다. 예약할 수 없는 시간에는 “예약 불가”라고 표시합니다. 잘못 입력한 필드 옆에는 “name@example.com 형식의 이메일 주소를 입력해 주세요.”처럼 설명을 붙입니다. 색상은 이 메시지를 강조하되 혼자 모든 의미를 맡지 않게 합니다.
WCAG의 색상 사용 지침(영문)은 색의 차이로 전달하는 정보를 다른 시각적 방법으로도 이해할 수 있어야 한다고 설명합니다. 스크린 리더용 이름만 추가해서는 화면을 보지만 해당 색을 구별하기 어려운 사용자의 문제를 해결할 수 없습니다.
각 상태에 읽고 이해할 수 있는 단서를 더하세요
보조 단서는 상태를 빠르고 일관되게 설명해야 합니다. 예약 흐름에서는 “선택됨”과 “예약 확정”의 차이가 중요하므로 문구가 유용합니다. 체크 표시는 둘 다 보조할 수 있지만, 글 없이 같은 체크 표시만 쓰면 시간을 고르는 순간 예약까지 끝난 것처럼 보일 수 있습니다.
| 전달할 의미 | 불충분한 표현 | 이 흐름에 적합한 표현 |
|---|---|---|
| 선택할 수 있는 시간 | 초록색 배경만 표시 | 읽기 쉬운 시간과 “예약 가능” 문구, 조작할 수 있음을 보여 주는 명확한 영역 |
| 선택한 시간 | 파란색 배경만 표시 | 체크 표시와 “선택됨” 문구, 예약 요약에 같은 시간 표시 |
| 선택할 수 없는 시간 | 흐린 회색 시간만 표시 | 시간 옆에 “예약 불가” 표시. 누르면 예약될 것처럼 보이지 않게 구성 |
| 수정이 필요한 입력값 | 빨간 테두리만 표시 | 필드 옆의 구체적인 오류 메시지와 알아보기 쉬운 오류 표시 |
| 예약 완료 | 초록색 완료 영역만 표시 | “예약이 확정되었습니다”라는 문구, 예약 정보와 다음에 할 수 있는 행동 |
모든 장식 도형에 문구를 붙일 필요는 없습니다. 상태를 해석하거나 행동해야 하는 곳에 명확한 단서를 사용하세요. 긴 목록에서 “예약 가능”을 반복하면 복잡해지는 경우, “예약 가능한 시간”처럼 제목이 분명한 구역으로 묶을 수 있습니다. 예약 불가나 선택됨 같은 예외 상태는 각 항목의 맥락에서 알아볼 수 있게 유지합니다.
가장 작은 지원 레이아웃에서도 단서가 보여야 합니다. 휴대폰에서 구분하기 어려워지는 작은 체크 표시는 도움이 되지 않습니다. 시간과 상태를 함께 넣을 공간이 부족하다면 두 문구를 모두 줄이지 말고 항목을 키우거나 여유 있는 목록 형태로 바꾸세요.
색상 구분과 별개로 명도 대비를 확인하세요
두 색의 색상이 달라도 글자나 필요한 상태 표시를 읽기에는 밝고 어두운 차이가 부족할 수 있습니다. 반대로 명도 대비가 높은 색 조합만으로는 상태의 의미를 설명할 수 없습니다. 고객이 정보를 볼 수 있는지와 그 의미를 이해할 수 있는지를 모두 물어보세요.
WCAG 2.2의 텍스트 대비 지침(영문)은 정해진 예외를 제외하고 일반 텍스트에 최소 4.5:1, 큰 텍스트의 요건을 충족하는 경우 최소 3:1의 대비를 요구합니다. 예약 화면의 작은 시간·상태 라벨은 일반 텍스트로 평가해야 합니다. 각 상태에서 실제 글자색과 배경색의 조합을 확인하세요.
선택된 항목에서는 텍스트뿐 아니라 체크 표시와 배경 사이의 대비도 살펴봅니다. 비텍스트 대비 지침(영문)은 활성화된 조작 요소와 그 상태를 식별하는 데 필요한 시각 정보에 일반적으로 인접 색상과 3:1 이상의 대비를 요구합니다. 모든 장식 테두리나 서로 다른 상태의 색상끼리 반드시 그 비율을 충족해야 한다는 뜻은 아닙니다.
선택된 항목의 배경색만으로 초점 위치까지 표현하지 마세요. 키보드로 시간을 탐색하는 고객은 현재 초점이 있는 조작 요소와 이미 선택한 시간을 모두 알아야 합니다. 초점에는 별도의 명확한 시각적 표현을 적용하고 선택 상태와 구분해 기록합니다.
오류와 링크를 명확하게 표현하세요
예약 폼에서는 문제가 생긴 위치에 수정 방법을 설명해야 합니다. “빨간색 항목을 확인하세요”라는 안내는 고객에게 색을 해석하고 페이지를 찾아보게 합니다. 이메일 필드 옆의 “이메일 주소를 입력해 주세요”는 무엇을 고쳐야 하는지 바로 알려 줍니다. 여러 항목을 수정해야 한다면 상단의 오류 요약에서 해당 필드로 연결할 수 있습니다.
입력 후에도 필드 이름이 보이게 유지하세요. 어떤 질문에 답하고 있었는지 알 수 있어야 오류 메시지도 이해하기 쉽습니다. 입력한 값을 보존해 처음부터 다시 작성하지 않고 필요한 부분만 수정할 수 있게 합니다.
설명 문장 안의 “취소 정책” 링크에는 밑줄을 사용하면 주변 글과 시각적으로 분명하게 구분됩니다. 터치 사용자는 마우스를 올린 상태에 의존할 수 없으므로 호버 전에도 링크를 알아볼 수 있어야 합니다. 문구는 글자의 색이 아니라 무엇이 열리는지 설명해야 합니다.
완료 안내에도 같은 원칙을 적용하세요. “화요일 10:30으로 예약이 확정되었습니다”는 결과를 전달합니다. 색이 들어간 배지에 “성공”만 쓰면 유용한 정보가 줄어듭니다. 아직 예약이 대기 중이라면 그렇게 설명하세요. 시스템이 확정하지 않은 결과를 외형만으로 약속해서는 안 됩니다.
Pixso에서 전체 예약 흐름을 만드세요
시간 선택, 이메일 오류가 있는 정보 입력, 예약 완료의 세 화면을 함께 배치합니다. 전체 흐름에서 선택한 시간을 동일하게 유지하세요. 재사용할 시간 항목의 상태를 화면 옆에 함께 두면 레이아웃이 달라져도 선택됨과 예약 불가의 표현을 일관되게 관리할 수 있습니다.
예제에서는 09:00을 예약 가능, 10:30을 선택됨, 11:00을 예약 불가로 표시합니다. 예약 요약에도 10:30이 나와야 하고, 완료 안내 역시 같은 예약을 설명해야 합니다. 이 반복은 고객이 자신의 선택 결과를 알아보게 하고, 검토 과정에서 불일치를 찾는 데도 도움이 됩니다.

보이는 상태와 의도한 동작을 가까이 정리하세요. 개발자에게 전달하는 메모에는 초점과 선택의 차이, 예약 불가 시간을 목록에 남길 조건, 오류 메시지와 필드의 연결 방식을 설명할 수 있습니다. 시각 디자인만으로 구현된 컴포넌트의 접근성 이름이나 키보드 동작까지 정해지는 것은 아닙니다. 이 내용도 구현에 반영해야 합니다.
반복되는 색상과 텍스트 역할에는 공유 스타일을 사용하되, 상태를 색상 이름만으로 부르지 마세요. “예약 시간 선택됨”은 테마가 바뀌어도 유지할 수 있는 의미를 담습니다. “파란 배지”는 현재 외형만 설명하므로 관련 없는 다른 의미에도 같은 표현을 재사용하기 쉽습니다.
색상 단서가 있을 때와 없을 때 과업을 검토하세요
잠시 색을 제거하고도 예약을 이해할 수 있는지 살펴보세요. 고객은 예약 가능한 시간과 선택한 시간을 찾고, 이메일 주소를 수정하고, 예약이 완료됐음을 알 수 있어야 합니다. 이는 빠르게 문제를 찾아보는 디자인 검토 방법이며 모든 색각 특성을 완전히 재현하는 방법은 아닙니다.
색각 시뮬레이션은 다시 살펴볼 색 조합을 찾는 데 도움이 되지만, 한 가지 화면이 모든 사람의 시각을 대표한다고 생각해서는 안 됩니다. 명도 대비 측정과 실제 문구·기호·상태 검토를 함께 진행하세요. 가능하면 관련 시각적 요구가 있는 사용자가 구현된 인터페이스에서 실제 과업을 수행하도록 테스트합니다.
제품이 밝은 테마와 어두운 테마를 지원한다면 둘 다 확인하세요. 밝은 배경에서는 잘 보이던 배지도 어두운 배경에서는 경계가 사라질 수 있습니다. 의미와 단서는 유지하면서 실제 전경색과 배경색 조합을 조정합니다. 모든 색을 단순히 반전하면 새로운 문제가 생길 수 있습니다.
접근성 테스트 도구 가이드(영문)에서는 디자인 단계의 대비 검토와 브라우저 테스트가 어떻게 서로 보완하는지 설명합니다. 완성한 예약 과업을 그 검토에 사용하면 결과를 사용자가 끝내야 하는 실제 경험과 연결할 수 있습니다.
색은 유용하게 쓰되 필수 조건으로 만들지 마세요
색상은 예약 가능한 시간을 빠르게 훑어보게 하고 완료 안내를 강조할 수 있습니다. 같은 정보가 시간, 상태 문구, 기호와 요약에도 보인다면 디자인은 더 안정적으로 의미를 전달합니다.
이 흐름에서 중요한 개선은 분명합니다. 고객이 무엇을 선택할 수 있고 무엇을 선택했는지, 무엇을 수정해야 하며 작업이 끝났는지 알아야 합니다. 이 답을 먼저 보이게 만든 뒤 그에 맞춰 팔레트를 다듬으세요.