다음을 통해 공유


UI 자동화 사양

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

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

소개

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

UI 자동화는 인터페이스 정의보다 범위가 더 광범위합니다. 다음을 제공합니다.

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

UI 자동화는 다음을 통해 Microsoft 활성 접근성을 향상시킵니다.

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

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

UI 자동화 요소

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

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

UI 자동화 트리

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

ui 자동화 트리screen shot showing ui automation treescreen shot showing ui automation tree보여 주는스크린샷

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

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

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

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

 

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

UI 자동화 속성

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

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

자세한 내용은 UI 자동화 속성 개요참조하세요.

UI 자동화 컨트롤 패턴

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

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

자세한 내용은 UI 자동화 컨트롤 패턴 개요참조하세요.

UI 자동화 컨트롤 형식

컨트롤 형식은 요소가 나타내는 잘 알려진 컨트롤을 지정하는 자동화 요소 속성입니다. 현재 UI 자동화는 Button, CheckBox, ComboBox, DataGrid, Document, Hyperlink, Image, ToolTip, Tree 및 Window를 포함하여 38개의 컨트롤 형식을 정의합니다.

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

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

자세한 내용은 UI 자동화 컨트롤 형식 개요참조하세요.

UI 자동화 이벤트

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

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

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