아키텍처 및 상호 운용성

이 항목에서는 Microsoft Active Accessibility 및 Microsoft UI 자동화 아키텍처와 두 가지 기술을 기반으로 하는 애플리케이션 간의 상호 운용성을 허용하는 구성 요소에 대해 간략하게 설명합니다.

Microsoft Active Accessibility 및 UI 자동화 상호 운용성에 대한 자세한 내용은 공용 인프라를 참조하세요.

이 항목에는 다음과 같은 섹션이 포함되어 있습니다.

Microsoft Active Accessibility 아키텍처

Microsoft Active Accessibility는 컨트롤 이름, 화면의 위치 및 컨트롤 유형과 같은 컨트롤에 대한 기본 정보와 표시 유형 및 사용/사용 안 함 상태 같은 상태 정보를 노출합니다. UI는 액세스 가능한 개체의 계층 구조로 표시됩니다. 변경 내용 및 작업은 WinEvents로 표시됩니다.

Microsoft Active Accessibility는 다음 구성 요소로 구성됩니다.

  • 액세스 가능한 개체 - IAccessible COM(Component Object Model) 인터페이스 및 ChildID(정수 자식 식별자)로 표시되는 논리 UI 요소(예: 단추)입니다.
  • WinEvents - 액세스 가능한 개체가 변경되면 서버가 클라이언트에 알릴 수 있도록 하는 이벤트 시스템입니다. 자세한 내용은 WinEvents를 참조하세요.
  • OLEACC.dll - Microsoft Active Accessibility API 및 접근성 시스템 프레임워크를 제공하는 런타임 동적 연결 라이브러리입니다. OLEACC는 사용자 컨트롤, 사용자 메뉴 및 일반 컨트롤을 포함하여 표준 UI 요소에 대한 기본 접근성 정보를 제공하는 프록시 개체를 구현합니다.

Microsoft Active Accessibility의 경우 다음 그림과 같이 OLEACC(접근성 프레임워크)의 시스템 구성 요소는 보조 기술(접근성 도구)과 애플리케이션 간의 통신을 지원합니다.

접근성 도구가 애플리케이션과 상호 작용하는 방법을 보여 주는 그림

애플리케이션(Microsoft 활성 접근성 서버)은 사용자를 대신하여 UI와 상호 작용하는 도구(Microsoft Active Accessibility Clients)에 UI 접근성 정보를 제공합니다. 코드 경계는 프로그래밍 방식과 프로세스 경계입니다.

UI 자동화 아키텍처

UI 자동화 사용하면 UI 자동화 핵심 구성 요소(UIAutomationCore.dll)가 접근성 도구와 애플리케이션 프로세스 모두에 로드됩니다. 핵심 구성 요소는 프로세스 간 통신을 관리하고, 속성 값으로 요소 검색과 같은 더 높은 수준의 서비스를 제공하며, 속성을 대량으로 가져오거나 캐싱할 수 있으므로 Microsoft Active Accessibility 구현보다 더 나은 성능을 제공합니다.

UI 자동화 사용자 컨트롤, 사용자 메뉴 및 일반 컨트롤과 같은 표준 UI 요소에 대한 UI 정보를 제공하는 프록시 개체를 포함합니다. 또한 UI 자동화 클라이언트가 Microsoft Active Accessibility 서버에서 UI 정보를 가져올 수 있도록 하는 프록시도 포함되어 있습니다.

다음 그림에서는 접근성 도구(클라이언트) 및 애플리케이션(공급자)에서 사용되는 다양한 UI 자동화 구성 요소 간의 관계를 보여 줍니다.

접근성 도구의 구성 요소가 애플리케이션의 구성 요소와 상호 작용하는 방법을 보여 주는 그림

Microsoft Active Accessibility 및 UI 자동화 상호 운용성

Microsoft Active Accessibility Bridge에 대한 UI 자동화 통해 Microsoft Active Accessibility 클라이언트는 UI 자동화 개체 모델을 Microsoft Active Accessibility 개체 모델로 변환하여 UI 자동화 공급자에 액세스할 수 있습니다. 다음 그림에서는 UI 자동화-Microsoft Active Accessibility Bridge의 역할을 보여 줍니다.

접근성 도구 및 애플리케이션에서 ui 자동화가 작동하는 방식을 보여 주는 그림

마찬가지로 Microsoft Active Accessibility-to-UI 자동화 프록시는 UI 자동화 클라이언트에 대한 Microsoft Active Accessibility 기반 서버 개체 모델을 변환합니다. 다음 그림에서는 Microsoft Active Accessibility-to-UI 자동화 프록시의 역할을 보여 줍니다.

접근성 도구 및 애플리케이션에서 ui 자동화 프록시가 작동하는 방식을 보여 주는 그림

IAccessibleEx 인터페이스

IAccessibleEx 인터페이스를 사용하면 기존 애플리케이션 또는 UI 라이브러리가 구현을 처음부터 다시 작성하지 않고도 UI 자동화 지원하도록 Microsoft Active Accessibility 개체 모델을 확장할 수 있습니다. IAccessibleEx를 사용하면 UI 및 해당 기능을 완전히 설명하는 데 필요한 추가 UI 자동화 속성 및 컨트롤 패턴만 구현할 수 있습니다.

Microsoft Active Accessibility-to-UI 자동화 프록시는 IAccessibleEx enabled Microsoft Active Accessibility 서버의 개체 모델을 UI 자동화 개체 모델로 변환하므로 UI 자동화 클라이언트는 추가 작업을 수행할 필요가 없습니다. IAccessibleEx 인터페이스를 사용하면 In process Microsoft Active Accessibility 클라이언트가 UI 자동화 공급자와 직접 상호 작용할 수 있습니다.

자세한 내용은 IAccessibleEx 인터페이스를 참조하세요.

Windows Automation API 개요

IAccessibleEx 인터페이스

보조 기술에 대한 보안 고려 사항