# Django 6.0.7 문서

# 접근성

Django 프로젝트는 장애가 있는 사람을 포함해 모든 사람이 Django로 구축된 웹사이트를 사용할 수 있도록 노력하고 있습니다. 관리자 인터페이스와 기본 폼 렌더링 등 Django의 내장 구성 요소는 접근성 표준을 준수하고 특정 입력 장치와 보조 기술을 지원하기 위한 자체 목표를 충족해야 합니다.

## 접근성 표준

Django는 Web Content Accessibility Guidelines (WCAG) 2.2 버전의 AA 수준을 준수하기 위해 노력합니다. WCAG는 가장 널리 인정받는 웹 접근성 표준입니다. `AA-level guidelines`_는 전 세계에서 가장 일반적인 법적 준수 목표입니다.

또한 다음과 같은 모범 사례를 따르는 것을 목표로 합니다.

- WCAG 2.2 AAA-level guidelines: AA 수준을 넘어서는 더 엄격한 기준

- 향후 WCAG 3.0 가이드라인: 기존 WCAG 버전을 통합하고 개선하기 위해 발전 중인 새로운 표준

- Authoring Tool Accessibility Guidelines (ATAG) 2.0: 웹 콘텐츠 제작에 사용되는 소프트웨어와 서비스를 위한 가이드라인

표준을 바로 살펴보기 전에 접근성에 대해 더 알아보고 싶다면 디지털 접근성을 더 쉽게 구현할 수 있도록 커뮤니티 주도로 진행되는 프로젝트인 `The A11Y Project`_를 참고하시기 바랍니다.

## 지원 대상 및 테스트

표준을 따르는 것 외에도, 다양한 입력 장치와 보조 기술을 사용하는 사람들이 실제로 Django를 사용할 수 있도록 하는 것을 목표로 합니다. 이는 Django가 for everyone`_에게 더 잘 작동하도록 하는 데에도 도움이 됩니다. 이를 효과적으로 실현하는 가장 좋은 방법은 접근성 관련 사항을 기능 설계 단계부터 고려하는 것입니다. 확신이 서지 않는 경우, 보조 기술을 사용하는 사용자나 접근성 전문가와 상의하세요. `Accessibility Django forum topic 또는 Django Discord server`_의 ``#accessibility` 채널을 통해 `Accessibility team`_에 문의할 수 있습니다.

### 테스트 기준

접근성을 염두에 두고 UI를 설계하세요. 그러면 테스트는 최종 점검으로만 진행하면 됩니다. 더 복잡한 인터페이스의 경우, 다른 기여자와 상의하여 테스트 대상을 결정하세요. 지원을 받거나 테스트를 조율하려면 `Accessibility team`_에 문의하세요.

사용자 인터페이스 변경 사항은 항상 다음 기준에 따라 테스트해야 합니다.

- 키보드만으로 탐색할 수 있어야 합니다. 일반적인 문제로는 다음이 있습니다.

  - 대화형 요소에 Tab 키 또는 화살표 키로 접근할 수 없습니다.

  - 대화형 요소에 입력 포커스가 갇혀 다른 곳으로 이동할 수 없습니다.

  - 대화형 요소에 입력 포커스가 있을 때 시각적으로 표시되지 않습니다.

  - 포커스 순서가 화면에 보이는 논리적 순서와 일치하지 않습니다.

- Accessibility Insights 브라우저 확장 프로그램의 자동 검사 기능 또는 Axe 검사기를 사용하는 유사한 도구

UI 변경 사항이 이러한 입력 방식에 영향을 미칠 수 있다면, 다음 항목도 테스트해야 합니다.

- 터치만으로 탐색. 일반적인 문제로는 다음이 있습니다.

  - 터치 대상(대화형 요소)이 너무 작습니다.

  - Hover-based interaction that does not translate to touch, such as a hover-only tooltip.

- 브라우저 확대 400%. 일반적인 문제로는 다음이 있습니다.

  - 확대 시 콘텐츠가 잘리거나 사라집니다.

  - 본질적으로 2차원 레이아웃이 필요하지 않은 콘텐츠에서 양방향(수직과 수평)으로 스크롤이 발생합니다. 이미지, 지도, 동영상, 데이터 테이블처럼 두 차원을 모두 활용해야 하는 콘텐츠에는 2차원 스크롤이 허용됩니다.

- Forced-colors 모드(예: Windows 대비 테마). 이는 screenshot tests <screenshot-tests>`의 `”high_contrast”`` 모드를 통해 테스트할 수 있습니다. 일반적인 문제로는 다음이 있습니다.

  - 의미를 전달할 때 색상에만 지나치게 의존하면, forced-colors 모드에서 그 의미가 제대로 전달되지 않습니다.

  - `!important` 또는 인라인 스타일을 사용하면 forced-colors 모드가 제대로 동작하지 않을 수 있습니다.

### 권장되는 보조 기술

UI 변경 사항이 보조 기술에 영향을 미칠 수 있다면, 널리 사용되는 무료 옵션을 활용해 테스트해 볼 것을 권장합니다.

Windows의 경우

- NVDA: Firefox ESR 사용을 권장합니다.

- Narrator: Microsoft Edge 사용을 권장합니다.

- Windows 돋보기

- Windows 음성 인식

- 대비 테마

macOS의 경우

- VoiceOver: Safari 사용을 권장합니다.

- macOS 화면 확대

- macOS 음성 명령

Linux의 경우

- Orca: Firefox ESR 사용을 권장합니다.

모바일 또는 태블릿의 경우

- iOS의 VoiceOver 또는 Android의 TalkBack 기능

다음은 널리 사용되는 유료 옵션입니다. 이러한 도구를 사용하고 있거나 라이선스를 보유한 사용자와 협업할 수 있다면 아래 항목에 대해서도 테스트하세요.

- Windows 환경의 JAWS

- Windows 환경의 Dragon

## 알려진 문제 및 기여 방법

Django의 일부 기능은 아직 접근성 기준을 충족하지 못하고 있습니다. 지속적인 유지 관리와 대규모 개편의 일환으로 이러한 문제를 적극적으로 해결하고 있습니다. 알려진 문제를 확인하고 참여하려면 다음을 참고하세요.

- Django Discord server`_의 ``#accessibility`

- Django 접근성 포럼 주제

- 티켓 트래커의 접근성 문제.

- Django 접근성 개선 프로젝트 보드

- Accessibility team