ListItem コントロールの種類

このトピックでは、ListItem コントロール型の Microsoft UI オートメーション サポートについて説明します。

リスト アイテム コントロールは、 ListItem コントロール型を実装するコントロールの例です。

次のセクションでは、ListItem コントロール型に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンのサポートUI オートメーション統合するすべてのリスト アイテム コントロールに適用されます。

このトピックは、次のセクションで構成されています。

一般的なツリー構造

次の表は、リスト アイテム コントロールに関連するUI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー コンテンツ ビュー
  • ListItem
    • イメージ (0 個以上)
    • テキスト (0 以上)
    • Edit (0 以上)
  • ListItem

 

UI オートメーション ツリーのコンテンツ ビュー内のリスト アイテム コントロールの子には、常に 0 個の子が表示されている必要があります。 コントロールの構造がリスト アイテムの下に他の項目が含まれている場合は、TreeItem コントロール型のUI オートメーションサポートの要件に従う必要があります。

関連するプロパティ

次の表に、値または定義が ListItem コントロール型に特に関連するUI オートメーションプロパティの一覧を示します。 UI オートメーションプロパティの詳細については、「UI オートメーション要素からプロパティを取得する」を参照してください。

UI Automation のプロパティ Notes
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 「ノート」を参照してください。 リスト アイテム コントロールの name プロパティの値は、アイテムのテキスト ラベルから取得されます。

 

必須のコントロール パターン

次の表に、すべてのリスト アイテム コントロールでサポートするために必要なUI オートメーションコントロール パターンを示します。 コントロール パターンの詳細については、「 UI Automation Control Patterns Overview」を参照してください。

コントロール パターン サポート Notes
IExpandCollapseProvider 依存 アイテムを操作して情報を表示または非表示にできる場合は、 ExpandCollapse コントロール パターンを実装する必要があります。
IGridItemProvider 依存 項目間空間ナビゲーションがリスト コンテナー内でサポートされ、コンテナーが行と列に配置されている場合は、 GridItem コントロール パターンを実装する必要があります。
IInvokeProvider 依存 項目に、選択とは別に実行できるコマンドがある場合は、 Invoke コントロール パターンを実装する必要があります。 これは通常、リスト項目コントロールのダブルクリックに関連付けられたアクションです。 たとえば、Windows エクスプローラーからドキュメントを起動したり、Microsoft Windows メディア プレーヤー で音楽ファイルを再生したりします。
IScrollItemProvider 依存 スクロール可能なコンテナー内にリスト アイテムが含まれている場合は、 ScrollItem コントロール パターンを実装する必要があります。
ISelectionItemProvider 依存 選択をサポートするリスト アイテム コントロールは 、SelectionItem コントロール パターンを実装する必要があります。 これにより、リスト項目コントロールは、選択されたことを伝達できます。
IToggleProvider 依存 リスト アイテムがチェック可能で、アクションが選択状態の変更を実行しない場合は、 トグル コントロール パターンを実装する必要があります。
IValueProvider 依存 アイテムを編集できる場合は、 Value コントロール パターンを実装する必要があります。 リスト アイテム コントロールを変更すると、UIA_NamePropertyIdプロパティと UIA_ValueValuePropertyId プロパティの値 変更されます。

 

必須イベント

次の表に、リスト アイテム コントロールがサポートするために必要なUI オートメーション イベントを示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。

UI オートメーション イベント Notes
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 変更されたイベントです。 コントロールが Toggle コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_ValueValuePropertyId 変更されたイベントです。 コントロールが Value コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。

 

解説

コンテナーがリスト アイテムをホストする場合、ナビゲーションの主な手段はリスト アイテムに移動する必要があります。 リスト ナビゲーションを使用してサブ要素に焦点を当てると、ユーザーやアクセシビリティ ツールが混乱する可能性があります。 コンテナーが項目の垂直リストをホストしている場合、上方向キーと下方向キーを押すと項目間を移動しますが、右方向キーと左方向キーを押すと、リスト列や UI サブ要素など、フォーカスされたアイテムのサブ要素に移動する場合があります。

概念

UI オートメーション コントロール型の概要

UI オートメーションの概要