연구노트

R&E 연구노트 ⑲ 표준으로 만든 접근성, WCAG와 적응형 UI

2마지막 수정
R&E 연구노트 ⑲ 표준으로 만든 접근성, WCAG와 적응형 UI

연구노트 시리즈.

UI를 "크게 키웠다" 정도로 끝내지 않으려면 기준이 필요하다. 출품작에서는 국제·국내 접근성 표준을 근거로 삼았다.

WCAG 2.1과 POUR

W3C의 웹 콘텐츠 접근성 지침(WCAG) 2.1은 네 가지 원칙으로 이뤄진다. 머리글자를 따 POUR라 부른다.

  • 인지 가능성(Perceivable): 텍스트 대안, 자막, 색상 대비 등.
  • 운용 가능성(Operable): 키보드 접근, 시간 조절, 포커스 가시성 등.
  • 이해 가능성(Understandable): 언어 식별, 일관된 내비게이션, 오류 식별 등.
  • 견고성(Robust): 스크린 리더 등 보조 기술에서 안정적으로 해석.

각 기준은 A·AA·AAA로 나뉘며, 공공기관은 보통 AA 준수가 의무다.

색상 대비

WCAG는 일반 텍스트 명도 대비를 AA에서 4.5:1, AAA에서 7:1로 요구한다(큰 텍스트는 각각 3:1, 4.5:1). 고령층은 수정체 노화로 청색 계열 시인성이 떨어지므로, 노인 모드에서는 청색을 최소화하고 7:1 이상의 고대비 무채색 조합을 썼다.

고령층 UI 가이드라인

노화에 따른 시각·운동·인지 변화를 반영한 기준들이다.

  • 본문 글자 16px 이상(권장 18px 이상), 줄 간격 1.5배 이상.
  • 터치 영역 최소 44×44px(모바일 권장 48dp), 인접 버튼 간격 8px 이상.
  • 색만으로 정보를 전달하지 않기, 산세리프 글꼴(한국어는 Pretendard, 노토 산스 KR).
  • 고령층 반응시간은 청년층의 약 1.5배이므로 시간 제한 작업은 피하거나 조정 가능하게.

국내에서는 한국산업표준 무인정보단말기 접근성 지침(KS X 9211:2022)과 과학기술정보통신부 고시가 함께 적용된다.

연령대별 UI

추정된 연령은 네 그룹으로 나뉘고, 각 그룹에 맞는 스타일을 적용했다.

연령대 범위 주요 UI
어린이 0~12세 이미지 중심, 폰트 16px, 고채도, 아이콘 48px
청소년 13~19세 폰트 14px, 터치 44×44px
성인 20~59세 WCAG AA, 폰트 14px, 터치 44×44px
노인 60세 이상 폰트 24px, 터치 64×64px, 대비 7:1 이상

노인 모드는 폰트와 터치 영역을 키우고 대비를 높이며, 메뉴 카테고리와 한 화면의 항목 수를 줄여 인지 부담을 낮추고 음성 안내를 기본 켠다.

CSS 변수로 한 번에 바꾸기

이 전환을 깔끔하게 구현한 도구가 CSS 변수다. 디자인 토큰을 변수로 선언해 두고, 모드별로 값만 덮어쓴다.

:root {
  --font-size-base: 16px;
  --color-text: #1a1a1a;
  --color-bg: #ffffff;
  --touch-target: 48px;
}
.senior-mode {
  --font-size-base: 24px;
  --color-text: #000000;
  --color-bg: #ffff00;
  --touch-target: 64px;
}

연령 추정 결과에 따라 루트 요소의 클래스를 토글하기만 하면, 그 변수를 참조하는 모든 UI 요소가 한꺼번에 바뀐다. 새 연령대 프로필을 추가할 때도 스타일 정의만 더하면 되니 확장성과 유지보수성이 좋다. 설계 시점에 기본 가이드라인을 세우는 정적 접근과, 런타임에 얼굴 연령으로 모드를 바꾸는 동적 접근을 결합한 셈이다.

변경 이력 (2건)
  1. gitprogam 수정feat(binaryhub-blog): tetris 위키 + SEO 정비 + hero 이미지 + 글 다수
  2. gitprogam 최초 작성init: monorepo (nsgh-tools + binaryhub-blog)

관련 글

태그가 겹치는 다른 글