모바일 앱 접근성 이해의 용이성 - by. UXKM

  • A11Y
  • 접근성 체크리스트
  • 모바일 앱 접근성 이해의 용이성
요약 설명

모바일 애플리케이션 콘텐츠를 구축, 운영, 개선 및 유지 보수할 경우에 적용하는 것으로 모바일 전화기, 태블릿기기 등 모바일 기기에서 실행되는 모든 애플리케이션 및 콘텐츠를 WCAG 2.0(Web Content Accessibility Guidelines 2.0)에서 제시하고 있는 접근성 설계의 4가지 원칙 기준으로, 모바일 애플리케이션 콘텐츠의 설계 및 개발을 위한 지침을 제시하고 있습니다.

기본 언어 표시 [신규]

요약 설명

주로 사용하는 언어를 명시해야 합니다.
기본 언어가 지정되어야 스크린 리더가 문장을 올바른 발음과 규칙으로 처리할 수 있습니다.

WCAG 2.2 Guidelines : 3.1.1 Language of Page

예시

하이브리드 앱 예시 (HTML)

Vue 예시

React 예시

검수 방법

  • 문서/화면 기본 언어가 코드 수준에서 명시되어 있는가?
  • 주요 화면(로그인, 입력, 결과)에서 언어 설정 누락이 없는가?

부분 언어 표시 [신규]

요약 설명

기본 언어와 다른 언어 구간은 해당 언어를 별도로 명시해야 합니다.
외국어 단어, 인용문, 혼합 언어 구간은 언어 속성으로 구분해야 오독을 줄일 수 있습니다.

WCAG 2.2 Guidelines : 3.1.2 Language of Parts

예시

하이브리드 앱 예시 (HTML)

Vue 예시

React 예시

검수 방법

  • 외국어 문장/용어에 언어 속성(lang 등)을 적용했는가?
  • 다국어 전환 시 보조기술이 언어 변화를 정확히 인식하는가?

사용자 요구에 따른 실행 [유지]

요약 설명

사용자가 의도하지 않은 기능은 자동적으로 실행되지 않아야 합니다.
화면 전환·팝업·외부 앱 연결 등 맥락 변화가 있을 때는 사전 안내 또는 확인 절차를 제공해야 합니다.

WCAG 2.2 Guidelines : 3.2.1 On Focus
WCAG 2.2 Guidelines : 3.2.2 On Input

예시

하이브리드 앱 예시 (JavaScript)

Vue 예시

React 예시

검수 방법

  • 선택/입력 즉시 페이지 이동, 제출, 외부 앱 실행이 자동 발생하지 않는가?
  • 맥락 변화가 필요한 경우 사전 안내 또는 확인 절차를 제공하는가?

사용자 인터페이스 컴포넌트의 일관성 [강화]

요약 설명

사용자 인터페이스 컴포넌트는 일관성 있게 제공해야 합니다.
사용자 인터페이스(UI) 컴포넌트들이 일관성 있게 배치되면 사용자는 앱을 보다 쉽게 탐색하고 이해할 수 있습니다.
일관성 있는 UI는 사용자가 각 요소의 위치와 동작을 예측할 수 있게 해주며, 특히 장애를 가진 사용자들에게 더욱 중요한 역할을 합니다.

WCAG 2.2 Guidelines : 3.2.3 Consistent Navigation
WCAG 2.2 Guidelines : 3.2.4 Consistent Identification

필요성

  • 사용자 경험 향상

    일관성 있는 UI는 사용자가 앱을 더 쉽게 배우고 사용할 수 있도록 합니다. 반복적인 패턴은 사용자에게 익숙함을 주어 학습 곡선을 줄입니다.

  • 오류 감소

    일관성 있는 배치는 사용자가 인터페이스의 작동 방식을 이해하기 쉽게 하여, 실수로 잘못된 요소를 누르거나 잘못된 동작을 수행하는 것을 줄입니다.

  • 접근성 보장

    특히 인지 장애나 시각 장애를 가진 사용자들이 앱을 사용할 때, 일관된 레이아웃과 컴포넌트 배치는 중요한 접근성 요소가 됩니다.

