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

Note

このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、Windows Automation API の「UI オートメーション」を参照してください。

このトピックでは、Text コントロール型に対する UI オートメーションのサポートに関する情報を提供します。 UI オートメーションでのコントロール型とは、コントロールで ControlTypeProperty プロパティを使用するために満たす必要がある条件のセットのことです。 この条件には、UI オートメーション ツリーの構造、UI オートメーションのプロパティ値、コントロール パターンに関する特定のガイドラインが含まれます。

テキスト コントロールは、画面上のテキストを表す、基本的なユーザー インターフェイス項目です。

以降のセクションでは、Text コントロール型に必要な UI オートメーション ツリー構造、プロパティ、コントロール パターン、イベントを定義します。 この UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、または Windows フォームのいずれにおいても、すべてのテキスト コントロールに適用されます。

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

次の表に、テキスト コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューを示し、それぞれのビューに含めることができる内容について説明します。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー コンテンツ ビュー
テキスト テキスト (コンテンツの場合)

テキスト コントロールは、単独でラベルとして使用することも、フォーム上の静的テキストとして使用することもできます。 また、次の構造に含めることもできます。

  • ListItem

  • TreeItem

  • DataItem

テキストは多くの場合、別のコントロールの NameProperty によって表示されるため、テキスト コントロールは、UI オートメーション ツリーのコンテンツ ビューに含まれないことがあります。 たとえば、コンボ ボックス コントロールのラベル付けに使用されるテキストは、そのコントロールの NameProperty 値を使用して公開されます。 コンボ ボックス コントロールが UI オートメーション ツリーのコンテンツ ビューに存在するので、テキスト コントロールがこのビューに存在する必要はありません。 コンテンツ ビューに、テキスト コントロールの子が存在することはありません。

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

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

UI Automation のプロパティ Notes
AutomationIdProperty 「ノート」を参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
ClickablePointProperty 「ノート」を参照してください。 四角形領域が存在する場合にサポートされます。 四角形領域内にクリック不可能な点が存在し、特別なヒット テストを実行する場合は、オーバーライドしてクリック可能な点を提供します。
IsKeyboardFocusableProperty 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
NameProperty 「ノート」を参照してください。 常に、テキスト バー コントロールが表示するテキストが、そのコントロールの名前になります。
LabeledByProperty Null テキスト コントロールに静的なテキスト ラベルはありません。
ControlTypeProperty テキスト この値は、すべての UI フレームワークで同じです。
LocalizedControlTypeProperty "text" Text コントロール型に対応する、ローカライズされた文字列。
IsContentElementProperty 依存 テキスト コントロールに、別のコントロールの NameProperty で公開されていない情報が含まれている場合、テキスト コントロールはコンテンツになります。
IsControlElementProperty テキスト コントロールは、常にコントロールである必要があります。

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

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

コントロール パターン サポート Notes
IValueProvider 行わない テキストが ValuePattern をサポートすることはありません。 テキストが編集可能な場合、それは Edit コントロール型です。
ITextProvider 依存 テキストはアクセシビリティを向上させるために Text コントロール パターンをサポートする必要がありますが、必須ではありません。 テキストにさまざまなスタイルや属性 (たとえば、色、太字、斜体など) がある場合、Text コントロール パターンを使用すると便利です。これは、フレームワークに依存します。
ITableItemProvider 依存 テキスト要素がテーブル コントロール内に含まれている場合は、サポートする必要があります。
IRangeValueProvider 依存 テキスト要素がテーブル コントロール内に含まれている場合は、サポートする必要があります。

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

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

UI オートメーション イベント サポート Notes
TextSelectionChangedEvent 必須 なし
TextChangedEvent 必須 なし
BoundingRectangleProperty プロパティ変更イベント。 必須 なし
IsOffscreenProperty プロパティ変更イベント。 必須 なし
IsEnabledProperty プロパティ変更イベント。 必須 なし
NameProperty プロパティ変更イベント。 必須 なし
ValueProperty プロパティ変更イベント。 なし なし
AutomationFocusChangedEvent 必須 なし
StructureChangedEvent 必須 なし

関連項目