ボタン コントロールの種類

このトピックでは、ボタン コントロールの種類に対する Microsoft UI オートメーション サポートについて説明します。

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

次のセクションでは、Button コントロールの種類に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンのサポートUI オートメーション統合するすべてのボタン コントロールに適用されます。

このトピックは、次のセクションで構成されています。

一般的なツリー構造

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

コントロール ビュー コンテンツ ビュー
  • ボタン
    • イメージ (0 個以上)
    • テキスト (0 以上)
  • Button

 

関連するプロパティ

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

UI Automation のプロパティ メモ
UIA_AcceleratorKeyPropertyId 「ノート」を参照してください。 通常、ボタン コントロールはアクセラレータ キーをサポートし、エンド ユーザーがキーボードからボタンで表されるアクションをすばやく実行できるようにします。
UIA_AutomationIdPropertyId 「ノート」を参照してください。 このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素間で一意である必要があります。
UIA_BoundingRectanglePropertyId 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
UIA_ClickablePointPropertyId 「ノート」を参照してください。 四角形領域が存在する場合にサポートされます。 外接する四角形内のすべてのポイントがクリック可能でなく、要素が特殊なヒット テストを実行する場合は、オーバーライドしてクリック可能なポイントを指定します。
UIA_ControlTypePropertyId Button
UIA_HelpTextPropertyId 「ノート」を参照してください。 ヘルプ テキストは、ボタンをアクティブ化した最終的な結果を示す必要があります。 これは通常、ツールヒントを通じて提示されるのと同じ種類の情報です。
UIA_IsContentElementPropertyId true ボタン コントロールは常にコンテンツである必要があります。
UIA_IsControlElementPropertyId true ボタン コントロールは常にコントロールである必要があります。
UIA_IsKeyboardFocusablePropertyId 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
UIA_LabeledByPropertyId [Null] ボタン コントロールは、そのコンテンツで自己ラベル付けを行います。
UIA_LocalizedControlTypePropertyId 「ノート」を参照してください。 Button コントロールの種類に対応するローカライズされた文字列。 en-US または英語 (米国) の既定値は "button" です。
UIA_NamePropertyId 「ノート」を参照してください。 ボタン コントロールの名前は、ラベル付けに使用されるテキストです。 ボタンにラベルを付けるために画像を使用する場合は常に、ボタンの Name プロパティに代替テキストを指定する必要があります。

 

必須のコントロール パターン

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

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

 

必須イベント

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

UI オートメーション イベント メモ
UIA_AutomationFocusChangedEventId
プロパティUIA_BoundingRectanglePropertyId 変更されたイベントです。
UIA_Invoke_InvokedEventId コントロールが Invoke コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_IsEnabledPropertyId 変更されたイベントです。 コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_IsOffscreenPropertyId 変更されたイベントです。 コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_NamePropertyId 変更されたイベントです。
UIA_StructureChangedEventId
プロパティUIA_ToggleToggleStatePropertyId 変更されたイベントです。 コントロールが Toggle コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。

 

概念

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

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