次の方法で共有


UI オートメーションによる List コントロール型のサポート

更新 : 2007 年 11 月

ここでは、UI オートメーションによる List コントロール型のサポートに関する情報を示します。UI オートメーションでは、コントロール型は、ControlTypeProperty プロパティを使用するためにコントロールで満たす必要がある一連の条件となります。これらの条件には、UI オートメーション ツリー構造、UI オートメーションのプロパティ値、およびコントロール パターンに関する特定のガイドラインが含まれます。

List コントロール型では、項目を 1 つのフラットなグループや複数のグループに編成でき、ユーザーはそれらの項目の 1 つ以上を選択することができます。List コントロール型には、リストに含まれる子要素の型について緩い制限があります。これにより、UI オートメーション プロバイダは、選択コンテナで既知の要素をサポートできます。

以下で説明する UI オートメーションの各要件は、Windows Presentation Foundation (WPF)、Win32、Windows フォームのいずれの場合でも、List コントロール型を実装するすべてのコントロールに当てはまります。List コントロール型を実装するコントロールとしては、リスト コンテナ コントロールなどがあります。

このトピックには次のセクションが含まれています。

  • 必須の UI オートメーション ツリー構造
  • 必須の UI オートメーション プロパティ
  • 必須の UI オートメーション コントロール パターン
  • 必須の UI オートメーション イベント
  • 関連トピック

必須の UI オートメーション ツリー構造

次の表に、リスト コントロールに関連する UI オートメーション ツリーの 2 つのビューを示し、各ビューに何を格納できるかについて説明します。コントロール ビューにはコントロールの要素だけが含まれ、コンテンツ ビューではツリーから重複する情報が削除されます。たとえば、コンボ ボックスにラベルを付けるために使用されるテキスト コントロールは、ComboBox NameProperty として公開されます。このテキスト コントロールは、その方法でコントロール ビューを通じて既に公開されており、2 回公開する必要はないため、コンテンツ ビューからは削除されます。UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー

コンテンツ ビュー

コントロールに対応する要素が含まれます。

支援テクノロジがエンド ユーザーにとって最小限の有用な情報を処理できるように、ツリーから重複する情報を削除します。

  • List

    • DataItem (0 以上)

    • ListItem (0 以上)

    • Group (0 以上)

    • ScrollBar (0、1 または 2)

  • List

    • DataItem (0 以上)

    • ListItem (0 以上)

    • Group (0 以上)

List コントロール型を実装するコントロール (リスト コントロールなど) のコントロール ビューは、次の要素で構成されます。

  • リスト コントロール内のゼロ以上の項目 (項目は、List Item コントロールまたは Data Item コントロールの各型に基づいて設定できます)

  • リスト コントロール内のゼロ以上のグループ コントロール

  • 0、1、または 2 個のスクロール バー コントロール

List コントロール型を実装するコントロール (リスト コントロールなど) のコンテンツ ビューは、次の要素で構成されます。

  • リスト コントロール内のゼロ以上の項目 (項目は、List Item コントロールまたは Data Item コントロールの各型に基づいて設定できます)

  • リスト コントロール内のゼロ以上のグループ

リスト コントロールには、グループ化以外の階層リレーションシップを持つ項目を含めることはできません。項目が UI オートメーション ツリー内に子を持っている場合、リスト コンテナはツリー コントロール型に基づく必要があります。

リスト コントロール内の選択可能な項目には、リスト コントロールの UI オートメーション ツリー内の子孫を使用できます。リスト コントロール内のすべての項目は同じ選択グループに属している必要があります。

必須の UI オートメーション プロパティ

値または定義がリスト コントロールに特に関連する UI オートメーションのプロパティの一覧を次の表に示します。UI オートメーション プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。

UI オートメーション プロパティ

説明

AutomationIdProperty()

説明を参照。

このプロパティの値は、アプリケーションのすべてのコントロールで一意にする必要があります。

BoundingRectangleProperty

説明を参照。

コントロール全体を包含する外側の四角形。

ClickablePointProperty

説明を参照。

リスト コントロールにクリック可能なポイント (クリックするとリストがフォーカスを受け取るポイント) がある場合、そのポイントはこのプロパティを介して公開される必要があります。

