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

Note

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

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

編集コントロールを使用すると、さまざまな書式設定の機能をサポートしなくてもユーザーは単純なテキスト行を表示、および編集することができます。

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

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

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

コントロール ビュー コンテンツ ビュー
[編集] [編集]

Edit コントロール型を実装するコントロールは単一行のコントロールであるため、UI オートメーションのツリーのコントロール ビューにはスクロール バーは表示されません。 1 行のテキストは、一部のレイアウト シナリオでは折り返されることがあります。 Edit コントロール型は、編集可能または選択可能なテキストを少量保持するのに最適です。

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

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

UI Automation のプロパティ Notes
AutomationIdProperty 「ノート」を参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
ClickablePointProperty 「ノート」を参照してください。 編集コントロールには、ユーザーがその場所でマウスをクリックしたときに、コントロールの編集部分に入力フォーカスを設定する、クリック可能なポイントが必要です。
IsKeyboardFocusableProperty 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
NameProperty 「ノート」を参照してください。 編集コントロールの名前は、通常、静的なテキスト ラベルから生成されます。 静的なテキスト ラベルがない場合は、アプリケーション開発者が Name のプロパティ値を割り当てる必要があります。 Name プロパティには、編集コントロールのテキスト コンテンツを含めることができません。
LabeledByProperty 「ノート」を参照してください。 コントロールに関連付けられた静的なテキスト ラベルが存在する場合、このプロパティはそのコントロールへの参照を公開する必要があります。 テキスト コントロールが別のコントロールのサブコンポーネントの場合、 LabeledBy プロパティは設定されません。
ControlTypeProperty [編集] この値は、すべての UI フレームワークで同じです。
LocalizedControlTypeProperty "エディット" Edit コントロール型に対応する、ローカライズされた文字列。
IsContentElementProperty 編集コントロールが、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。
IsControlElementProperty True 編集コントロールが、UI オートメーション ツリーのコントロール ビューに常に含まれます。
IsPasswordProperty 「ノート」を参照してください。 パスワードが含まれている編集コントロールの場合は true に設定する必要があります。 編集コントロールにパスワードのコンテンツが含まれる場合、スクリーン リーダーはこのプロパティを使用して、ユーザーが入力するキーストロークを読み上げる必要があるかどうかを判別できます。

必須の UI オートメーション コントロール パターンおよびプロパティ

次の表に、すべての編集コントロールでサポートする必要があるコントロール パターンの一覧を示します。 コントロール パターンについて詳しくは、「 UI Automation Control Patterns Overview」をご覧ください。

コントロール パターン/コントロール パターン プロパティ サポート/値 Notes
ITextProvider 依存 編集コントロールは、テキスト コントロール パターンをサポートする必要があります。これは、クライアントが常に詳しいテキスト情報を利用できるようにする必要があるためです。
IValueProvider 依存 文字列を受け取るすべての編集コントロールは、Value パターンを公開する必要があります。
IsReadOnly 「ノート」を参照してください。 コントロールがプログラムで値を設定できるか、それともユーザーが値を編集できるかを示すために、このプロパティを設定する必要があります。
Value 「ノート」を参照してください。 このプロパティは、編集コントロールのテキスト コンテンツを返します。 IsPasswordPropertytrueに設定されている場合、このプロパティは要求されたときに InvalidOperationException を発生させる必要があります。
IRangeValueProvider 依存 数値の範囲を受け取るすべての編集コントロールは、Range Value コントロール パターンを公開する必要があります。
Minimum 「ノート」を参照してください。 このプロパティは、編集コントロールのコンテンツに対して設定できる最小値にする必要があります。
Maximum 「ノート」を参照してください。 このプロパティは、編集コントロールのコンテンツに対して設定できる最大値にする必要があります。
SmallChange 「ノート」を参照してください。 このプロパティは、値に対して設定できる小数点以下の桁数を示す必要があります。 エディットが整数のみを受け取る場合は、 SmallChangeProperty を 1 にする必要があります。 エディットが 1.0 ~ 2.0 の範囲を受け取る場合は、 SmallChangeProperty を 0.1 にする必要があります。 編集コントロールが 1.00 ~ 2.00 の範囲を受け取る場合は、 SmallChangeProperty を 0.001 にする必要があります。
LargeChange Null このプロパティは、編集コントロールで公開する必要はありません。
Value 「ノート」を参照してください。 このプロパティは、編集コントロールの数値コンテンツを示します。 UI オートメーション クライアントによってより精度の高い値が Minimum および Maximum プロパティ内に範囲指定され設定された場合、Value プロパティは、受け入れ可能な値に最も近い値に自動的に丸められます。

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

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

UI オートメーション イベント サポート Notes
InvalidatedEvent 必須 なし
TextSelectionChangedEvent 必須 なし
TextChangedEvent 必須 なし
BoundingRectangleProperty プロパティ変更イベント。 必須 なし
IsOffscreenProperty プロパティ変更イベント。 必須 なし
IsEnabledProperty プロパティ変更イベント。 必須 なし
NameProperty プロパティ変更イベント。 必須 なし
ValueProperty プロパティ変更イベント。 依存 なし
HorizontallyScrollableProperty プロパティ変更イベント。 なし なし
HorizontalScrollPercentProperty プロパティ変更イベント。 なし なし
HorizontalViewSizeProperty プロパティ変更イベント。 なし なし
VerticalScrollPercentProperty プロパティ変更イベント。 なし なし
VerticallyScrollableProperty プロパティ変更イベント。 なし なし
VerticalViewSizeProperty プロパティ変更イベント。 なし なし
ValueProperty プロパティ変更イベント。 依存 コントロールが Range Value コントロール パターンをサポートする場合は、このイベントをサポートする必要があります。
AutomationFocusChangedEvent 必須 なし
StructureChangedEvent 必須 なし

関連項目