タブ コントロールの種類

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

タブ コントロールは、ノートブックの分割線やファイル キャビネット内のラベルに似ています。 タブ コントロールを使用すると、アプリケーションはウィンドウまたはダイアログ ボックスの同じ領域に対して複数のページを定義できます。

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

このトピックには、次のセクションが含まれています。

一般的なツリー構造

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

コントロール ビュー コンテンツ ビュー
  • タブ
    • TabItem (1 つ以上)
    • ScrollBar (0 または 1)
      • ボタン (0 または 2)
  • タブ
    • TabItem (1 つ以上)

 

タブ コントロールには、TabItem コントロール型に基づく子 UI オートメーション要素があります。 タブ項目がグループ化されている場合 (Microsoft Office アプリケーションなど)、Tab コントロールの種類は、次のツリー構造に示すように、グループ化されたタブアイテムの グループ コントロールの種類をホストすることもできます。

コントロール ビュー コンテンツ ビュー
  • タブ
    • TabItem (1 つ以上)
    • グループ (0 以上)
      • TabItem (0 以上)
    • ScrollBar (0 または 1)
      • ボタン (0 または 2)
  • タブ
    • TabItem (1 つ以上)
    • グループ (0 以上)
      • TabItem (0 以上)

 

関連するプロパティ

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

UI オートメーション プロパティ 価値 筆記
UIA_AutomationIdPropertyId ノートを参照してください。 このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素で一意である必要があります。
UIA_BoundingRectanglePropertyId ノートを参照してください。 コントロール全体を含む最も外側の四角形。
UIA_ClickablePointPropertyId いいえ タブ コントロールにはクリック可能なポイントがありません。
UIA_ControlTypePropertyId タブの
UIA_IsContentElementPropertyId 真 タブ コントロールは、常に UI オートメーション ツリーのコンテンツ ビューに含まれます。
UIA_IsControlElementPropertyId 真 タブ コントロールは、常に UI オートメーション ツリーのコントロール ビューに含まれます。
UIA_IsKeyboardFocusablePropertyId 真 Tab コントロールの種類は、キーボード フォーカスを受け取ることができる必要があります。 通常、UI オートメーション クライアントはタブ コントロール IUIAutomationElement::SetFocus を呼び出し、その項目の 1 つがキーボード フォーカスをタブ コントロールに転送します。 一部のタブ コンテナーでは、いずれかの項目にフォーカスを設定せずにフォーカスを設定できます。
UIA_LabeledByPropertyId ノートを参照してください。 タブ コントロールには、通常、このプロパティを通じて公開される静的テキスト ラベルがあります。
UIA_LocalizedControlTypePropertyId ノートを参照してください。 Tab コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の場合は "tab" です。
UIA_NamePropertyId ノートを参照してください。 タブ コントロールに Name プロパティが必要になることはほとんどありません。
UIA_OrientationPropertyId ノートを参照してください。 タブ コントロールは、常に水平方向または垂直方向のどちらに配置されるかを示す必要があります。

 

必要なコントロール パターン

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

Control Pattern/Pattern プロパティ サポート/値 筆記
ISelectionProviderの 必須 すべてのタブ コントロールは、コントロール パターンの選択 をサポートする必要があります。
IsSelectionRequiredの 真 タブ コントロールでは、常に選択を行う必要があります。
CanSelectMultiple 偽 タブ コントロールは常に単一選択コンテナーです。
IScrollProviderの 依存 タブ コントロールに一連のタブ項目をスクロールできるウィジェットがある場合は、スクロール コントロール パターンをサポートする必要があります。

 

必要なイベント

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

UI オートメーション イベント 筆記
UIA_AutomationFocusChangedEventId
プロパティ変更イベント UIA_BoundingRectanglePropertyId します。
プロパティ変更イベントを UIA_IsEnabledPropertyId します。 コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベント UIA_IsOffscreenPropertyId します。 コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベント UIA_ScrollHorizontallyScrollablePropertyId します。 コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベント UIA_ScrollHorizontalScrollPercentPropertyId します。 コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベント UIA_ScrollHorizontalViewSizePropertyId します。 コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベント UIA_ScrollVerticallyScrollablePropertyId します。 コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベント UIA_ScrollVerticalScrollPercentPropertyId します。 コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベント UIA_ScrollVerticalViewSizePropertyId します。 コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_StructureChangedEventId

 

概念

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

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