注
このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、「Windows Automation API: UI オートメーション 」を参照してください。
このトピックでは、ボタン コントロールの種類に対する UI オートメーションのサポートについて説明します。 UI オートメーションでは、コントロール型は、 ControlTypeProperty プロパティを使用するためにコントロールが満たす必要がある一連の条件です。 条件には、UI オートメーション ツリー構造、UI オートメーション プロパティ値、コントロール パターン、および UI オートメーション イベントに関する特定のガイドラインが含まれます。
ボタンは、ダイアログ ボックスの [OK] ボタンや [キャンセル ] ボタンなどのアクションを実行するためにユーザーが操作するオブジェクトです。 ボタン コントロールは、ユーザーが完了したい 1 つのコマンドにマップされるため、公開する簡単なコントロールです。
次のセクションでは、Button コントロール型に必要な UI オートメーション ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、Windows フォームのいずれであっても、すべてのボタン コントロールに適用されます。
必要な UI オートメーション ツリー構造
次の表は、ボタン コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
| コントロール ビュー | コンテンツ ビュー |
|---|---|
| ボタン - 画像 (0 以上) - テキスト (0 以上) |
ボタン |
必要な UI オートメーション プロパティ
次の表に、値または定義が Button コントロール型 (ボタン コントロールなど) を実装するコントロールに特に関連する UI オートメーション プロパティの一覧を示します。 UI オートメーション プロパティの詳細については、「 クライアントの UI オートメーション プロパティ」を参照してください。
| UI オートメーション プロパティ | 価値 | 注記 |
|---|---|---|
| AcceleratorKeyProperty | ノートを参照してください。 | 通常、Button コントロールはアクセラレータ キーをサポートして、エンド ユーザーがキーボードからすばやく表すアクションを実行できるようにする必要があります。 |
| AutomationIdProperty | ノートを参照してください。 | このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。 |
| BoundingRectangleProperty | ノートを参照してください。 | コントロール全体を含む最も外側の四角形。 |
| ClickablePointProperty | ノートを参照してください。 | 外接する四角形がある場合にサポートされます。 外接する四角形内のポイントのすべてがクリック可能でない場合、かつ特殊なヒットテストを行うのであれば、オーバーライドしてクリック可能なポイントを指定してください。 |
| ControlTypeProperty | ボタン | この値は、すべての UI フレームワークで同じです。 |
| HelpTextProperty | ノートを参照してください。 | ヘルプ テキストは、ボタンをアクティブ化した最終的な結果を示すことができます。 これは通常、ツールヒントを通じて表示される情報の種類と同じです。 |
| IsContentElementProperty | 正しい | Button コントロールは常にコンテンツである必要があります。 |
| IsControlElementProperty | 正しい | Button コントロールは常にコントロールである必要があります。 |
| IsKeyboardFocusableProperty | ノートを参照してください。 | コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。 |
| LabeledByProperty | Null |
ボタン コントロールは、その内容によって自己ラベル付けされます。 |
| LocalizedControlTypeProperty | "button" | Button コントロール型に対応するローカライズされた文字列。 |
| NameProperty | ノートを参照してください。 | ボタン コントロールの名前は、ラベル付けするために使用されるテキストです。 ボタンのラベル付けに画像を使用する場合は常に、ボタンの Name プロパティに代替テキストを指定する必要があります。 |
必要な UI オートメーション コントロール パターン
次の表に、すべてのボタン コントロールでサポートされる必要がある UI オートメーション コントロール パターンを示します。 コントロール パターンの詳細については、「UI オートメーション コントロール パターンの概要」を参照してください。
| コントロール パターン | 支援 | 注記 |
|---|---|---|
| IInvokeProvider | ノートを参照してください。 | すべてのボタンは、呼び出しコントロール パターンまたはトグル コントロール パターンをサポートする必要があります。 呼び出しは、ボタンがユーザーの要求でコマンドを実行するときにサポートされます。 このコマンドは、切り取り、コピー、貼り付け、削除などの 1 つの操作にマップされます。 |
| IToggleProvider | ノートを参照してください。 | すべてのボタンは、呼び出しコントロール パターンまたはトグル コントロール パターンをサポートする必要があります。 ボタンを 3 つまでの一連の状態で循環できる場合は、トグルがサポートされます。 通常、これは特定の機能のオン/オフ スイッチと見なされます。 |
| IExpandCollapseProvider | ノートを参照してください。 | ボタンが分割ボタンの子としてホストされている場合、子ボタンは、呼び出しまたはトグル パターンではなく ExpandCollapse パターンをサポートできます。 ExpandCollapse パターンは、メニューまたはボタン要素に関連付けられているその他のサブ構造を開いたり閉じたりするために使用できます。 |
必要な UI オートメーション イベント
次の表に、すべてのボタン コントロールでサポートされる必要がある UI オートメーション イベントの一覧を示します。 イベントの詳細については、「UI オートメーション イベントの概要」を参照してください。
| UI オートメーション イベント | 支援 | 注記 |
|---|---|---|
| AutomationFocusChangedEvent | 必須 | 無し |
| BoundingRectangleProperty プロパティ変更イベント。 | 必須 | 無し |
| IsOffscreenProperty プロパティ変更イベント。 | 必須 | 無し |
| IsEnabledProperty プロパティ変更イベント。 | 必須 | 無し |
| NameProperty プロパティ変更イベント。 | 必須 | 無し |
| StructureChangedEvent | 必須 | 無し |
| InvokedEvent | 依存 | コントロールが Invoke コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
| ToggleStateProperty プロパティ変更イベント。 | 依存 | コントロールが Toggle コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |