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

Note

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

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

ボタンとは、ユーザーが操作を実行するために対話するオブジェクトのことです。その例には、ダイアログ ボックスにある [OK] ボタンや [キャンセル] ボタンなどがあります。 ボタン コントロールは、ユーザーがコマンドを完了できるよう、単一のコマンドにマップされて公開されることから、単純なコントロールです。

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

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

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

コントロール ビュー コンテンツ ビュー
ボタン

- Image (0 以上)
- Text (0 以上)
ボタン

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

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

UI Automation のプロパティ Notes
AcceleratorKeyProperty 「ノート」を参照してください。 ボタン コントロールは、通常、そのコントロールが表す操作をエンド ユーザーがキーボードから素早く実行できるように、アクセラレータ キーをサポートする必要があります。
AutomationIdProperty 「ノート」を参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
ClickablePointProperty 「ノート」を参照してください。 四角形領域が存在する場合にサポートされます。 四角形領域内にクリック不可能な点が存在し、特別なヒット テストを実行する場合は、オーバーライドしてクリック可能な点を提供します。
ControlTypeProperty ボタン この値は、すべての UI フレームワークで同じです。
HelpTextProperty 「ノート」を参照してください。 ヘルプ テキストで、ボタンをアクティブにした場合の最終結果を説明できます。 これは一般に、ツールヒントに表示する情報と同じような情報です。
IsContentElementProperty Button コントロールは、常にコンテンツである必要があります。
IsControlElementProperty Button コントロールは、常にコントロールである必要があります。
IsKeyboardFocusableProperty 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
LabeledByProperty Null ボタン コントロールは、そのコンテンツで自己ラベル付けを行います。
LocalizedControlTypeProperty 「ボタン」 Button コントロール型に対応する、ローカライズされた文字列。
NameProperty 「ノート」を参照してください。 ボタン コントロールの名前は、そのコントロールのラベル付けに使用されるテキストです。 ボタンのラベル付けにイメージを使用する場合は、必ずボタンの Name プロパティに代替テキストを指定する必要があります。

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

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

コントロール パターン サポート Notes
IInvokeProvider 「ノート」を参照してください。 すべてのボタンは、Invoke コントロール パターンまたは Toggle コントロール パターンをサポートする必要があります。 Invoke は、ボタンがユーザーの要求時にコマンドを実行する場合にサポートされます。 このコマンドは、切り取り、コピー、貼り付け、削除などの単一の操作にマップされます。
IToggleProvider 「ノート」を参照してください。 すべてのボタンは、Invoke コントロール パターンまたは Toggle コントロール パターンをサポートする必要があります。 Toggle は、ボタンが最大 3 つの一連の状態を循環できる場合にサポートされます。 通常は、特定の機能のオン/オフの切り替えと見なされます。
IExpandCollapseProvider 「ノート」を参照してください。 ボタンが分割ボタンの子としてホストされる場合、子ボタンは Invoke または Toggle パターンの代わりに ExpandCollapse パターンをサポートすることができます。 ExpandCollapse パターンは、ボタン要素に関連付けられたメニューやその他のサブ構造を開く、または閉じるために使用できます。

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

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

UI オートメーション イベント サポート Notes
AutomationFocusChangedEvent 必須 なし
BoundingRectangleProperty プロパティ変更イベント。 必須 なし
IsOffscreenProperty プロパティ変更イベント。 必須 なし
IsEnabledProperty プロパティ変更イベント。 必須 なし
NameProperty プロパティ変更イベント。 必須 なし
StructureChangedEvent 必須 なし
InvokedEvent 依存 コントロールが Invoke コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。
ToggleStateProperty プロパティ変更イベント。 依存 コントロールが Toggle コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。

関連項目