コントロールの種類の編集
このトピックでは、コントロールの種類の編集に関する Microsoft UI オートメーションのサポートについて説明します。
編集コントロールを使用すると、さまざまな書式設定の機能をサポートしなくてもユーザーは単純なテキスト行を表示、および編集することができます。
次のセクションでは、編集コントロールの種類に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンUI オートメーションサポートを統合するすべての編集コントロールに適用されます。
このトピックは、次のセクションで構成されています。
一般的なツリー構造
次の表は、編集コントロールに関連するUI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
コントロール ビュー | コンテンツ ビュー |
---|---|
|
|
エディット コントロールの種類を実装するコントロールは、単一行のコントロールであるため、UI オートメーション ツリーのコントロール ビューには常に 0 個のスクロール バーがあります。 1 行のテキストは、一部のレイアウト シナリオでは折り返されることがあります。 [編集] コントロールの種類は、少量のテキストのみを対象としています。
関連するプロパティ
次の表に、編集コントロールに特に関連する値または定義を持つUI オートメーションプロパティの一覧を示します。 UI オートメーションプロパティの詳細については、「UI オートメーション要素からプロパティを取得する」を参照してください。
UI Automation のプロパティ | 値 | Notes |
---|---|---|
UIA_AutomationIdPropertyId | 「ノート」を参照してください。 | このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素間で一意である必要があります。 |
UIA_BoundingRectanglePropertyId | 「ノート」を参照してください。 | コントロール全体を格納する最も外側の四角形。 |
UIA_ClickablePointPropertyId | 「ノート」を参照してください。 | 編集コントロールには、ユーザーがその場所でマウスをクリックしたときに、コントロールの編集部分に入力フォーカスを設定する、クリック可能なポイントが必要です。 |
UIA_ControlTypePropertyId | 編集 | |
UIA_IsContentElementPropertyId | TRUE | 編集コントロールが、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。 |
UIA_IsControlElementPropertyId | TRUE | 編集コントロールが、UI オートメーション ツリーのコントロール ビューに常に含まれます。 |
UIA_IsKeyboardFocusablePropertyId | 「ノート」を参照してください。 | コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。 |
UIA_IsPasswordPropertyId | 「ノート」を参照してください。 | パスワードを含む編集コントロールでは 、TRUE に設定する必要があります。 編集コントロールにパスワードのコンテンツが含まれる場合、スクリーン リーダーはこのプロパティを使用して、ユーザーが入力するキーストロークを読み上げる必要があるかどうかを判別できます。 |
UIA_LabeledByPropertyId | 「ノート」を参照してください。 | コントロールに関連付けられている静的テキスト ラベルがある場合、このプロパティは、そのコントロールへの参照を公開する必要があります。 テキスト コントロールが別のコントロールのサブコンポーネントである場合、 LabeledBy プロパティは設定されません。 |
UIA_LocalizedControlTypePropertyId | 「ノート」を参照してください。 | エディット コントロールの種類に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "編集" です。 |
UIA_NamePropertyId | 「ノート」を参照してください。 | 編集コントロールの名前は、通常、静的なテキスト ラベルから生成されます。 静的テキスト ラベルがない場合は、アプリケーション開発者が Name のプロパティ値を割り当てる必要があります。 Name プロパティには、編集コントロールのテキストコンテンツを含めてはいけません。 |
必須のコントロール パターン
次の表に、エディット コントロールでサポートするために必要なUI オートメーション コントロール パターンを示します。 コントロール パターンの詳細については、「 UI Automation Control Patterns Overview」を参照してください。
コントロール パターン/パターン プロパティ | サポート/値 | Notes |
---|---|---|
IRangeValueProvider | 依存 | 数値範囲を取得するすべての編集コントロールは、 RangeValue コントロール パターンを公開する必要があります。 |
最小値 | 「ノート」を参照してください。 | このプロパティは、編集コントロールの内容を設定できる最小値である必要があります。 |
最大値 | 「ノート」を参照してください。 | このプロパティは、編集コントロールの内容を設定できる最大値である必要があります。 |
Smallchange | 「ノート」を参照してください。 | このプロパティは、値に対して設定できる小数点以下の桁数を示す必要があります。 編集コントロールが整数のみを受け取る場合、 SmallChange プロパティの値は 1 である必要があります。 編集コントロールの範囲が 1.0 から 2.0 の場合、 SmallChange プロパティの値は 0.1 である必要があります。 編集コントロールの範囲が 1.00 から 2.00 の場合、 SmallChange プロパティの値は 0.001 である必要があります。 |
Largechange | NULL | このプロパティは、編集コントロールで公開する必要はありません。 |
値 | 「ノート」を参照してください。 | このプロパティは、編集コントロールの数値の内容を示します。 Minimum プロパティと Maximum プロパティで指定された範囲内のUI オートメーション クライアントによってより正確な値が設定されると、Value プロパティは最も近い受け入れ値に自動的に丸められます。 |
ITextProvider | 必須 | 詳細な情報は常に支援技術クライアントで使用できる必要があるため、すべての編集コントロールで テキスト コントロール パターンをサポートする必要があります。 |
IValueProvider | 依存 | 文字列を受け取る編集コントロールはすべて、 Value コントロール パターンを公開する必要があります。 |
Isreadonly | 「ノート」を参照してください。 | このプロパティは、コントロールがプログラムで値を設定できるか、ユーザーが編集できるかを示すために設定する必要があります。 |
値 | 「ノート」を参照してください。 | このプロパティには、編集コントロールのテキストコンテンツが含まれます。 UIA_IsPasswordPropertyId プロパティが TRUE に設定されている場合、Value プロパティのクエリを実行するとエラーが返される必要があります。 |
必須イベント
次の表に、コントロールを編集するために必要なUI オートメーション イベントを示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。
UI オートメーション イベント | Notes |
---|---|
UIA_AutomationFocusChangedEventId | |
プロパティUIA_BoundingRectanglePropertyId 変更されたイベントです。 | |
プロパティUIA_IsEnabledPropertyId 変更されたイベントです。 | コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティUIA_IsOffscreenPropertyId 変更されたイベントです。 | コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティUIA_NamePropertyId 変更されたイベントです。 | |
プロパティUIA_RangeValueValuePropertyId 変更されたイベントです。 | コントロールが RangeValue コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティ変更イベントUIA_ScrollHorizontallyScrollablePropertyId します。 | 編集コントロールは 、スクロール コントロール パターンをサポートしません。 |
プロパティ変更イベントUIA_ScrollHorizontalScrollPercentPropertyId します。 | 編集コントロールは 、スクロール コントロール パターンをサポートしません。 |
プロパティUIA_ScrollHorizontalViewSizePropertyId 変更されたイベントです。 | 編集コントロールは 、スクロール コントロール パターンをサポートしません。 |
プロパティUIA_ScrollVerticallyScrollablePropertyId 変更されたイベントです。 | 編集コントロールは 、スクロール コントロール パターンをサポートしません。 |
プロパティ変更イベントUIA_ScrollVerticalScrollPercentPropertyId します。 | 編集コントロールは 、スクロール コントロール パターンをサポートしません。 |
プロパティUIA_ScrollVerticalViewSizePropertyId 変更されたイベントです。 | 編集コントロールは 、スクロール コントロール パターンをサポートしません。 |
UIA_StructureChangedEventId | |
UIA_Text_TextChangedEventId | コントロールが Text コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
UIA_Text_TextSelectionChangedEventId | コントロールが Text コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティ変更イベント をUIA_ValueValuePropertyIdします。 | コントロールが Value コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
解説
編集コントロールは、テキストの選択や編集をサポートしない読み取り専用のテキスト フィールドとして使用できます。 このような編集コントロールは、特定の名前と値を持つフィールド オブジェクトとして動作します。
編集コントロールにプレースホルダー テキスト (キュー バナーなど) が含まれている場合は、テキストをユーザーが編集してプレースホルダー テキストとして再利用できない限り、テキストを HelpText プロパティとして使用する必要があります。 たとえば、Windows インターネット エクスプローラーアドレス バーには、新しいタブを開いたときに "about:Tabs" というテキストが含まれます。 これは、ユーザーが使用または編集できるプログラムアドレスであるため、 HelpText ではありません。
関連トピック