제공 방법

  • 컴포넌트의 위치 일관성 유지

    주요 UI 컴포넌트(예: 내비게이션 메뉴, 버튼, 입력 필드 등)는 앱 내 모든 화면에서 일관된 위치에 배치되어야 합니다.
    예를 들어, “뒤로 가기” 버튼은 항상 화면의 왼쪽 상단에 위치해야 합니다.

  • 시각적 디자인 일관성 유지
    • 버튼, 텍스트, 아이콘 등의 시각적 스타일(예: 색상, 폰트, 크기)을 일관되게 사용하여 사용자에게 일관된 시각적 경험을 제공합니다.
    • 텍스트 필드는 모든 화면에서 동일한 크기와 스타일을 사용하여 일관된 시각적 힌트를 제공합니다.
  • 동작 패턴 일관성 유지

    특정 동작(예: 스와이프, 탭 등)에 대한 응답은 모든 화면에서 동일하게 처리되어야 합니다.
    예를 들어, 스와이프 제스처로 메뉴를 열거나 닫는 경우, 모든 화면에서 동일하게 작동하도록 해야 합니다.

  • 내비게이션 구조의 일관성 유지

    앱 내 모든 페이지와 기능은 일관된 내비게이션 구조를 따라야 합니다. 사용자는 언제든지 동일한 방식으로 원하는 페이지로 이동할 수 있어야 합니다.

예시

네이티브 앱 예시(Android)

일관된 버튼 배치

네이티브(잘못된 / 올바른 예시)

아래는 서로 다른 화면에서 같은 역할의 버튼이 어떻게 달라지는지 비교한 예시입니다. 한 화면의 레이아웃만 보면 문제가 없어 보일 수 있으나, 화면이 바뀔 때마다 위치·스타일이 달라지면 사용자가 혼란을 겪습니다.

잘못된 예 1 — 화면마다 버튼 위치가 다름

잘못된 예 2 — 동일 기능(저장)인데 화면마다 스타일이 다름

올바른 예 — 모든 화면에서 동일한 위치·스타일 패턴

하이브리드 앱 예시 (HTML/JavaScript)

일관된 내비게이션과 버튼 스타일

하이브리드(잘못된 / 올바른 예시)

웹 화면에서도 동일한 「저장」 버튼이 화면마다 인라인 스타일로 다르게 지정되면 식별이 어렵습니다. 공통 클래스를 사용해 일관된 스타일을 유지해야 합니다.

검수 방법

  • 모든 화면에서 주요 UI 컴포넌트(예: 내비게이션 바, 버튼 등)가 일관된 위치와 스타일로 배치되었는지 확인하였는가?
  • 다양한 사용자가 앱을 사용하면서 일관성 있는 인터페이스로 인해 앱 사용이 쉬운지, 예상 가능한지 평가하였는가?
  • Google Accessibility Scanner와 같은 도구를 사용하여 UI 컴포넌트의 일관성이 접근성 기준을 충족하는지 점검하였는가?

도움 정보 [신규]

요약 설명

도움 정보가 있다면 화면마다 동일한 순서로 접근할 수 있어야 합니다.
FAQ, 고객센터, 문의 등 반복 제공되는 도움 경로는 일관된 위치와 명칭을 유지해야 합니다.

WCAG 2.2 Guidelines : 3.2.6 Consistent Help

예시

하이브리드 앱 예시 (HTML)

Vue 예시

React 예시

검수 방법

  • 고객센터/FAQ/문의하기가 화면마다 같은 위치와 같은 명칭으로 제공되는가?
  • 키보드/보조기술 사용 시에도 도움 정보에 일관되게 도달 가능한가?

오류 정정 [분리]

요약 설명

입력 오류를 정정할 수 있는 방법을 제공해야 합니다.
입력 서식을 이용할 때 사용자가 잘못된 정보를 입력하지 않도록 도와주는 방법을 제공하거나, 오류 발생 시 이를 쉽게 정정할 수 있도록 안내해야 합니다. 이러한 기능은 사용자들이 올바른 데이터를 입력하도록 유도하며, 특히 인지 장애가 있는 사용자들에게 매우 중요합니다.

WCAG 2.2 Guidelines : 3.3.1 Error Identification
WCAG 2.2 Guidelines : 3.3.3 Error Suggestion

