ListItem 컨트롤 형식

이 항목에서는 ListItem 컨트롤 형식에 대한 Microsoft UI 자동화 지원에 대한 정보를 제공합니다.

목록 항목 컨트롤은 ListItem 컨트롤 형식을 구현하는 컨트롤의 예입니다.

다음 섹션에서는 ListItem 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 UI 프레임워크/플랫폼이 컨트롤 형식 및 컨트롤 패턴에 대한 UI 자동화 지원을 통합하는 모든 목록 항목 컨트롤에 적용됩니다.

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

일반적인 트리 구조

다음 표에서는 목록 항목 컨트롤과 관련된 UI 자동화 트리의 일반적인 컨트롤 및 콘텐츠 뷰를 설명하고 각 보기에 포함될 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.

컨트롤 뷰 콘텐츠 뷰
  • ListItem
    • Image(0개 이상)
    • Text (0개 이상)
    • Edit(0개 이상)
  • ListItem

 

UI 자동화 트리의 콘텐츠 보기 내에 있는 목록 항목 컨트롤의 자식에는 항상 자식이 0개 표시되어야 합니다. 컨트롤의 구조가 목록 항목 아래에 다른 항목이 포함되도록 하는 경우 TreeItem 컨트롤 형식에 대한 UI 자동화 지원 요구 사항을 따라야 합니다.

관련 속성

다음 표에서는 값 또는 정의가 ListItem 컨트롤 형식과 특히 관련된 UI 자동화 속성을 나열합니다. UI 자동화 속성에 대한 자세한 내용은 UI 자동화 요소에서 속성 검색을 참조하세요.

UI 자동화 속성 참고
UIA_AutomationIdPropertyId 메모를 참조하세요. 이 속성의 값은 UI 자동화 트리의 원시 뷰에 있는 모든 피어 요소에서 고유해야 합니다. 요소가 사용자 인터페이스의 여러 인스턴스에서 일관된 것으로 알려진 경우 목록 항목에 AutomationId 속성을 할당합니다. 목록 항목이 동적으로 채워지고 예측할 수 없는 경우 AutomationId 속성을 비워 둡니다.
UIA_BoundingRectanglePropertyId 메모를 참조하세요. 이 속성의 값은 목록 항목의 이미지 및 텍스트 내용의 영역에 포함되어야 합니다.
UIA_ClickablePointPropertyId 개체 목록 컨트롤에 클릭 가능한 점(목록을 포커스로 만들기 위해 클릭할 수 있는 점)이 있는 경우 해당 지점은 이 속성을 통해 노출되어야 합니다. 목록 컨트롤이 하위 목록 항목으로 완전히 적용되는 경우 UIA_E_NOCLICKABLEPOINT 오류를 반환하여 클라이언트가 클릭 가능한 지점에 대해 목록 컨트롤 내의 항목을 요청해야 함을 나타냅니다.
UIA_ControlTypePropertyId ListItem 이 값은 모든 UI 프레임워크에 대해 동일합니다.
UIA_HelpTextPropertyId 메모를 참조하세요. 목록 컨트롤에 대한 도움말 텍스트는 옵션 목록에서 선택할지 묻는 메시지가 사용자에게 표시되는 이유를 설명하며, 일반적으로 도구 설명을 통해 제공되는 정보 유형과 동일합니다. 예를 들어 "모니터에 대한 디스플레이 해상도를 설정할 항목을 선택하세요."가 있습니다.
UIA_IsContentElementPropertyId TRUE 목록 컨트롤은 항상 UI 자동화 트리의 콘텐츠 보기에 포함됩니다.
UIA_IsControlElementPropertyId TRUE 목록 컨트롤은 항상 UI 자동화 트리의 컨트롤 보기에 포함됩니다.
UIA_IsKeyboardFocusablePropertyId 메모를 참조하세요. 컨테이너가 키보드 입력을 수락할 수 있는 경우 이 속성 값은 TRUE여야 합니다.
UIA_IsOffscreenPropertyId 개체 이 속성은 목록 항목이 현재 스크롤 컨트롤 패턴을 구현하는 부모 컨테이너 내에서 보기로 스크롤되는지 여부에 대한 값을 반환해야 합니다.
UIA_ItemStatusPropertyId 개체 컨트롤에 동적으로 업데이트되는 상태 포함된 경우 요소의 상태 변경될 때 보조 기술이 업데이트를 받을 수 있도록 이 속성을 지원해야 합니다.
UIA_ItemTypePropertyId 개체 이 속성은 내부 개체를 나타내는 목록 항목 컨트롤에 대해 노출되어야 합니다. 이러한 목록 항목 컨트롤에는 일반적으로 사용자가 내부 개체와 연결하는 컨트롤과 연관된 아이콘이 있습니다.
UIA_LabeledByPropertyId 메모를 참조하세요. 정적 텍스트 레이블이 있는 경우 이 속성은 해당 컨트롤에 대한 참조를 노출해야 합니다.
UIA_LocalizedControlTypePropertyId 메모를 참조하세요. ListItem 컨트롤 형식에 해당하는 지역화된 문자열입니다. 기본값은 en-US 또는 영어(미국)의 "목록 항목"입니다.
UIA_NamePropertyId 메모를 참조하세요. 목록 항목 컨트롤의 이름 속성 값은 항목의 텍스트 레이블에서 가져옵니다.

 

