次の方法で共有


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

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

このトピックでは、テキスト コントロールの種類に対する UI オートメーションのサポートについて説明します。 UI オートメーションでは、コントロール型は、 ControlTypeProperty プロパティを使用するためにコントロールが満たす必要がある一連の条件です。 条件には、UI オートメーション ツリー構造、UI オートメーション プロパティ値、およびコントロール パターンに関する特定のガイドラインが含まれます。

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

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

必要な UI オートメーション ツリー構造

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

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

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

  • 項目一覧

  • TreeItem

  • DataItem

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

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

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

UI オートメーション プロパティ 価値 注記
AutomationIdProperty ノートを参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty ノートを参照してください。 コントロール全体を含む最も外側の四角形。
ClickablePointProperty ノートを参照してください。 外接する四角形がある場合にサポートされます。 外接する四角形内のポイントのすべてがクリック可能でない場合、かつ特殊なヒットテストを行うのであれば、オーバーライドしてクリック可能なポイントを指定してください。
IsKeyboardFocusableProperty ノートを参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
NameProperty ノートを参照してください。 テキスト バー コントロールの名前は、常に表示される txt です。
LabeledByProperty Null テキスト コントロールには静的なテキスト ラベルがありません。
ControlTypeProperty テキスト この値は、すべての UI フレームワークで同じです。
LocalizedControlTypeProperty "text" テキスト コントロールの種類に対応するローカライズされた文字列。
IsContentElementProperty 依存 テキスト コントロールに、別のコントロールの NameProperty で公開されていない情報が含まれている場合はコンテンツになります。
IsControlElementProperty 正しい テキスト コントロールは常にコントロールである必要があります。

必要な UI オートメーション コントロール パターン

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

コントロール パターン 支援 注記
IValueProvider 決してない テキストは ValuePattern をサポートしません。 テキストが編集可能な場合は、編集コントロールの種類です。
ITextProvider 依存 テキストは、アクセシビリティを向上するために Text コントロール パターンをサポートする必要があります。ただし、必須ではありません。 テキスト コントロール パターンは、テキストに豊富なスタイルと属性 (色、太字、斜体など) がある場合に便利です。フレームワークに依存します。
ITableItemProvider 依存 テキスト要素が Table コントロール内に含まれている場合は、これをサポートする必要があります。
IRangeValueProvider 依存 テキスト要素がテーブル コントロール内に含まれている場合は、これをサポートする必要があります。

必要な UI オートメーション イベント

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

UI オートメーション イベント 支援 注記
TextSelectionChangedEvent 必須 無し
TextChangedEvent 必須 無し
BoundingRectangleProperty プロパティ変更イベント。 必須 無し
IsOffscreenProperty プロパティ変更イベント。 必須 無し
IsEnabledProperty プロパティ変更イベント。 必須 無し
NameProperty プロパティ変更イベント。 必須 無し
ValueProperty プロパティ変更イベント。 決してない 無し
AutomationFocusChangedEvent 必須 無し
StructureChangedEvent 必須 無し

こちらも参照ください