IsOffScreen プロパティの値が true の場合、NoClickablePointException が発生します。

IsKeyboardFocusableProperty

説明を参照。

コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。

NameProperty

説明を参照。

リスト コントロールの Name プロパティの値は、ユーザーが選択を求められるオプションのカテゴリを伝える必要があります。通常このプロパティは、静的テキスト ラベルからその名前を取得します。静的テキスト ラベルが存在しない場合、アプリケーション開発者は Name プロパティの値を公開する必要があります。

このプロパティがリスト コントロールに不要となるのは、コントロールが別のコントロールのサブツリー内で使用されている場合だけです。

LabeledByProperty

説明を参照。

静的テキスト ラベルが存在する場合、このプロパティは、該当するコントロールへの参照を公開する必要があります。

ControlTypeProperty

List

この値は、すべての UI フレームワークで共通です。

LocalizedControlTypeProperty

"リスト"

List コントロール型に対応する、ローカライズされた文字列。

IsContentElementProperty

True

リスト コントロールは、常に UI オートメーションツリーのコンテンツ ビューに含まれます。

IsControlElementProperty

True

リスト コントロールは、常に UI オートメーションツリーのコントロール ビューに含まれます。

IsKeyboardFocusableProperty

True

コンテナがキーボード入力を受け取ることができる場合、このプロパティ値は true である必要があります。

HelpTextProperty

説明を参照。

リスト コントロールのヘルプ テキストでは、オプションの一覧から選択することをユーザーに求めている理由を説明する必要があります。たとえば、"この一覧から項目を選択すると、モニタの表示解像度が設定されます" という説明を表示します。

必須の UI オートメーション コントロール パターン

リスト コントロールでサポートする必要がある UI オートメーション コントロール パターンの一覧を次の表に示します。コントロール パターンの詳細については、「UI オートメーション コントロール パターンの概要」を参照してください。

コントロール パターン/パターン プロパティ

サポート/値

説明

ISelectionProvider

必須

List コントロール型をサポートするすべてのコントロールは、コントロール内に含まれている項目間で選択状態が維持される場合、ISelectionProvider を実装する必要があります。コンテナ内の項目が選択できない場合、グループ コントロール型を使用する必要があります。

IsSelectionRequired

依存

リスト コントロールでは、項目が必ずしも選択される必要はありません。

CanSelectMultiple

依存

リスト コントロールは、単一選択コンテナにも、複数選択コンテナにもすることができます。

IScrollProvider

依存

コンテナ内の項目がスクロール可能な場合は、このコントロール パターンを実装します。

IGridProvider

依存

項目単位のグリッド ナビゲーションが必要な場合は、このパターンを実装します。

IMultipleViewProvider

依存

コントロールがコンテナ内の項目の複数のビューをサポートできる場合、このコントロール パターンを実装します。

ITableProvider

Never

ITableProvider は、List コントロール型ではサポートされません。コントロールがこのコントロール パターンをサポートする必要がある場合、そのコントロールは、Data Grid コントロール型に基づく必要があります。

必須の UI オートメーション イベント

すべてのリスト コントロールでサポートする必要がある UI オートメーション イベントを次の表に示します。イベントの詳細については、「UI オートメーション イベントの概要」を参照してください。

UI オートメーション イベント

サポート/値

説明

InvalidatedEvent

依存

なし

LayoutInvalidatedEvent

依存

なし

BoundingRectangleProperty プロパティ変更イベント。

必須

なし

IsOffscreenProperty プロパティ変更イベント。

必須

なし

IsEnabledProperty プロパティ変更イベント。

必須

なし

CurrentViewProperty プロパティ変更イベント。

依存

なし

HorizontallyScrollableProperty プロパティ変更イベント。

依存

なし

HorizontalScrollPercentProperty プロパティ変更イベント。

依存

なし

HorizontalViewSizeProperty プロパティ変更イベント。

依存

なし

VerticalScrollPercentProperty プロパティ変更イベント。

依存

なし

VerticallyScrollableProperty プロパティ変更イベント。

依存

なし

VerticalViewSizeProperty プロパティ変更イベント。

依存

なし

AutomationFocusChangedEvent

必須

なし

StructureChangedEvent

必須

なし

参照

概念

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

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

参照

List