图像控件类型

本主题提供有关 Microsoft UI 自动化对 Image 控件类型的支持的信息。

用作图标、信息图形和图表的图像控件将支持 图像 控件类型。 用作背景图像或水印图像的控件将不支持 图像 控件类型。

以下部分定义了图像控件类型所需的UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成UI 自动化控件类型和控件模式支持的所有图像控件。

本主题包含以下各节:

典型树结构

下表描述了与图像控件相关的UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述

控件视图 内容视图
映像 图像 (根据 自动化元素属性标识符 属性的值) 根据映像是否包含信息

相关属性

下表列出了值或定义与图像控件特别相关的UI 自动化属性。 有关UI 自动化属性的详细信息,请参阅从 UI 自动化 元素检索属性

UI 自动化属性 说明
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId 请参阅注释。 图像控件的可单击点必须是图像控件边界矩形内的点。
UIA_ControlTypePropertyId 图像
UIA_HelpTextPropertyId 请参阅注释。 HelpText 属性公开一个本地化字符串,该字符串描述控件的实际视觉外观或与图像关联的其他工具提示信息。 当需要较长的说明来传达有关图像控件 (的详细信息时,必须支持此属性,例如,如果图像是复杂的图表或图表) 。 此属性映射到 HTML LongDesc 标记和可缩放矢量图形 (SVG) Desc 标记。 使用图像控件的开发人员必须支持允许在控件上设置直观描述的属性。 此属性必须映射到 UI 自动化 VisualDescription 属性。
UIA_IsContentElementPropertyId 请参阅注释。 当其包含尚未公开给最终用户的有意义信息时,图像控件必须包括在 UI 自动化树的内容视图中。
UIA_IsControlElementPropertyId TRUE 图像控件始终包括在 UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅注释。 如果该控件可以接收键盘焦点,则它必须支持此属性。
UIA_ItemStatusPropertyId 请参阅注释。 如果图像控件表示有关屏幕上某个特定项的状态信息,则该项应包含该控件。 当图像包含在项中时,该项必须支持状态属性,并在状态更改时引发相应的通知。 如果图像是独立的控件并将传达状态,则必须支持此属性。
UIA_LabeledByPropertyId 请参阅注释。 如果有静态文本标签,则此属性必须公开对该控件的引用。
UIA_LocalizedControlTypePropertyId 请参阅注释。 对应于 Image 控件类型的本地化字符串。 en-US 或英语 (美国) 的默认值为“image”。
UIA_NamePropertyId 请参阅注释。 必须为包含信息的所有图像控件公开 Name 属性。 以编程方式访问此信息需要提供与图形等效的文字。 如果图像控件纯粹是装饰性的,则它必须仅显示在UI 自动化树的控件视图中,并且不需要具有名称 (请参阅备注) 。 UI 框架必须支持图像上的 ALT 或替代文本属性,这些属性可以从其框架内进行设置。 此属性将映射到 UI 自动化名称属性。

所需的控件模式

下表列出了图像控件所需的UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview

控件模式 支持 说明
IGridItemProvider 依赖的对象 如果控件位于网格容器内,则映像控件支持 GridItem 控件模式。
IInvokeProvider 从不 如果图像控件是可单击的对象,则控件应支持支持 Invoke 控件模式的控件类型,例如 Button 控件类型。 对于包含多个可单击对象的图像对象,元素 (Image 控件类型) 可以在UI 自动化树中承载子链接 (Hyperlink 控件类型) 。
ISelectionItemProvider 从不 图像控件不应支持 SelectionItem 控件模式。 如果映像是可选择的容器的一部分,例如具有图像图标作为内容的按钮,则该容器支持模式,而不是其中的映像。
ITableItemProvider 依赖的对象 如果控件位于具有标头控件的容器中,则映像控件支持 TableItem 控件模式。

必需事件

下表列出了图像控件需要支持UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty

UI 自动化事件 说明
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,它必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_ItemStatusPropertyId 属性更改事件。 如果控件支持 ItemStatus 属性,它必须支持此事件。
UIA_NamePropertyId 属性更改事件。
UIA_StructureChangedEventId

备注

万维网联合会 (W3C) 将装饰性图像定义为不向页面内容添加信息的图像。 有关更多详细信息,请参阅有关 装饰图像的 W3C 主题。

关于UI 自动化:

  • 如果图像纯粹是装饰性的,不是交互式的,并且不传达任何信息,则图像:
    • 可能位于 UIA 树中,也可能不在 UIA 树中
    • 可能位于 UIA 原始视图中,也可能不在 UIA 原始视图中
    • 不得位于 UIA 控件视图中
    • 不得在内容视图中
    • 可能具有名称,也可能没有名称
  • 如果图像传达信息,但存在提供相同信息 (的明确关联的文本,例如包含左指向三角形图形的播放按钮以及文本“播放”) ,则图像被视为装饰和图像:
    • 必须在原始视图中
    • 必须在控件视图中
    • 不得在内容视图中
    • Name 属性中可能具有值,也可能没有值
    • 同时传达图像含义的文本必须位于内容视图中
  • 如果图像信息丰富并传达了任何关联文本未提供的详细信息,则图像:
    • 必须在原始视图中
    • 必须在控件视图中
    • 必须在内容视图中
    • 必须具有描述图像及其含义的名称值

概念性