활성 접근성 작동 방식
Microsoft Active Accessibility는 클라이언트라고 하는 접근성 지원 에서 다른 애플리케이션 및 운영 체제의 표준 및 사용자 지정 UI 요소와 상호 작용할 수 있도록 설계되었습니다. Microsoft Active Accessibility 클라이언트는 Microsoft Active Accessibility를 사용하여 애플리케이션의 UI 요소에 액세스, 식별 또는 조작하는 모든 프로그램입니다. 클라이언트에는 접근성 지원, 자동화된 테스트 도구 및 일부 컴퓨터 기반 학습 애플리케이션이 포함됩니다.
클라이언트 애플리케이션은 Microsoft Active Accessibility를 사용하여 다음을 수행할 수 있습니다.
- 정보를 쿼리합니다. 예를 들어 특정 위치의 UI 요소에 대한 정보입니다.
- 정보가 변경되면 알림을 받습니다. 예를 들어 컨트롤이 회색으로 표시되거나 텍스트 문자열이 변경되는 경우입니다.
- 사용자 인터페이스 또는 문서 콘텐츠에 영향을 주는 작업을 수행합니다. 예를 들어 푸시 단추를 클릭하고 메뉴를 드롭다운한 다음 메뉴 명령을 선택합니다.
클라이언트와 상호 작용하고 정보를 제공하는 애플리케이션을 서버라고 합니다. 서버는 Microsoft Active Accessibility를 사용하여 해당 UI 요소에 대한 정보를 클라이언트에 제공합니다. Microsoft Active Accessibility를 사용하여 사용자 인터페이스에 대한 정보를 노출하는 모든 컨트롤, 모듈 또는 애플리케이션은 Microsoft Active Accessibility 서버로 간주됩니다. 서버는 이벤트 알림(예: NotifyWinEvent 호출)을 보내고 UI 요소에 대한 액세스에 대한 클라이언트 요청(예: OLEACC에서 보낸 WM_GETOBJECT 메시지 처리)에 응답하여 클라이언트와 통신합니다. 서버는 IAccessible 인터페이스를 통해 정보를 노출합니다.
서버 애플리케이션은 Microsoft Active Accessibility를 사용하여 다음을 수행할 수 있습니다.
- 사용자 지정 사용자 인터페이스 개체 및 클라이언트 창의 내용에 대한 정보를 제공합니다.
- 사용자 인터페이스가 변경되면 알림을 보냅니다.
예를 들어 사용자가 워드 프로세서 사용자 지정 도구 모음에서 구두로 명령을 선택할 수 있도록 하려면 음성 인식 프로그램에 해당 도구 모음에 대한 정보가 있어야 합니다. 따라서 워드 프로세서는 해당 정보를 사용할 수 있도록 해야 합니다. Microsoft Active Accessibility는 워드 프로세서가 사용자 지정 도구 모음에 대한 정보를 노출하고 음성 인식 프로그램이 해당 정보를 가져올 수 있는 수단을 제공합니다.
클라이언트 애플리케이션 및 활성 접근성
Microsoft Active Accessibility 클라이언트는 서버 UI가 변경되면 사용자에게 해당 정보를 전달할 수 있도록 알림을 받아야 합니다. 클라이언트가 UI 변경 내용에 대해 알 수 있도록 Windows 이벤트 또는 WinEvents라는 메커니즘을 사용하여 알림을 받도록 등록합니다. 자세한 내용은 WinEvents를 참조하세요.
특정 UI 요소에 대해 알아보고 조작하기 위해 클라이언트는 MICROSOFT COM(Active Accessibility Component Object Model) 인터페이스 인 IAccessible을 사용합니다.
클라이언트는 다음 네 가지 방법으로 UI 요소에 대한 IAccessible 개체를 검색할 수 있습니다.
- AccessibleObjectFromWindow를 호출하고 UI 요소의 창 핸들을 전달합니다.
- AccessibleObjectFromPoint를 호출하고 UI 요소의 경계 사각형 내에 있는 화면 위치를 전달합니다.
- WinEvent 후크를 설정하고, 알림을 받고, AccessibleObjectFromEvent 를 호출하여 이벤트를 생성한 UI 요소에 대한 IAccessible 인터페이스 포인터를 검색합니다.
- accNavigate 또는 get_accParent 같은 IAccessible 메서드를 호출하여 다른 IAccessible 개체로 이동합니다.