다음을 통해 공유


UI 자동화 사양

이 항목에서는 Windows UI 자동화 구현의 기초를 형성하는 Microsoft UI 자동화 사양에 대한 개요를 제공합니다. UI 자동화 사양은 Microsoft Windows 이외의 플랫폼에서 지원될 수 있습니다. 자세한 내용은 UI 자동화 사양을 참조하세요.

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

Introducton

UI 자동화 사양은 Windows 데스크톱의 UI 요소에 대한 유연한 프로그래밍 방식 액세스를 제공하여 화면 읽기 프로그램과 같은 보조 기술 제품이 최종 사용자에게 UI에 대한 정보를 제공하고 표준 입력 이외의 수단을 통해 UI를 조작할 수 있도록 합니다.

UI 자동화 인터페이스 정의보다 scope 더 광범위합니다. 이 콘솔은 다음과 같은 기능을 제공합니다.

  • 클라이언트 애플리케이션이 이벤트를 수신하고, 속성 값을 검색하고, UI 요소를 조작할 수 있도록 하는 개체 모델 및 함수입니다.
  • 프로세스 경계를 넘어 찾아 가져오기 위한 핵심 인프라입니다.
  • 공급자가 UI 요소의 트리 구조, 일반 속성 및 기능을 표현할 수 있는 인터페이스 집합입니다.
  • 클라이언트와 공급자가 UI 개체의 공통 속성, 기능 및 구조를 명확하게 나타낼 수 있는 "컨트롤 형식" 속성입니다.

UI 자동화 다음을 통해 Microsoft Active Accessibility를 개선합니다.

  • 프로세스 내 액세스를 계속 허용하면서 효율적인 Out-of-Process 클라이언트를 사용하도록 설정합니다.
  • 클라이언트가 Out-of-process가 될 수 있는 방식으로 UI에 대한 자세한 정보를 노출합니다.
  • 제한 사항을 상속하지 않고 Microsoft Active Accessibility와 공존하고 활용합니다. 자세한 내용은 Microsoft Active Accessibility 및 UI 자동화 비교를 참조하세요.
  • 구현하기 간단한 IAccessible 에 대한 대안을 제공합니다.

Windows의 UI 자동화 사양 구현에는 COM(구성 요소 개체 모델) 기반 인터페이스 및 관리되는 인터페이스가 있습니다.

UI 자동화 요소

UI 자동화 UI의 모든 부분을 자동화 요소로 클라이언트 애플리케이션에 노출합니다. 공급자는 각 요소에 대한 속성 값을 제공합니다. 요소는 루트 요소로 바탕 화면을 사용하여 트리 구조로 노출됩니다.

자동화 요소는 나타내는 UI 요소의 공통 속성을 노출합니다. 이러한 속성 중 하나는 기본 모양 및 기능(예: 단추 또는 검사 상자)을 설명하는 컨트롤 형식입니다.

UI 자동화 트리

UI 자동화 트리는 전체 UI를 나타냅니다. 루트 요소는 현재 데스크톱이고 자식 요소는 애플리케이션 창입니다. 이러한 각 자식 요소에는 메뉴, 단추, 도구 모음 등을 나타내는 요소가 포함될 수 있습니다. 이러한 요소는 다음 그림과 같이 목록 항목과 같은 요소를 포함할 수 있습니다.

ui 자동화 트리를 보여 주는 스크린샷

UI 자동화 트리에 있는 형제의 순서는 매우 중요합니다. 시각적으로 나란히 있는 개체도 UI 자동화 트리에서 서로 옆에 있어야 합니다.

특정 컨트롤에 대한 UI 자동화 공급자는 해당 컨트롤의 자식 요소 간 탐색을 지원합니다. 그러나 공급자는 이러한 컨트롤 하위 트리 간의 탐색에 관심이 없습니다. 이는 UI 자동화 코어가 기본 창 공급자의 정보를 사용하여 관리합니다.

클라이언트가 UI 정보를 보다 효과적으로 처리할 수 있도록 프레임워크는 자동화 트리의 대체 보기(원시 보기, 컨트롤 뷰 및 콘텐츠 보기)를 지원합니다. 다음 표에서 볼 수 있듯이 필터링 유형에 따라 보기가 결정되고 클라이언트는 뷰의 scope 정의합니다.