필요성

  • 사용자 편의성

    입력 과정에서 발생할 수 있는 오류를 최소화하여 사용자의 부담을 줄입니다.

  • 오류 방지

    사용자가 입력해야 하는 형식에 대한 명확한 지침을 제공함으로써 오류 발생을 줄일 수 있습니다.

  • 오류 정정 지원

    오류가 발생했을 때 사용자가 쉽게 수정할 수 있도록 피드백과 도움을 제공합니다.

  • 접근성 보장

    특히 인지 장애나 시각 장애가 있는 사용자들이 입력 오류를 쉽게 식별하고 수정할 수 있도록 돕습니다.

제공 방법

  • 명확한 입력 지침 제공
    • 입력 서식의 각 필드에 대해 사용자가 기대되는 입력 형식을 명확히 안내합니다(예: 전화번호 형식, 이메일 형식).
    • 입력 필드에 힌트(placeholder)나 레이블(label)을 사용하여 입력 형식을 설명합니다.
  • 실시간 입력 검증

    사용자가 입력하는 동안 실시간으로 오류를 검증하고, 문제가 있을 경우 즉시 피드백을 제공합니다(예: 이메일 주소 형식 오류).

  • 오류 발생 시 시각적 피드백 제공

    오류가 발생한 필드를 시각적으로 강조(예: 빨간색 테두리)하고, 오류 메시지를 명확하게 표시하여 무엇이 잘못되었는지 설명합니다.

  • 오류 수정 가이드 제공

    오류 메시지에 오류 수정 방법을 포함시켜 사용자가 쉽게 문제를 해결할 수 있도록 제공합니다.

예시

네이티브 앱 예시(Android)

실시간 입력 검증과 오류 피드백

네이티브(잘못된 / 올바른 예시)

하이브리드 앱 예시 (HTML/JavaScript)

실시간 입력 검증과 오류 피드백

검수 방법

  • 모든 입력 필드에 대해 실시간 검증과 오류 피드백이 제대로 작동하는지 확인하였는가?
  • 오류 메시지가 명확하고 사용자가 쉽게 이해할 수 있는지 검토하였는가?
  • 실제 사용자들이 입력 과정에서 발생한 오류를 쉽게 식별하고 수정할 수 있는지 테스트하였는가?
  • Google Accessibility Scanner와 같은 도구를 사용하여 입력 필드와 오류 메시지가 접근성 기준을 충족하는지 점검하였는가?

레이블 [분리]

요약 설명

사용자 입력 항목에는 대응하는 레이블을 제공해야 합니다.
레이블은 입력 항목의 목적을 명확히 알려 주며, 보조기술이 항목 정보를 정확히 읽을 수 있도록 연결되어야 합니다.

WCAG 2.2 Guidelines : 3.3.2 Labels or Instructions

예시

하이브리드 앱 예시 (HTML)

Vue 예시

React 예시

검수 방법

  • 모든 입력 필드에 시각적 레이블이 제공되고, 플레이스홀더만으로 대체하지 않았는가?
  • label for, aria-label, 네이티브 접근성 라벨 등으로 보조기술 연결을 제공했는가?

오류 방지 [신규]

요약 설명

중요한 제출은 실수로 완료되지 않도록 확인·취소·수정 수단을 제공해야 합니다.
법률, 금융, 개인정보 등 영향이 큰 작업은 사전 확인 또는 제출 후 되돌리기 기능이 필요합니다.

WCAG 2.2 Guidelines : 3.3.4 Error Prevention (Legal, Financial, Data)

예시

하이브리드 앱 예시 (HTML/JavaScript)

Vue 예시

React 예시

검수 방법

  • 결제·삭제·전송 등 중요 작업에 확인 단계가 제공되는가?
  • 사용자가 취소, 수정, 되돌리기 중 하나 이상을 수행할 수 있는가?

반복 입력 정보 [신규]

요약 설명

같은 정보를 불필요하게 반복 입력하지 않도록 해야 합니다.
자동완성, 이전 값 불러오기, 복사 기능 등으로 입력 부담을 줄여야 합니다.

WCAG 2.2 Guidelines : 3.3.7 Redundant Entry

예시

하이브리드 앱 예시 (HTML)

Vue 예시

React 예시

