웹 콘텐츠 접근성 견고성 - by. UXKM

요약 설명

kwcag 2.2 원칙을 구현하기 위해 14개의 지침을 따라야 하고, 각 지침의 준수 여부를 확인하기 위해 33개의 검사 항목을 마련해야 합니다.
검사 항목은 구체적인 테스트가 가능한 기준을 제공하여 웹사이트가 원칙 및 지침을 준수하고 있는지 확인하는 데 사용됩니다.
지능정보화기본법 시행규칙 일부개정령(안) 입법예고에 따라 ‘24.9.1부터 심사기준이 변경되며 이에따라 kwcag 2.2 기준으로 체크리스트를 제공합니다.

마크업 오류 방지

요약 설명

마크업 언어의 요소는 열고 닫음, 중첩 관계 및 속성 선언에 오류가 없어야 합니다.
HTML 마크업 언어에서 요소는 열고 닫아야 하며, 중첩 관계 및 속성 선언이 정확해야 합니다. 이를 통해 문서의 구조를 올바르게 유지하고, 브라우저가 페이지를 정확하게 렌더링할 수 있도록 합니다.

HTML5 스펙 문서 : HTML5 Specification

예시

마크업 오류 방지에 대한 예시는 UXKM의 요소 중첩 페이지에서 자세하게 설명되어 있습니다.
UXKM의 요소 중첩 바로가기

검수 방법

  • HTML Validator 사용

    W3C HTML Validator와 같은 도구를 사용하여 마크업 오류를 자동으로 검수하였는가?

  • 브라우저 개발자 도구 사용

    브라우저의 개발자 도구(예: Chrome DevTools)를 사용하여 HTML 구조를 확인하였는가?

  • 수동 검사

    HTML 코드를 수동으로 검토하여 태그의 열고 닫음, 중첩 관계, 속성 선언을 확인하였는가?

웹 애플리케이션 접근성 준수

요약 설명

콘텐츠에 포함된 웹 애플리케이션은 접근성이 있어야 합니다.
웹사이트, 도구, 기술이 장애를 가진 사람들도 포함하여 모든 사용자에게 접근 가능하도록 설계되는 것을 의미합니다.

웹 콘텐츠 접근성 지침(WCAG) 개요 : WCAG 2 Overview
WCAG 2.2 Guidelines : WCAG 2.2

잘못된 예시 1

버튼에 대체 텍스트가 없어 스크린 리더 사용자에게 혼란을 줄 수 있습니다.

올바른 예시 1

aria-label 속성을 사용하여 스크린 리더 사용자에게 버튼의 용도를 설명합니다.

잘못된 예시 2

버튼의 상태 변화(예: 메뉴 열림/닫힘)에 대한 정보를 제공하지 않은 경우, 사용자는 버튼의 현재 상태를 알기 어려워 사용성에 문제가 생길 수 있습니다.

올바른 예시 1

aria-expandedaria-controls 속성을 사용하여 버튼 상태와 관련된 정보를 제공합니다.

검수 방법

  • 자동화 도구 사용

    접근성 자동화 검사 도구(예: Axe, WAVE)를 사용하여 페이지를 분석하고 문제점을 발견하였는가?

  • 스크린 리더 테스트

    NVDA, JAWS와 같은 스크린 리더를 사용하여 웹 애플리케이션이 제대로 읽히는지 확인하였는가?

  • 키보드 네비게이션 테스트

    마우스 없이 키보드만으로 웹 애플리케이션을 사용할 수 있는지 확인하였는가?

  • 색 대비 검사

    텍스트와 배경 색상의 대비가 충분한지 확인하였는가?

  • 수동 검사

    WCAG 지침을 참고하여 수동으로 접근성을 검토하였는가?


웹 접근성 요약 보고서 예시

