图像控件类型

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

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

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

本主题包含以下部分。

典型树结构

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

控件视图 内容视图
图像 图像(取决于映像是否包含信息,具体取决于 Automation Element 属性标识符 属性的值)

相关属性

下表列出了其值或定义与图像控件特别相关的 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 图像控件始终包含在 UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅备注。 如果控件可以接收键盘焦点,它必须支持此属性。
UIA_ItemStatusPropertyId 请参阅备注。 如果图像控件表示有关屏幕上特定项的状态信息,则控件应包含在该项中。 当图像包含在项中时,该项必须支持状态属性,并在状态更改时引发相应的通知。 如果图像是独立控件,并且正在传达状态,则必须支持此属性。
UIA_LabeledByPropertyId 请参阅备注。 如果有静态文本标签,此属性必须公开对该控件的引用。
UIA_LocalizedControlTypePropertyId 请参阅备注。 对应于 图像 控件类型的本地化字符串。 默认值为“image”,用于 en-US 或英语(美国)。
UIA_NamePropertyId 请参阅备注。 必须为包含信息的所有图像控件公开 Name 属性。 以编程方式访问此信息需要提供与图形等效的文本。 如果图像控件纯粹是装饰性的,则它只能显示在 UI 自动化树的控件视图中,并且不需要具有名称(请参阅 备注)。 UI 框架必须支持可从其框架内设置的图像的 ALT 或备用文本属性。 然后,此属性将映射到 UI 自动化名称属性。

所需的控件模式

下表列出了图像控件支持的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI 自动化控件模式概述

控件模式 支持 笔记
IGridItemProvider 取决于 如果控件位于网格容器中,则图像控件支持 GridItem 控件模式。
IInvokeProvider 从不 如果图像控件是可单击的对象,控件应支持支持 调用 控件模式的控件类型,例如 Button 控件类型。 对于包含多个可单击对象的图像对象,元素(图像控件类型)可能会在 UI 自动化树中托管子链接(超链接 控件类型)。
ISelectionItemProvider 从不 图像控件不应支持 SelectionItem 控件模式。 如果映像是可选择的容器的一部分,例如具有图像图标作为内容的按钮,该容器支持模式,而不是其中的映像。
ITableItemProvider 取决于 如果控件位于具有标头控件的容器内,则映像控件支持 TableItem 控件模式。

必需事件

下表列出了图像控件需要支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述

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

言论

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

关于 UI 自动化:

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

概念