자동화 트리 Description
Raw 뷰 데스크톱이 루트인 자동화 요소 개체의 전체 트리입니다.
컨트롤 뷰 사용자가 인식할 때 UI 구조에 밀접하게 매핑되는 원시 보기의 하위 집합입니다.
콘텐츠 뷰 드롭다운 콤보 상자의 값과 같이 사용자와 가장 관련된 콘텐츠를 포함하는 컨트롤 뷰의 하위 집합입니다.

 

자세한 내용은 UI 자동화 트리 개요를 참조하세요.

UI 자동화 속성

UI 자동화 사양은 자동화 요소 속성과 컨트롤 패턴 속성의 두 가지 속성을 정의합니다. Automation 요소 속성은 대부분의 컨트롤에 적용되어 요소에 대한 기본 정보(예: 이름)를 제공합니다. 컨트롤 패턴 속성은 다음에 설명된 컨트롤 패턴에 적용됩니다.

Microsoft Active Accessibility와 달리 모든 UI 자동화 속성은 GUID 및 프로그래밍 이름으로 식별되므로 새 속성을 더 쉽게 도입할 수 있습니다.

자세한 내용은 UI Automation Properties Overview을 참조하십시오.

UI 자동화 컨트롤 패턴

컨트롤 패턴은 자동화 요소의 기능의 특정 측면을 설명합니다. 예를 들어 단추 또는 하이퍼링크와 같은 간단한 "클릭 가능" 컨트롤은 "클릭" 작업을 나타내는 Invoke 컨트롤 패턴을 지원해야 합니다.

각 컨트롤 패턴은 가능한 UI 기능 및 함수의 정식 표현입니다. UI 자동화 현재 구현은 22개의 컨트롤 패턴을 정의합니다. Windows Automation API는 사용자 지정 컨트롤 패턴도 지원할 수 있습니다. Microsoft Active Accessibility 역할 또는 상태 속성과 달리 하나의 자동화 요소는 여러 UI 자동화 제어 패턴을 지원할 수 있습니다.

자세한 내용은 UI Automation Control Patterns Overview을 참조하세요.

UI 자동화 컨트롤 형식

컨트롤 형식은 요소가 나타내는 잘 알려진 컨트롤을 지정하는 자동화 요소 속성입니다. 현재 UI 자동화 단추, CheckBox, ComboBox, DataGrid, 문서, 하이퍼링크, 이미지, 도구 설명, 트리 및 창을 포함하여 38개의 컨트롤 형식을 정의합니다.

요소에 컨트롤 형식을 할당하려면 요소가 특정 자동화 트리 구조, 속성 값, 컨트롤 패턴 및 이벤트를 비롯한 특정 조건을 충족해야 합니다. 그러나 이러한 항목으로 제한되지는 않습니다. 사용자 지정 패턴 및 속성뿐만 아니라 미리 정의된 컨트롤을 사용하여 컨트롤을 확장할 수 있습니다.

미리 정의된 총 컨트롤 형식 수는 Microsoft Active Accessibility 개체 역할보다 훨씬 낮습니다. UI 자동화 컨트롤 패턴을 결합하여 더 큰 기능 집합을 표현할 수 있지만 Microsoft Active Accessibility 역할은 사용할 수 없기 때문입니다.

자세한 내용은 UI Automation Control Types Overview을 참조하세요.

UI 자동화 이벤트

UI 자동화 이벤트는 애플리케이션에 변경 내용 및 자동화 요소로 수행된 작업을 알립니다. 네 가지 유형의 UI 자동화 이벤트가 있으며 반드시 UI의 시각적 상태가 변경되었음을 의미하지는 않습니다. UI 자동화 이벤트 모델은 Windows의 WinEvent 프레임워크와 독립적이지만 Windows Automation API를 사용하면 UI 자동화 이벤트를 Microsoft Active Accessibility 프레임워크와 상호 운용할 수 있습니다.

자세한 내용은 UI Automation Events Overview을 참조하세요.

UI 자동화 사양, Windows Automation API 개요