아래 표는 웹 접근성 요약 보고서 예시로, 체크박스의 체크 여부가 저장되지 않습니다.

  • 지침(14개)
  • 검사항목(33개)

    준수 여부

  • 5.1. 대체 텍스트
  • 5.1.1. (적절한 대체 텍스트 제공) 텍스트 아닌 콘텐츠는 그 의미나 용도를 인식할 수 있도록 대체 텍스트를 제공해야 한다.

  • 5.2. 멀티미디어 대체수단
  • 5.2.1. (자막 제공) 멀티미디어 콘텐츠에는 자막, 대본 또는 수어를 제공해야 한다.

  • 5.3. 적응성
  • 5.3.1. (표의 구성) 표는 이해하기 쉽게 구성해야 한다.

    5.3.2. (콘텐츠의 선형구조) 콘텐츠는 논리적인 순서로 제공해야 한다.

    5.3.3. (명확한 지시사항 제공) 지시사항은 모양, 크기, 위치, 방향, 색, 소리 등에 관계없이 인식될 수 있어야 한다.

  • 5.4. 명료성
  • 5.4.1. (색에 무관한 콘텐츠 인식) 콘텐츠는 색에 관계없이 인식될 수 있어야 한다.

    5.4.2. (자동 재생 금지) 자동으로 소리가 재생되지 않아야 한다.

    5.4.3. (텍스트 콘텐츠의 명도 대비) 텍스트 콘텐츠와 배경 간의 명도대비는 4.5 대 1 이상이어야 한다.

    5.4.4. (콘텐츠 간의 구분) 이웃한 콘텐츠는 구별될 수 있어야 한다.

  • 6.1. 입력장치 접근성
  • 6.1.1. (키보드 사용 보장) 모든 기능은 키보드만으로도 사용할 수 있어야 한다.

    6.1.2. (초점 이동과 표시) 키보드에 의한 초점은 논리적으로 이동해야 하며, 시각적으로 구별할 수 있어야 한다.

    6.1.3. (조작 가능) 사용자 입력 및 콘트롤은 조작 가능하도록 제공되어야 한다.

    6.1.4. (문자 단축키) 문자 단축키는 오동작으로 인한 오류를 방지하여야 한다.

  • 6.2. 충분한 시간 제공
  • 6.2.1. (응답시간 조절) 시간제한이 있는 콘텐츠는 응답시간을 조절할 수 있어야 한다.

    6.2.2. (정지 기능 제공) 자동으로 변경되는 콘텐츠는 움직임을 제어할 수 있어야 한다.

  • 6.3. 광과민성 발작 예방
  • 6.3.1. (깜빡임과 번쩍임 사용 제한) 초당 3~50회 주기로 깜빡이거나 번쩍이는 콘텐츠를 제공하지 않아야 한다.

  • 6.4 쉬운 내비게이션
  • 6.4.1. (반복 영역 건너뛰기) 콘텐츠의 반복되는 영역은 건너뛸 수 있어야 한다.

    6.4.2. (제목 제공) 페이지, 프레임, 콘텐츠 블록에는 적절한 제목을 제공해야 한다.

    6.4.3. (적절한 링크 텍스트) 링크 텍스트는 용도나 목적을 이해할 수 있도록 제공해야 한다.

    6.4.4. (고정된 참조 위치 정보) 전자출판문서 형식의 웹 페이지는 각 페이지로 이동할 수 있는 기능이 있어야 하고, 서식이나 플랫폼에 상관없이 참조 위치 정보를 일관되게 제공ㆍ유지해야 한다.

  • 6.5. 입력 방식
  • 6.5.1. (단일 포인터 입력 지원) 다중 포인터 또는 경로기반 동작을 통한 입력은 단일 포인터 입력으로도 조작할 수 있어야 한다.

    6.5.2. (포인터 입력 취소) 단일 포인터 입력으로 실행되는 기능은 취소할 수 있어야 한다.

    6.5.3. (레이블과 네임) 텍스트 또는 텍스트 이미지가 포함된 레이블이 있는 사용자 인터페이스 구성요소는 네임에 시각적으로 표시되는 해당 텍스트를 포함해야 한다.

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

  • 7.1. 가독성
  • 7.1.1. (기본 언어 표시) 주로 사용하는 언어를 명시해야 한다.

  • 7.2. 예측 가능성
  • 7.2.1. (사용자 요구에 따른 실행) 사용자가 의도하지 않은 기능(새 창, 초점에 의한 맥락 변화 등)은 실행되지 않아야 한다.

    7.2.2. (찾기 쉬운 도움 정보) 도움 정보가 제공되는 경우, 각 페이지에서 동일한 상대적인 순서로 접근할 수 있어야 한다.

  • 7.3. 입력 도움
  • 7.3.1. (오류 정정) 입력 오류를 정정할 수 있는 방법을 제공해야 한다.

    7.3.2. (레이블 제공) 사용자 입력에는 대응하는 레이블을 제공해야 한다.

    7.3.3. (접근 가능한 인증) 인증 과정은 인지 기능 테스트에만 의존해서는 안 된다.

    7.3.4. (반복 입력 정보) 반복되는 입력 정보는 자동 입력 또는 선택 입력할 수 있어야 한다.

  • 8.1. 문법 준수
  • 8.1.1. (마크업 오류 방지) 마크업 언어의 요소는 열고 닫음, 중첩 관계 및 속성 선언에 오류가 없어야 한다.

  • 8.2. 웹 애플리케이션 접근성
  • 8.2.1. (웹 애플리케이션 접근성 준수) 콘텐츠에 포함된 웹 애플리케이션은 접근성이 있어야 한다.