검수 방법

  • 동일 사용자 정보(이름, 연락처, 주소 등)를 재입력하지 않아도 되는가?
  • 자동완성/기존 값 선택/복사 등 대체 입력 수단이 제공되는가?

접근 가능한 인증 [신규]

요약 설명

인증 과정은 인지 시험에만 의존하지 않아야 합니다.
패스키, 생체인증, 일회용 링크 등 대체 인증 수단을 제공해 다양한 사용자가 인증할 수 있어야 합니다.

WCAG 2.2 Guidelines : 3.3.8 Accessible Authentication (Minimum)

예시

하이브리드 앱 예시 (HTML)

Vue 예시

React 예시

검수 방법

  • 기억·암기·퍼즐 해석 등 인지 부담이 큰 방식 외의 인증 수단이 있는가?
  • 보조기술 사용자도 인증을 완료할 수 있도록 포커스/읽기 순서/안내가 적절한가?

모바일 앱 접근성 요약 보고서

모바일 앱 접근성 요약 보고서 예시로, 체크박스의 체크 여부가 저장되지 않습니다.

  • 검사항목(41개)
  • 검사항목(41개)

    준수 여부

  • 1. 텍스트 아닌 콘텐츠 [유지]
    (KS X 3253:2016 대체텍스트)
  • 텍스트 아닌 콘텐츠는 그 의미나 용도를 인식할 수 있도록 대체 텍스트를 제공해야 한다.

  • 2. 자막 또는 수어 [강화]
    (KS X 3253:2016 자막, 수화 등의 제공)
  • 멀티미디어 콘텐츠는 자막 또는 수어를 제공해야 한다.

  • 3. 화면해설 [신규]
  • 멀티미디어 콘텐츠에서 음성 정보가 없는 시각 정보는 인식할 수 있도록 화면해설을 제공해야 한다.

  • 4. 표의 구성 [신규]
  • 표는 이해하기 쉽게 구성해야 한다.

  • 5. 콘텐츠의 선형구조 [신규]
  • 콘텐츠는 논리적인 순서로 제공해야 한다.

  • 6. 다양한 감각 지원 [통합]
    (KS X 3253:2016 명확한 지시사항)
  • 지시사항이나 알림정보 등은 모양, 크기, 위치, 방향, 색, 소리 등에 관계없이 다양한 감각으로 인식할 수 있어야 한다.

  • 7. 방향 설정 [신규]
  • 콘텐츠는 특정 화면 방향으로만 고정하지 않아야 한다.

  • 8. 입력 목적 식별 [신규]
  • 입력 서식의 목적은 식별할 수 있어야 한다.

  • 9. 색에 무관한 콘텐츠 [유지]
    (KS X 3253:2016 색에 무관한 인식)
  • 콘텐츠는 색에 관계없이 인식할 수 있어야 한다.

  • 10. 소리 자동 재생 [유지]
    (KS X 3253:2016 자동재생 금지)
  • 소리는 자동으로 재생되지 않아야 한다.

  • 11. 콘텐츠의 명도대비 [강화]
    (KS X 3253:2016 명도대비)
  • 콘텐츠와 배경 간의 명도는 충분하게 대비되도록 제공해야 한다.

  • 12. 콘텐츠 간의 구분 [신규]
  • 이웃한 콘텐츠는 시각적으로 구별할 수 있어야 한다.

  • 13. 텍스트 크기 조정 [강화]
    (KS X 3253:2016 폰트기능의 활용)
  • 텍스트는 내용이나 기능의 손실 없이 200%까지 크기 조정이 가능해야 한다.

  • 14. 이미지 텍스트 [신규]
  • 텍스트는 이미지로 제공하지 않아야 한다.

  • 15. 리플로우 [신규]
  • 콘텐츠는 화면 크기에 따라 손실 없이 표시되어야 한다.

  • 16. 텍스트 간격 [신규]
  • 텍스트는 내용과 기능의 손실 없이 간격을 조정할 수 있어야 한다.

  • 17. 초점 이동과 표시 [유지]
    (KS X 3253:2016 초점)
  • 의미나 기능을 갖는 모든 콘텐츠 요소는 초점이 적용되고, 초점은 논리적인 순서로 이동해야 한다.

  • 18. 조작 가능한 크기 [현행화]
    (KS X 3253:2016 컨트롤의 크기와 간격)
  • 사용자 입력 및 컨트롤은 조작 가능한 충분한 크기로 제공해야 한다.

  • 19. 단일 문자 단축키 [신규]
  • 단일 문자 단축키는 오동작으로 인한 오류를 방지해야 한다.

  • 20. 응답시간 조절 [유지]
    (KS X 3253:2016 응답 시간 조절)
  • 시간제한이 있는 콘텐츠는 응답시간을 조절할 수 있어야 한다.

  • 21. 움직임 제어 [유지]
    (KS X 3253:2016 정지 기능 제공)
  • 자동으로 변경되는 콘텐츠는 움직임을 제어할 수 있어야 한다.

  • 22. 깜빡임과 번쩍임 [유지]
    (KS X 3253:2016 깜박거림의 사용 제한)
  • 초당 3~50회 주기로 깜빡이거나 번쩍이는 콘텐츠를 제공하지 않아야 한다.

  • 23. 제목 [신규]
  • 콘텐츠 블록에는 적절한 제목을 제공해야 한다.

  • 24. 링크 텍스트 [신규]
  • 링크 텍스트는 용도나 목적을 이해할 수 있도록 제공해야 한다.

  • 25. 다양한 탐색 방법 [신규]
  • 콘텐츠는 다양한 방법으로 탐색할 수 있어야 한다.

  • 26. 단일 포인터 입력 [유지]
    (KS X 3253:2016 누르기 동작 지원)
  • 다중 포인트 동작 또는 경로기반 동작을 통한 입력은 단일 포인터 입력으로도 조작할 수 있어야 한다.

  • 27. 포인터 입력 취소 [신규]
  • 단일 포인터 입력으로 실행되는 기능은 취소할 수 있어야 한다.

  • 28. 네임 안의 레이블 [신규]
  • 텍스트 또는 텍스트 이미지가 포함된 레이블이 있는 사용자 인터페이스 구성요소는 네임에 시각적으로 표시되는 해당 텍스트를 포함해야 한다.

  • 29. 동작기반 작동 [신규]
  • 동작기반으로 작동하는 기능은 사용자 인터페이스 구성요소로 조작할 수 있고, 동작기반 기능을 비활성화할 수 있어야 한다.

  • 30. 기본 언어 표시 [신규]
  • 주로 사용하는 언어는 명시해야 한다.

  • 31. 부분 언어 표시 [신규]
  • 기본 언어와 구별되는 다른 언어는 해당 언어를 명시해야 한다.

  • 32. 사용자 요구에 따른 실행 [유지]
    (KS X 3253:2016 예측가능성)
  • 사용자가 의도하지 않은 기능은 자동적으로 실행되지 않아야 한다.

  • 33. 사용자 인터페이스 컴포넌트의 일관성 [강화]
    (KS X 3253:2016 사용자 인터페이스의 일관성)
  • 사용자 인터페이스 컴포넌트는 일관성 있게 제공해야 한다.

  • 34. 도움 정보 [신규]
  • 도움 정보가 제공되는 경우, 각 페이지에 동일한 순서로 접근할 수 있어야 한다.

  • 35. 오류 정정 [분리]
    (KS X 3253:2016 입력도움)
  • 입력 오류를 정정할 수 있는 방법을 제공해야 한다.

  • 36. 레이블 [분리]
    (KS X 3253:2016 입력도움)
  • 사용자 입력에는 대응하는 레이블을 제공해야 한다.

  • 37. 오류 방지 [신규]
  • 중요한 정보가 제출되기 전 되돌리기 어려운 오류를 방지할 수 있는 수단을 제공해야 한다.

  • 38. 반복 입력 정보 [신규]
  • 동일한 정보를 반복하여 입력하지 않도록 해야 한다.

  • 39. 접근 가능한 인증 [신규]
  • 인증 과정은 인지 기능 테스트에만 의존해서는 안 된다.

  • 40. 사용자 인터페이스 컴포넌트 [강화]
    (KS X 3253:2016 보조기술과의 호환성)
  • 사용자 인터페이스 컴포넌트는 보조기술을 이용하여 사용할 수 있도록 해야 한다.

  • 41. 상태 메시지 [신규]
  • 중요한 상태 메시지는 보조기술 사용자에게도 전달되어야 한다.