모바일 앱 접근성 인식의 용이성 - by. UXKM
- A11Y
- 접근성 체크리스트
- 모바일 앱 접근성 인식의 용이성
요약 설명
모바일 애플리케이션 콘텐츠를 구축, 운영, 개선 및 유지 보수할 경우에 적용하는 것으로 모바일 전화기,
태블릿기기 등 모바일 기기에서 실행되는 모든 애플리케이션 및 콘텐츠를
WCAG 2.0(Web Content Accessibility Guidelines 2.0)에서 제시하고 있는 접근성 설계의 4가지 원칙 기준으로,
모바일 애플리케이션 콘텐츠의 설계 및 개발을 위한 지침을 제시하고 있습니다.
텍스트 아닌 콘텐츠 [유지]
요약 설명
텍스트 아닌 콘텐츠는 그 의미나 용도를 인식할 수 있도록 대체 텍스트를 제공해야 합니다.
시각 장애인이 스크린 리더를 통해 이미지 내용을 이해할 수 있도록 모든 이미지에 대체 텍스트를 제공해야 합니다.
WCAG 2.2 Guidelines :
1.1.1 Non-text Content
UAAG 2.0 Reference
필요성
-
접근성 보장
시각 장애 사용자는 스크린 리더를 통해 앱의 내용을 접근합니다.
대체 텍스트를 제공하면 스크린 리더가 이미지나 비디오의 의미를 읽어줄 수 있습니다.
-
SEO 향상
검색 엔진은 이미지 파일을 직접 해석하지 못하므로, 대체 텍스트는 검색 엔진 최적화(SEO)에 기여합니다.
-
콘텐츠 로드 실패 시 대처
이미지가 로드되지 않거나 손상된 경우, 대체 텍스트는 이미지의 의미를 그대로 전달할 수 있습니다.
-
법적 준수
웹 접근성 관련 법률을 준수하여 모든 사용자가 정보에 동등하게 접근할 수 있도록 보장합니다.
제공 방법
-
모든 이미지에 대체 텍스트 제공
콘텐츠의 의미를 설명하는 간단하고 명확한 대체 텍스트를 모든 이미지에 추가합니다.
의미 없는 장식용 이미지는 alt=""로 설정하여 스크린 리더가 이를 무시하도록 할 수 있습니다.
-
기타 비텍스트 콘텐츠에 대한 설명 제공
비디오나 오디오 콘텐츠에는 자막이나 텍스트 설명을 제공하여,
청각 장애 사용자나 비디오를 시청할 수 없는 사용자들도 콘텐츠를 이해할 수 있도록 합니다.
-
적절한 길이와 명확성 유지
대체 텍스트는 간결하고 명확하며, 콘텐츠의 핵심 의미를 정확하게 전달해야 합니다.
다만, 너무 길거나 짧아서 의미 전달이 어려워지지 않도록 주의해야 합니다.
예시
검수 방법
- 모든 이미지 및 비텍스트 콘텐츠에 적절한 대체 텍스트가 제공되고 있는지 확인하였는가?
- 마크업에서 alt 속성, aria-label 속성 등이 올바르게 사용되고 중복된 정보를 제공하였는지 확인하였는가?
- 모바일 기기에서 화면 읽기 소프트웨어(예: iOS의 VoiceOver, Android의 TalkBack)를 사용하여 텍스트가 아닌 콘텐츠에 대한 대체 텍스트가 올바르게 읽히는지 확인하였는가?
- 접근성 검사 도구(예: Google Lighthouse, Axe)를 사용하여 자동화된 접근성 검사를 수행하고 문제점을 확인하였는가?
자막 또는 수어 [강화]
요약 설명
멀티미디어 콘텐츠는 자막 또는 수어를 제공해야 합니다.
영상이나 음성 콘텐츠는 모든 사용자에게 동일한 정보를 제공하기 위해, 자막, 원고, 또는 수화와 같은 동등한 형태의 대체 콘텐츠를 포함해야 합니다.
이를 통해 청각 장애가 있거나 음성을 이해하기 어려운 사용자도 콘텐츠를 충분히 접하고 이해할 수 있습니다.
WCAG 2.2 Guidelines :
1.2.2 Captions (Prerecorded)
WCAG 2.2 Guidelines :
1.2.3 Audio Description or Media Alternative (Prerecorded)
필요성
-
청각 장애인
청각 장애를 가진 사용자도 콘텐츠를 이해할 수 있어야 합니다.
-
비공개 환경
공공장소나 소음을 내기 어려운 환경에서도 콘텐츠를 이용할 수 있어야 합니다.
-
언어 학습
자막을 통해 외국어 학습이나 언어 이해를 도울 수 있어야 합니다.
제공 방법
-
자막 (Captions)
-
동기 자막 :
영상과 동시에 제공되는 자막으로, 대화뿐만 아니라 중요한 소리(예: [박수], [전화벨])도 포함합니다.
-
폐쇄 자막(Closed Captions) :
사용자가 켜고 끌 수 있는 자막.
-
열린 자막(Open Captions) :
영상에 항상 표시되는 자막.
-
원고 (Transcript)
-
영상이나 오디오의 대화 내용과 중요한 소리를 텍스트로 제공합니다.
-
동기화가 필요 없는 경우, 사용자가 내용을 쉽게 검색하고 읽을 수 있습니다.
-
수화 (Sign Language)
-
수화 통역을 통해 청각 장애인이 콘텐츠를 이해할 수 있도록 돕습니다.
-
화면 구석에 수화 통역사를 표시하는 방법을 사용합니다.
예시
검수 방법
- 자막이 정확하게 표시되고, 대화와 동기화되는지 확인하였는가?
- 원고가 영상이나 오디오의 내용을 정확히 반영하고 있는지 확인하였는가?
- 수화 통역이 영상의 내용을 정확히 전달하는지, 화면에 잘 보이는지 확인하였는가?
표의 구성 [신규]
요약 설명
표는 이해하기 쉽게 구성해야 합니다.
제목 셀과 데이터 셀의 관계가 드러나도록 표를 마크업하고, 캡션·헤더 연결을 제공합니다.
WCAG 2.2 Guidelines :
1.3.1 Info and Relationships
필요성
제공 방법
예시
하이브리드 앱 예시 (HTML)
캡션과 scope로 헤더 관계를 명시합니다.
검수 방법
- 표의 헤더와 데이터 셀의 관계가 프로그램적으로 식별 가능한가?
- 스크린 리더로 제목 셀과의 관계가 올바르게 읽히는가?
콘텐츠의 선형구조 [신규]
요약 설명
콘텐츠는 논리적인 순서로 제공해야 합니다.
시각적 배치와 DOM 순서·스크린 리더 읽기 순서가 일치하도록 구성합니다.
WCAG 2.2 Guidelines :
1.3.2 Meaningful Sequence
필요성
제공 방법
예시
하이브리드 앱 예시 (HTML)
제목과 본문이 논리적 순서로 배치됩니다.
검수 방법
- 스크린 리더로 읽는 순서가 논리적인가?
- CSS로 시각 순서만 바꾸어 DOM 순서와 어긋나지 않는가?
다양한 감각 지원 [통합]
요약 설명
지시사항이나 알림정보 등은 모양, 크기, 위치, 방향, 색, 소리 등에 관계없이 다양한 감각으로 인식할 수 있어야 합니다.
지시는 색·위치·소리 등 한 가지 감각에만 의존하지 않고, 알림은 화면·소리·진동 등 여러 경로로 전달할 수 있어야 합니다.
WCAG 2.2 Guidelines :
1.3.3 Sensory Characteristics
WCAG 2.2 Guidelines :
3.3.2 Labels or Instructions
필요성
-
다양한 사용자를 고려
시각, 청각, 인지·촉각 장애를 가진 사용자와 다양한 환경에서도 지시·알림을 인지할 수 있어야 합니다.
-
명확한 커뮤니케이션
모호하지 않은 지시와 중복되지 않는 다중 채널 알림은 실수를 줄이고 정보를 놓치지 않게 합니다.
제공 방법
-
지시 사항
지시를 텍스트로 명확히 하고, 아이콘에는 라벨·contentDescription 등을 붙입니다.
-
알림
팝업·토스트 등 시각 알림과, 소리·진동 등을 조합해 사용자 설정에 맞게 제공합니다.
예시
지시 사항 — 네이티브 앱 예시(Android)
텍스트 기반의 명확한 지시 사항 제공
하이브리드 앱 예시 (HTML/JavaScript)
지시 사항을 텍스트로 명확하게 제공
알림 — 네이티브 앱 예시(Android)
화면 표시, 소리, 진동을 통한 알림
알림 — 하이브리드 앱 예시 (HTML/JavaScript)
화면 표시와 소리, 진동을 통한 알림('알림 보내기' 버튼을 클릭하세요.)
검수 방법
- 지시 사항이 색상, 위치, 모양 등에만 의존하지 않는지 확인하였는가?
- 알림이 화면·소리·진동 등 여러 경로로 전달되거나 사용자 설정에 맞게 제공되는지 확인하였는가?
- 조용한 환경, 시끄러운 환경, 어두운 환경 등에서 지시·알림이 인지되는지 확인하였는가?
방향 설정 [신규]
요약 설명
콘텐츠는 특정 화면 방향으로만 고정하지 않아야 합니다.
가로·세로 전환을 허용하거나, 고정이 불가피한 경우 동등한 대안을 제공합니다.
WCAG 2.2 Guidelines :
1.3.4 Orientation
필요성
제공 방법
예시
네이티브 앱 예시(Android)
AndroidManifest.xml에서 불필요한 방향 고정을 피합니다.
하이브리드 앱 예시 (HTML/JavaScript)
뷰포트·CSS로 가로 폭을 유연하게 두어 회전·좁은 폭에 대응합니다.
검수 방법
- 불필요하게 한 방향만 허용하는 제한이 없는지 확인하였는가?
입력 목적 식별 [신규]
요약 설명
입력 서식의 목적은 식별할 수 있어야 합니다.
autocomplete 등으로 필드 목적을 프로그램적으로 드러내거나, 일관된 레이블을 제공합니다.
WCAG 2.2 Guidelines :
1.3.5 Identify Input Purpose
필요성
제공 방법
-
HTML
autocomplete 등 HTML 표준 자동완성 토큰을 사용합니다.
WHATWG autofill tokens
-
Android
android:importantForAutofill, autofillHints 등으로 목적을 힌트합니다.
예시
네이티브 앱 예시(Android)
자동 채우기 힌트로 입력 목적을 식별합니다.
하이브리드 앱 예시 (HTML)
label, type, autocomplete로 목적을 연결합니다.
검수 방법
- 입력 필드의 목적이 레이블·자동완성 등으로 식별 가능한가?
색에 무관한 콘텐츠 [유지]
요약 설명
콘텐츠는 색에 관계없이 인식할 수 있어야 합니다.
콘텐츠는 색상에 관계없이 인식될 수 있어야 합니다. 색상에 의존한 정보 전달을 피하고, 색상만으로 정보를 전달하지 않도록 주의해야 합니다.
WCAG 2.2 Guidelines :
1.4.1 Use of Color
필요성
-
색각 장애 사용자 보호
색각 장애를 가진 사용자가 색을 구별하기 어려운 상황에서 정보를 놓칠 수 있기 때문에,
색 외의 다른 요소를 사용하면 이 문제를 해결할 수 있습니다.
-
사용자 경험 향상
색만으로 정보를 전달하지 않음으로써 모든 사용자가 쉽게 정보를 인식하고 이해할 수 있습니다.
-
접근성 보장
색을 구별하기 어려운 사용자를 포함해 다양한 사용자가 앱을 접근 가능하게 이용할 수 있습니다.
제공 방법
-
텍스트 및 패턴 사용
중요한 정보나 상태는 색상 외에도 텍스트, 패턴, 아이콘 등의 다른 시각적 요소를 함께 사용해 전달해야 합니다.
예를 들어, 오류 메시지를 빨간색으로만 표시하는 대신 '오류'라는 텍스트나 아이콘을 함께 표시합니다
-
명확한 레이블 제공
색으로 구분되는 요소들은 명확한 레이블이나 설명을 포함하여, 색을 구별하지 않아도 이해할 수 있도록 해야 합니다.
예를 들어, 그래프에서 색으로 표시된 데이터는 각 데이터의 의미를 레이블로 표시해야 합니다.
-
색상 대비를 고려한 디자인
색각 장애 사용자가 색을 구분할 수 있도록 색상 대비를 충분히 명확하게 설계해야 합니다. 그러나 색상 외에도 추가적인 구별 요소를 함께 제공해야 합니다.
-
테스트 및 검수
색각 장애 시뮬레이션 도구를 사용해 디자인을 테스트하고, 색상에 관계없이 정보가 제대로 전달되는지 확인합니다.
예시
네이티브 앱 예시(Android)
텍스트와 아이콘을 사용하여 상태를 전달합니다.
하이브리드 앱 예시 (HTML/JavaScript)
색상 외의 요소를 사용하여 정보를 구분합니다.
검수 방법
-
모든 중요한 정보가 색상 외의 텍스트, 아이콘, 패턴 등 다른 시각적 요소로도 전달되고 있는지 확인하였는가?
-
색각 장애 시뮬레이션 도구를 사용하여 디자인이 색각 장애 사용자에게도 동일한 정보를 제공하는지 테스트하였는가?
-
다양한 사용자가 색상 외의 요소를 통해 정보를 올바르게 인식할 수 있는지 테스트하였는가?
-
WAVE, Axe 등의 도구를 사용하여 색상만으로 정보를 전달하는 요소를 점검하였는가?
소리 자동 재생 [유지]
요약 설명
소리는 자동으로 재생되지 않아야 합니다.
3초 이상 자동 재생되는 소리는 사용자가 중지·일시정지·음량 조절 등으로 제어할 수 있어야 하며, 배경음이 스크린 리더 음량에 영향을 주지 않아야 합니다.
WCAG 2.2 Guidelines :
1.4.2 Audio Control
WCAG 2.2 Guidelines :
2.2.2 Pause, Stop, Hide
필요성
제공 방법
예시
하이브리드 앱 예시 (HTML)
자동 재생을 끄고, 사용자가 재생을 시작하도록 합니다.
검수 방법
- 페이지·화면 로드 시 소리가 의도 없이 자동 재생되지 않는지 확인하였는가?
- 3초 이상 재생되는 소리에 대해 제어 수단이 있는지 확인하였는가?
콘텐츠의 명도대비 [강화]
요약 설명
콘텐츠와 배경 간의 명도는 충분하게 대비되도록 제공해야 합니다.
화면에 표시되는 모든 사용자 인터페이스 컴포넌트와 텍스트는 전경색과 배경색이 구분될 수 있도록 제공되어야 합니다.
페이지에서 보이는 텍스트 콘텐츠(텍스트 및 텍스트 이미지)와 배경 간의 충분한 대비를 제공하여, 저시력장애인,
색각 장애인, 고령자 등도 콘텐츠를 인식할 수 있도록 제공해야 합니다.
다만, 로고, 장식목적의 콘텐츠, 마우스나 키보드를 활용하여 초점을 받았을 때 명도 대비가 커지는 콘텐츠 등은 예외로 합니다.
WCAG 2.2 Guidelines :
1.4.3 Contrast (Minimum)
필요성
-
시각 장애 사용자
저시력 사용자나 색각 이상 사용자도 명확하게 텍스트와 UI 요소를 인식할 수 있어야 합니다.
-
다양한 환경
밝은 햇빛이나 어두운 조명 환경에서도 정보를 쉽게 읽을 수 있어야 합니다.
-
사용자 피로 감소
명도 대비가 충분하면 눈의 피로를 줄이고 장시간 사용에도 더 편안합니다.
제공 방법
-
충분한 명도 대비 비율 사용
-
일반 텍스트 :
최소 명도 대비 비율 4.5:1
-
큰 텍스트(18pt 이상 또는 14pt 볼드체 이상) :
최소 명도 대비 비율 3:1
-
UI 요소와 그래픽 객체 :
최소 명도 대비 비율 3:1
-
색 선택
-
전경색과 배경색의 대비를 명확히 하여 가독성을 높입니다.
예를 들어, 흰색 배경에 검은색 텍스트를 사용하거나 어두운 배경에 밝은 텍스트를 사용하는 방식입니다.
-
명도 대비 도구 사용
-
명도 대비를 계산해주는 툴(예: WebAIM Contrast Checker)을 사용하여 충분한 대비를 보장합니다.
예시
네이티브 앱 예시(Android)
명도 대비를 고려한 텍스트와 버튼 디자인
하이브리드 앱 예시 (HTML/JavaScript)
명도 대비를 고려한 텍스트와 버튼 스타일
하이브리드(잘못된 / 올바른 예시)
- 잘못된 예시 : 명도 대비가 낮아 텍스트가 배경에 묻혀 잘 보이지 않습니다.
- 올바른 예시 : 텍스트와 배경색 간의 명도 대비를 충분히 확보하여 가독성을 보장합니다.
검수 방법
- 페이지가 제공하는 텍스트 콘텐츠(텍스트 및 텍스트 이미지)와 배경 간의 명도 대비는 4.5:1 이상이어야 한다. 준수하였는가?
- 텍스트 콘텐츠를 구성하고 있는 텍스트 폰트를 18pt 이상 또는 14pt 이상의 굵은 폰트를 사용하는 경우, 명도 대비를 3:1까지 낮출 수 있다. 준수하였는가?
- 화면 확대가 가능하도록 구현한 텍스트 콘텐츠(텍스트 및 텍스트 이미지)의 명도 대비는 3:1까지 낮출 수 있다. 준수하였는가?
- 명도 대비 검사 도구를 사용하여 텍스트와 UI 요소의 대비 비율을 확인하였는가?
- Axe, WAVE 등의 접근성 검사 도구를 사용하여 페이지 전체의 명도 대비 문제를 확인하였는가?
콘텐츠 간의 구분 [신규]
요약 설명
이웃한 콘텐츠는 시각적으로 구별할 수 있어야 합니다.
여백, 테두리, 배경 차이 등으로 인접 블록을 구분합니다.
WCAG 2.2 Guidelines :
1.4.11 Non-text Contrast
필요성
제공 방법
-
시각적 구획
구분선, 카드 UI, 그림자 등으로 영역을 나눕니다.
-
비텍스트 대비
아이콘·테두리 등 비텍스트 UI는 인접 색과 3:1 이상 대비를 확보합니다.
예시
네이티브 앱 예시(Android)
카드·구분선으로 블록을 나눕니다.
하이브리드 앱 예시 (HTML/CSS)
여백과 테두리로 인접 영역을 구분합니다.
검수 방법
- 인접한 콘텐츠가 시각적으로 구별되는지 확인하였는가?
텍스트 크기 조정 [강화]
요약 설명
텍스트는 내용이나 기능의 손실 없이 200%까지 크기 조정이 가능해야 합니다.
OS·브라우저 글자 크기 설정과 확대에 대응합니다.
WCAG 2.2 Guidelines :
1.4.4 Resize Text
필요성
제공 방법
예시
네이티브 앱 예시(Android)
sp 단위로 텍스트 크기를 지정합니다.
하이브리드 앱 예시 (HTML/CSS)
rem과 유연한 레이아웃으로 확대에 대응합니다.
검수 방법
- 200% 확대 시 텍스트가 잘리거나 겹치지 않는지 확인하였는가?
이미지 텍스트 [신규]
요약 설명
텍스트는 이미지로 제공하지 않아야 합니다.
필수 본문은 실제 텍스트로 제공하고, 장식용 이미지 텍스트는 예외를 따릅니다.
WCAG 2.2 Guidelines :
1.4.5 Images of Text
필요성
제공 방법
예시
하이브리드 앱 예시 (HTML/CSS)
버튼 텍스트는 마크업 텍스트로 제공합니다.
검수 방법
- 본문·버튼 라벨 등이 이미지 텍스트에만 의존하지 않는지 확인하였는가?
리플로우 [신규]
요약 설명
콘텐츠는 화면 크기에 따라 손실 없이 표시되어야 합니다.
가로·세로 동시 스크롤 없이 한 방향 스크롤로 읽을 수 있도록 레이아웃합니다(예외 제외).
WCAG 2.2 Guidelines :
1.4.10 Reflow
필요성
제공 방법
예시
하이브리드 앱 예시 (HTML/CSS)
뷰포트 메타와 유동 폭으로 리플로우합니다.
검수 방법
- 320 CSS px 등 좁은 폭에서 콘텐츠가 리플로우되어 읽을 수 있는지 확인하였는가?
텍스트 간격 [신규]
요약 설명
텍스트는 내용과 기능의 손실 없이 간격을 조정할 수 있어야 합니다.
줄 간격, 글자·단어 간격을 사용자가 일정 범위에서 바꿔도 레이아웃이 깨지지 않아야 합니다.
WCAG 2.2 Guidelines :
1.4.12 Text Spacing
필요성
제공 방법
예시
하이브리드 앱 예시 (HTML/CSS)
WCAG 검증용으로 줄·글자·단어 간격을 넓혀도 겹침이 없어야 합니다.
검수 방법
- 텍스트 간격 조정 시 콘텐츠가 잘리거나 겹치지 않는지 확인하였는가?
모바일 앱 접근성 요약 보고서
모바일 앱 접근성 요약 보고서 예시로, 체크박스의 체크 여부가 저장되지 않습니다.
-
1. 텍스트 아닌 콘텐츠 [유지]
(KS X 3253:2016 대체텍스트)
-
-
2. 자막 또는 수어 [강화]
(KS X 3253:2016 자막, 수화 등의 제공)
-
-
6. 다양한 감각 지원 [통합]
(KS X 3253:2016 명확한 지시사항)
-
-
9. 색에 무관한 콘텐츠 [유지]
(KS X 3253:2016 색에 무관한 인식)
-
-
10. 소리 자동 재생 [유지]
(KS X 3253:2016 자동재생 금지)
-
-
11. 콘텐츠의 명도대비 [강화]
(KS X 3253:2016 명도대비)
-
-
13. 텍스트 크기 조정 [강화]
(KS X 3253:2016 폰트기능의 활용)
-
-
17. 초점 이동과 표시 [유지]
(KS X 3253:2016 초점)
-
-
18. 조작 가능한 크기 [현행화]
(KS X 3253:2016 컨트롤의 크기와 간격)
-
-
20. 응답시간 조절 [유지]
(KS X 3253:2016 응답 시간 조절)
-
-
21. 움직임 제어 [유지]
(KS X 3253:2016 정지 기능 제공)
-
-
22. 깜빡임과 번쩍임 [유지]
(KS X 3253:2016 깜박거림의 사용 제한)
-
-
26. 단일 포인터 입력 [유지]
(KS X 3253:2016 누르기 동작 지원)
-
-
32. 사용자 요구에 따른 실행 [유지]
(KS X 3253:2016 예측가능성)
-
-
33. 사용자 인터페이스 컴포넌트의 일관성 [강화]
(KS X 3253:2016 사용자 인터페이스의 일관성)
-
-
35. 오류 정정 [분리]
(KS X 3253:2016 입력도움)
-
-
36. 레이블 [분리]
(KS X 3253:2016 입력도움)
-
-
40. 사용자 인터페이스 컴포넌트 [강화]
(KS X 3253:2016 보조기술과의 호환성)
-