1.2 소프트웨어 접근성 지침
ISO 표준 기구를 비롯하여 여러 나라에서는 소프트웨어 가이드라인을 규정하고 이를 적용하고 있습니다.
우리나라도 2006년 "소프트웨어 접근성 지침 1.0"을 정보통신기술산업협회에서 규정하였습니다. 이 가이드라인에는 12개의 항목이 있습니다.
항목 |
항목 1. 키보드 기능 |
항목 2. 응용 프로그래밍 인터페이스 |
항목 3. 포커스 변화 |
항목 4. 사용자 인터페이스 요소 |
항목 5. 비트맵 이미지 응용 |
항목 6. 스크린 텍스트 출력 |
항목 7. 시스템 설정 변경 |
항목 8. 동영상 표시 |
항목 9. 색깔 정보 |
항목 10. 화면색과 대비 |
항목 11. 깜빡거림 |
항목 12. 전자서식 |
[표 1.1] 소프트웨어 접근성 지침 1.0
1.2.1 키보드 기능
키보드 기능 항목에서는 키보드만으로 모든 소프트웨어 기능을 사용할 수 있게 구현하여야 한다는 것입니다. 마우스처럼 화면의 위치를 지시하는 장치를 사용하기 힘든 사용자를 위해 정의한 항목입니다.
만약 툴바의 기능을 다른 방법으로 사용할 수 없거나 스크롤 바 이외에 스크롤 할 수 있는 방법을 제공하지 않는다면 이 항목에 위배하는 것입니다.
툴바의 기능은 메뉴에도 포함시키고 스크롤 바를 사용하는 것을 대신하는 단축키를 제공하면 이 항목을 지키는 것입니다.
1.2.2 응용 프로그램 인터페이스
응용 프로그램은 운영체제에서 제공한 접근성 기능을 방해하거나 작동불능 상태로 만들어서는 안되며 이미 실행 중인 다른 응용 프로그램의 접근성 기능을 방해하거나 작동불능 상태로 만들면 안 된다는 것입니다.
만약 시스템에서 제공하는 고정키(Sticky Key)를 특정 응용이 다른 키로 사용하면 이 항목에 위배하는 것입니다. 예를 들어 <왼쪽 Alt + 왼쪽 Shift + Ctrl+ Print Screen>을 누르면 고대비 켜짐/꺼짐이 수행하는 데 이를 다른 목적으로 수행하게 막는다면 이 항목을 위배하는 것입니다.
따라서 응용 프로그램에서는 시스템에서 사용하는 고정키를 사용하지 않게 구현해야 합니다.
1.2.3 포커스 변화
프로그램 방식으로 포커스와 포커스의 변화를 추적할 수 있어야 한다는 것입니다.
만약 응용 프로그램의 특정 요소가 포커스를 소유할 때나 소유하지 않을 때 차이가 없다면 접근성을 위배하는 것입니다. 이를 위배하면 사용자는 어떤 요소에 포커스가 있는지 인식할 수 없어서 사용이 불편합니다.
응용 프로그램을 개발할 때는 어떤 요소가 포커스를 소유하였는지 인식할 수 있게 시각적으로 나타내 주어야 합니다.
1.2.4 사용자 인터페이스 요소
사용자 인터페이스 요소의 정보나 동작, 상태를 충분히 제공하여야 한다는 것입니다.
만약 어떤 요소를 이미지로 표시만 하고 이에 관한 정보를 충분히 제공하지 않으면 접근성에 위배하는 것입니다. 또한 현재 요소가 어떠한 컨트롤이고 무엇을 할 수 있는지 어떠한 상태에 있는지 표준 접근성 기술로 수집할 수 없다면 접근성에 위배하는 것입니다.
응용 프로그램을 개발할 때는 이미지의 대체 텍스트를 제공하고 사용자 정의 컨트롤을 제작할 때는 표준 방식에 의거하여 제작해야 합니다.
1.2.5 비트맵 이미지 응용
비트맵 이미지를 이용하여 프로그램 요소를 나타낼 때 비트맵 이미지의 의미는 응용 프로그램이 동작하는 동안 바뀌지 않아야 한다는 것입니다.
만약 이미지 버튼으로 프로그램의 여러 기능을 제공할 때 서로 다른 기능을 같은 이미지를 갖는 버튼으로 제공한다면 사용에 혼돈이 생겨 접근성을 위배하는 것입니다.
응용 프로그램 개발할 때는 서로 다른 기능에 대응하는 이미지를 다르게 제공하세요. 또한 특정 상태에서 사용할 수 없을 때 숨기지 말고 비활성화시키는 것이 보다 접근성이 높은 것입니다.
1.2.6 스크린 텍스트 출력
스크린에 표시하는 텍스트는 운영체제에서 제공하는 API를 이용하여 처리해야 한다는 것입니다.
만약 응용 프로그램에서 텍스트 정보를 운영체제에서 제공하는 API가 아닌 다른 방법으로 표시한다면 보조기술은 텍스트 정보를 알아낼 수 없어 접근성을 위배하는 것입니다.
1.2.7 시스템 설정 변경
사용자가 설정한 화면 대비나 색상 및 화면표시 속성을 응용 프로그램이 임의로 변경할 수 없다는 것입니다.
만약 색약인 사용자가 설정한 고대비모드를 응용 프로그램에서 해제한다면 접근성을 위배하는 것입니다.
응용 프로그램에서 사용자가 설정한 것을 변경해야 한다면 명확히 설정값을 변경하기 전에 변경함을 통보해야 합니다.
1.2.8 동영상 표시
동영상을 표시할 때는 사용자가 일시 정지 및 정지를 할 수 있어야 한다는 것입니다.
만약 동영상을 일시 정지 및 정지할 수 없다면 접근성을 위배하는 것입니다. 여기에서 동영상은 동영상 파일의 실행만을 얘기하는 것이 아니라 실시간으로 제공하는 영상도 포함합니다.
응용 프로그램에서는 사용자가 동영상을 일시 정지 및 정지할 수 있는 기능을 제공해야 합니다. 그리고 정지시킬 수 없다면 움직이지 않는 텍스트를 이용하여 동영상에서 제공하는 정보를 전달해 주면 됩니다.
1.2.9 색깔 정보
소프트웨어는 프로그램의 상태나 동작 등을 색깔이 제공하는 정보에만 의존하면 안 된다는 것입니다.
색약인 사용자는 색깔로만 정보를 전달하면 제대로 정보를 얻을 수 없어 이 항목을 위배하는 것입니다.
응용 프로그램에서는 어떠한 정보를 색깔만 이용하지 말고 패턴이나 텍스트 레이블을 추가하여 화면을 흑백으로 변화해도 정보를 인지할 수 있게 작성해야 합니다.
1.2.10 화면색과 대비
사용자가 스크린 색깔을 조절할 수 있게 구성한 소프트웨어에서는 다양한 색깔을 선택할 수 있고 다양한 대비를 설정할 수 있어야 한다는 것입니다.
약시인 사용자는 대비가 작으면 응용 프로그램에서 제공하는 정보를 얻기 힘들 수 있습니다.
응용 프로그램에서는 사용자가 정보를 쉽게 인지할 수 있게 고대비를 설정할 수 있게 지원해야 합니다. 이 항목은 스크린 색깔을 조절할 수 있게 구성한 소프트웨어에 관한 사항이지만 다른 소프트웨어에서도 배경색과 전경색을 일정 수준 이상의 대비를 주어 접근성을 높일 수 있습니다.
1.2.11 깜빡거림
소프트웨어는 2Hz에서 55Hz 사이의 주파수로 깜빡거리는 요소를 사용하면 안 된다는 것입니다.
광과민성발작 증세가 있는 사용자들은 2Hz에서 55Hz 사이의 주파수로 깜빡이는 소프트웨어를 사용할 때 발작증세가 있을 수 있습니다.
1.2.12 전자서식
전자 서식을 사용할 때 서식의 내용이나 구성요소, 완성이나 제출에 필요한 기능 및 작성 방법과 도움말 등의 정보를 보조 기술에서 수집할 수 있게 제공해야 한다는 것입니다.
만약 회원 가입 창에서 아이디 및 비밀 번호 등을 입력하는 텍스트 상자가 무엇을 입력하기 위한 요소인지 보조 기술이 알 수 없게 작성하면 이 항목을 위배하는 것입니다.
이럴 때 텍스트 상자 왼쪽에 레이블의 위치시키면 논리적으로 어떠한 항목인지 알 수 있습니다.
이렇게 소프트웨어 접근성 지침이 제정되어 적용하고 있지만 여전히 평가 시스템이 미비하고 소프트웨어 접근성 기술을 사용할 수 있는 개발자가 부족합니다.
현재 우리에게 잘 알려진 대표적인 운영체제들은 대부분 소프트웨어 접근성 기술을 제공하고 있습니다.
Microsoft 사의 운영체제인 Windows32에서는 Native 기반의 소프트웨어 접근성 기술 MSAA(Microsoft Active Accessibility)를 제공합니다. 그리고 .NET 기반에서 이용할 수 있는 접근성 기술로 UI 자동화(UI Automation)을 제공하고 있습니다.
그리고 MSAA를 이용하여 모든 사용자 UI 요소를 계층적으로 표시하고 UI 요소 정보를 검사할 수 있는 간단한 도구로 AccExplorer 2.0을 제공하고 있습니다. 이 외에도 MSAA 기반의 평가 도루고 Inspect32, Accessible Event Watcher 등이 있습니다.
UI 자동화 기술을 사용하는 간단한 도구에는 UI Spy, UI Accessibility Checker 등이 있습니다.
이 외에도 수많은 GUI 요소의 속성을 수집하고 이벤트를 감지하는 도구들이 있는데 소프트웨어 접근성을 평가하기에 아직 제공하는 기능이나 정보가 부족한 게 현실이다.
'프로그래밍 기술 > 소프트웨어 접근성, UI 자동화' 카테고리의 다른 글
[S/W 접근성] TreeWalker 메서드 (0) | 2016.04.19 |
---|---|
[S/W 접근성] TreeWalker 개체 참조 (0) | 2016.04.19 |
[S/W 접근성] 자동화 트리 (데스크 톱의 모든 하위 요소 출력) (0) | 2016.04.19 |
[S/W 접근성] AutomationElement 메서드(속성 검색) (0) | 2016.04.19 |
[S/W 접근성] AutomationElement 메서드(자동화 요소 개체로 패턴 검색) (0) | 2016.04.19 |
[S/W 접근성] AutomationElement 메서드 (0) | 2016.04.19 |
[S/W 접근성] 자동화 요소 (0) | 2016.04.19 |
[S/W 접근성] 포커스 트래커 만들기 (0) | 2016.04.19 |
[S/W 접근성] UI 자동화 기술 개요 (0) | 2016.04.19 |
[S/W 접근성] 소프트 웨어 접근성 개요 (0) | 2016.04.19 |