ListItem コントロールの種類
このトピックでは、ListItem コントロール型の Microsoft UI オートメーション サポートについて説明します。
リスト アイテム コントロールは、 ListItem コントロール型を実装するコントロールの例です。
次のセクションでは、ListItem コントロール型に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンのサポートUI オートメーション統合するすべてのリスト アイテム コントロールに適用されます。
このトピックは、次のセクションで構成されています。
一般的なツリー構造
次の表は、リスト アイテム コントロールに関連するUI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
コントロール ビュー | コンテンツ ビュー |
---|---|
|
|
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 サブ要素など、フォーカスされたアイテムのサブ要素に移動する場合があります。
関連トピック