필수 컨트롤 패턴

다음 표에서는 모든 목록 항목 컨트롤에서 지원하는 데 필요한 UI 자동화 컨트롤 패턴을 나열합니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.

컨트롤 패턴 지원 메모
IExpandCollapseProvider 개체 정보를 표시하거나 숨기기 위해 항목을 조작할 수 있는 경우 ExpandCollapse 컨트롤 패턴을 구현해야 합니다.
IGridItemProvider 개체 목록 컨테이너 내에서 항목 간 공간 탐색이 지원되고 컨테이너가 행과 열로 정렬되는 경우 GridItem 컨트롤 패턴을 구현해야 합니다.
IInvokeProvider 개체 항목에 수행할 수 있는 명령이 선택 영역과 별도로 있는 경우 Invoke 컨트롤 패턴을 구현해야 합니다. 이는 일반적으로 목록 항목 컨트롤을 두 번 클릭하는 것과 연관된 동작입니다. 예를 들어 Windows Explorer 문서를 시작하거나 Microsoft Windows 미디어 플레이어 음악 파일을 재생하는 것이 있습니다.
IScrollItemProvider 개체 목록 항목이 스크롤 가능한 컨테이너 내에 포함된 경우 ScrollItem 컨트롤 패턴을 구현해야 합니다.
ISelectionItemProvider 개체 선택을 지원하는 목록 항목 컨트롤은 SelectionItem 컨트롤 패턴을 구현해야 합니다. 이렇게 하면 목록 항목 컨트롤을 선택하여 전달할 수 있습니다.
IToggleProvider 개체 목록 항목을 확인할 수 있고 작업이 선택 상태 변경을 수행하지 않는 경우 토글 컨트롤 패턴을 구현해야 합니다.
IValueProvider 개체 항목을 편집할 수 있는 경우 컨트롤 패턴을 구현해야 합니다. 목록 항목 컨트롤을 변경하면 UIA_NamePropertyIdUIA_ValueValuePropertyId 속성 값이 변경됩니다.

 

필요한 이벤트

다음 표에서는 항목 컨트롤을 지원하는 데 필요한 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.

UI 자동화 이벤트 참고
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 속성 변경 이벤트입니다.
속성 변경 이벤트를 UIA_ExpandCollapseExpandCollapseStatePropertyId. 컨트롤이 ExpandCollapse 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_Invoke_InvokedEventId 컨트롤이 Invoke 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_IsEnabledPropertyId 속성 변경 이벤트입니다. 컨트롤이 IsEnabled 속성을 지원하는 경우 이 이벤트를 지원해야 합니다.
속성 변경 이벤트를 UIA_IsOffscreenPropertyId. 컨트롤이 IsOffscreen 속성을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_ItemStatusPropertyId 속성 변경 이벤트입니다. 컨트롤이 ItemStatus 속성을 지원하는 경우 는 이 이벤트를 지원해야 합니다.
속성 변경 이벤트를 UIA_NamePropertyId.
UIA_SelectionItem_ElementAddedToSelectionEventId 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_SelectionItem_ElementRemovedFromSelectionEventId 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_SelectionItem_ElementSelectedEventId 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_StructureChangedEventId
속성 변경 이벤트를 UIA_ToggleToggleStatePropertyId. 컨트롤이 토글 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
속성 변경 이벤트를 UIA_ValueValuePropertyId. 컨트롤이 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.

 

설명

컨테이너가 목록 항목을 호스트하는 경우 기본 탐색 방법은 목록 항목으로 이동해야 합니다. 목록 탐색을 통해 하위 요소에 포커스를 두는 것은 사용자 및 접근성 도구에 혼동을 미칠 수 있습니다. 컨테이너가 항목의 세로 목록을 호스트하는 경우 위쪽 화살표 및 아래쪽 화살표 키를 누르면 항목이 탐색되지만 오른쪽 화살표 키와 왼쪽 화살표 키를 누르면 목록 열 또는 UI 하위 요소와 같은 포커스가 있는 항목의 하위 요소로 이동할 수 있습니다.

개념

UI 자동화 컨트롤 형식 개요

UI 자동화 개요