액세스 가능성 모범 사례
참고 항목
이 문서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.
컨트롤이나 애플리케이션에서 다음 모범 사례를 구현하면 보조 기술 디바이스 사용자에 대한 액세스 가능성이 향상됩니다. 이들 모범 사례는 대부분 효율적인 UI(사용자 인터페이스) 디자인에 초점을 맞춥니다. 각 모범 사례에는 WPF(Windows Presentation Foundation) 컨트롤 또는 애플리케이션에 대한 구현 정보가 포함되어 있습니다. 대부분 경우에 이들 모범 사례에 맞는 작업이 이미 WPF 컨트롤에 포함되어 있습니다.
프로그래밍 방식 액세스
프로그래밍 방식 액세스에서는 모든 UI 요소에 레이블이 지정되고, 속성 값이 노출되고, 적절한 이벤트가 발생하는지를 확인합니다. 표준 WPF 컨트롤의 경우 이 작업 대부분이 AutomationPeer를 통해 이미 수행되었습니다. 사용자 지정 컨트롤에는 프로그래밍 방식 액세스가 제대로 구현되었는지 확인하는 작업이 추가로 필요합니다.
모든 UI 요소 및 텍스트에 대해 프로그래밍 방식 액세스 사용
UI(사용자 인터페이스) 요소는 프로그래밍 방식 액세스를 사용하도록 설정해야 합니다. UI가 표준 WPF 컨트롤이면 프로그래밍 방식 액세스 지원이 컨트롤에 포함됩니다. 공용 컨트롤에서 서브클래싱된 컨트롤이나 컨트롤에서 서브클래싱된 컨트롤과 같은 사용자 지정 컨트롤이면 AutomationPeer 구현에서 수정해야 할 수 있는 영역이 있는지 확인해야 합니다.
이 모범 사례를 따르면 보조 기술 공급업체에서 제품 UI의 요소를 식별 및 조작할 수 있습니다.
UI 개체, 프레임 및 페이지에 대한 위치 이름, 제목 및 설명
보조 기술, 특히 화면 읽기 프로그램에서는 제목을 사용하여 탐색 체계에서 프레임, 개체 또는 페이지의 위치를 인식합니다. 따라서 제목은 설명을 포함해야 합니다. 예를 들어 사용자가 특정 영역을 자세히 탐색한 경우에는 웹 페이지 제목이 "Microsoft 웹 페이지"인 것은 도움이 되지 않습니다. 시각 장애가 있고 화면 읽기 프로그램에 의존하는 사용자에게는 구체적인 설명이 포함된 제목이 중요합니다. 마찬가지로 WPF 컨트롤의 경우 NameProperty 및 HelpTextProperty는 보조 기술 디바이스에 중요합니다.
이 모범 사례를 따르면 보조 기술이 샘플 컨트롤 및 애플리케이션에서 UI를 식별하고 조작할 수 있습니다.
프로그래밍 방식 이벤트가 모든 UI 작업에서 트리거되는지 확인
이 모범 사례를 따르면 보조 기술이 UI에서 변경 내용을 수신 대기하고 이러한 변경 내용을 사용자에게 알립니다.
사용자 설정
이 섹션의 모범 사례에서는 컨트롤이나 애플리케이션이 사용자 설정을 재정의하지 않도록 합니다.
모든 시스템 수준 설정 유지 및 액세스 가능성 기능 방해 안 함
사용자는 제어판을 사용하여 일부 시스템 수준 플래그를 설정할 수 있습니다. 다른 플래그는 프로그래밍 방식으로 설정할 수 있습니다. 이들 설정은 컨트롤이나 애플리케이션에 의해 변경되지 않아야 합니다. 또한 애플리케이션에서는 호스트 운영 체제의 액세스 가능성 설정을 지원해야 합니다.
이 모범 사례를 따르면 사용자가 액세스 가능성 설정을 지정하고 해당 설정이 애플리케이션에 의해 변경되지 않는다는 것을 알 수 있습니다.
시각적 UI 디자인
이 섹션의 모범 사례에서는 컨트롤이나 애플리케이션에서 색 및 이미지를 효과적으로 사용하고 보조 기술에서 사용될 수 있도록 합니다.
색 하드 코드 안 함
색맹이거나 시력이 낮거나 흑백 화면을 사용하는 사용자는 하드 코드된 색으로 애플리케이션을 사용하지 못할 수 있습니다.
이 모범 사례를 따르면 사용자가 개별 요구 사항에 따라 색 조합을 조정할 수 있습니다.
고대비 및 모든 시스템 표시 특성 지원
애플리케이션은 사용자가 선택한 시스템 수준 대비 설정, 색 선택 또는 기타 시스템 수준 표시 설정과 특성을 방해하거나 비활성화하지 않아야 합니다. 사용자가 선택한 시스템 수준 설정은 애플리케이션의 액세스 가능성을 개선하므로 애플리케이션에 의해 비활성화되거나 무시되지 않아야 합니다. 적절한 대비를 제공하려면 올바른 배경 기반 전경 조합으로 색을 사용해야 합니다. 관련 없는 색을 혼합하지 말고 색상을 반전하지 마세요.
대부분 사용자에게는 검은색 배경 기반 흰색 텍스트와 같은 특수 고대비 조합이 필요합니다. 흰색 배경 기반 검은색 텍스트처럼 이들 색을 반전해서 그리면 배경이 전경 위로 번지므로 몇몇 사용자는 텍스트를 읽기 어려울 수 있습니다.
DPI 설정으로 모든 UI가 올바르게 크기 조정되는지 확인
모든 UI가 인치당 도트 수(dpi) 설정에 따라 올바르게 확장될 수 있는지 확인합니다. 또한 UI 요소가 120dpi(인치당 도트 수)의 1024 x 768 화면에 맞는지 확인합니다.
탐색
이 섹션의 모범 사례에서는 컨트롤 및 애플리케이션에 대한 탐색이 처리되었는지 확인합니다.
모든 UI 요소에 대한 키보드 인터페이스 제공
특히 신중하게 계획된 탭 정지는 사용자에게 UI를 탐색하는 또 다른 방법을 제공합니다.
애플리케이션에서는 다음 키보드 인터페이스를 제공해야 합니다.
- 단추, 링크 또는 목록 상자와 같이 사용자가 조작할 수 있는 모든 컨트롤에 대한 탭 정지
- 논리적 탭 순서
키보드 포커스 표시
사용자는 키 입력의 효과를 예상할 수 있도록 키보드 포커스가 있는 개체를 사용자가 알 수 있어야 합니다. 키보드 포커스를 강조 표시하려면 색, 글꼴 또는 그래픽(예: 사각형 또는 확대)을 사용합니다. 키보드 포커스를 청각적으로 강조하려면 볼륨, 피치 또는 음조 품질을 변경합니다.
혼동을 방지하려면 애플리케이션이 모든 시각적 포커스 표시기를 숨기고 비활성 창에 있는 선택 항목을 흐리게 표시해야 합니다.
애플리케이션에서는 키보드 포커스를 통해 다음을 수행해야 합니다.
- 키보드 포커스가 항상 한 항목에 있어야 함
- 키보드 포커스가 표시되고 분명해야 함
- 선택 항목 및/또는 포커스가 있는 항목이 시각적으로 강조되어야 함
탐색 표준 및 강력한 탐색 체계 지원
키보드 탐색의 다양한 측면을 통해 사용자가 다양한 방법으로 UI를 탐색할 수 있습니다.
애플리케이션에서는 다음 키보드 인터페이스를 제공해야 합니다.
- 모든 명령, 메뉴 및 컨트롤에 대한 바로 가기 키 및 밑줄이 표시된 액세스 키
- 중요 링크에 대한 키보드 바로 가기
- 모든 메뉴 항목에는 액세스 키가 있고 모든 단추와 모든 명령에는 액셀러레이터 키가 있습니다.
마우스 위치가 키보드 탐색을 방해하면 안 됨
마우스 위치가 키보드 탐색을 방해하지 않아야 합니다. 예를 들어 마우스가 임의 위치에 있고 사용자가 키보드로 탐색할 경우 사용자가 시작하지 않은 마우스 클릭이 발생하지 않아야 합니다.
다중 모달 인터페이스
이 섹션의 모범 사례에서는 애플리케이션 UI에 시각적 요소에 대한 대안이 포함되도록 합니다.
텍스트가 아닌 요소에 대한 사용자가 선택할 수 있는 요소 제공
각 텍스트가 아닌 요소의 경우 텍스트, 기록 또는 오디오 설명(예: 대체 텍스트, 캡션 또는 시각적 피드백)에 대한 사용자가 선택할 수 있는 요소를 제공합니다.
텍스트가 아닌 요소는 이미지, 이미지 맵 영역, 애니메이션, 애플릿, 프레임, 스크립트, 그래픽 단추, 소리, 독립 실행형 오디오 파일 및 비디오를 포함한 광범위한 UI 요소를 포함합니다. 텍스트가 아닌 요소는 사용자가 UI의 콘텐츠를 이해하기 위해 액세스해야 하는 시각적 정보, 음성 또는 일반 오디오 정보를 포함할 때 중요합니다.
색을 사용하지만 색의 대안 제공
색을 사용하여 다른 수단으로 표시된 정보를 개선, 강조 또는 반복하지만 색만 사용해서 정보를 전달하지는 않습니다. 색맹이거나 단색 디스플레이를 사용하는 사용자는 색의 대안이 필요합니다.
디바이스 독립적 호출을 통해 표준 입력 API 사용
디바이스 독립적 호출을 사용하면 키보드 기능과 마우스 기능이 동일해지고 UI에 대한 필요한 정보와 함께 보조 기술을 제공합니다.