适用于 W3C 可访问的丰富 Internet 应用程序的 UI 自动化规范

网站使用异步 JavaScript 和 XML(AJAX)、DHTML 和 JavaScript 等技术支持的动态内容和高级 UI 控件来增加其实用工具。 但是,辅助技术通常无法与这些复杂的控件交互,也不能向用户公开动态内容。 可访问的富 Internet 应用程序(ARIA)是一种 W3C 技术规范,用于开发 Web 内容和应用程序,以便残障人士能够访问它们。

为了支持 ARIA 规范,Microsoft UI 自动化规范使开发人员能够将 UI 自动化 AriaRole 和 AriaProperties 属性与 W3C ARIA 角色和状态或属性相关联。 这有助于用户应用程序(如 Microsoft Internet Explorer)在 UI 自动化上下文中支持 ARIA 对象模型,同时保留基线辅助功能对象模型。

本附录提供了 W3C 信息的建议映射,以利用这两个新的 UI 自动化属性,将 W3C 信息映射到Microsoft活动辅助功能和 UI 自动化规范。

本主题包含以下部分:

映射到Microsoft活动辅助功能和 UI 自动化的 W3C ARIA 角色

W3C ARIA 角色可以映射到Microsoft活动辅助功能角色或 UI 自动化控件类型。 使用 UI 自动化时,AriaRole 属性可能也支持原始 W3C ARIA 角色。 用户代理可以使用 UI 自动化 LocalizedControlType 属性提供 W3C ARIA 角色的本地化说明;但是,这是可选的。 如果未指定本地化字符串,系统将提供默认的 LocalizedControlType 字符串。 用户代理还可以使用空格作为分隔符在 AriaRole 属性中提供辅助角色,如 ARIA W3C 标准中定义。

W3C ARIA 角色属性 (DRAFT) Microsoft活动辅助功能角色 UI 自动化控件类型 UI 自动化 AriaRole 属性
警报 ROLE_SYSTEM_ALERT 文本 警报
alertdialog ROLE_SYSTEM_DIALOG 窗格 alertdialog
应用 ROLE_SYSTEM_PANE 窗格 应用
ROLE_SYSTEM_DOCUMENT 文档
旗帜 ROLE_SYSTEM_GROUPING 旗帜
按钮 ROLE_SYSTEM_PUSHBUTTON 按钮 按钮
复选框 ROLE_SYSTEM_CHECKBUTTON CheckBox 复选框
columnheader ROLE_SYSTEM_COLUMNHEADER DataItem columnheader
组合框 ROLE_SYSTEM_COMBOBOX ComboBox 组合框
互补 ROLE_SYSTEM_GROUPING 互补
contentinfo ROLE_SYSTEM_GROUPING contentinfo
定义 ROLE_SYSTEM_GROUPING 定义
描述 ROLE_SYSTEM_TEXT 文本 描述
对话 ROLE_SYSTEM_DIALOG 窗格 对话
目录 ROLE_SYSTEM_LIST 列表 目录
公文 ROLE_SYSTEM_CLIENT 文档 公文
形式 ROLE_SYSTEM_GROUPING 形式
网 格 ROLE_SYSTEM_TABLE DataGrid 网 格
gridcell ROLE_SYSTEM_CELL DataItem gridcell
ROLE_SYSTEM_GROUPING
标题 ROLE_SYSTEM_TEXT 文本 标题
img ROLE_SYSTEM_GRAPHIC 图像 img
链接 ROLE_SYSTEM_LINK 超链接 链接
列表 ROLE_SYSTEM_LIST 列表 列表
listbox ROLE_SYSTEM_LIST 列表 listbox
listitem ROLE_SYSTEM_LISTITEM ListItem listitem
日志 ROLE_SYSTEM_GROUPING 日志
主要 ROLE_SYSTEM_GROUPING 主要
选取 框 ROLE_SYSTEM_ANIMATION 文本 选取 框
菜单 ROLE_SYSTEM_MENUPOPUP 菜单 菜单
菜单栏 ROLE_SYSTEM_MENUBAR MenuBar 菜单栏
menuitem ROLE_SYSTEM_MENUITEM MenuItem menuitem
menuitemcheckbox ROLE_SYSTEM_CHECKBUTTON CheckBox menuitemcheckbox
menuitemradio ROLE_SYSTEM_RADIOBUTTON RadioButton menuitemradio
导航 ROLE_SYSTEM_GROUPING 导航
注意 ROLE_SYSTEM_GROUPING 注意
选择 ROLE_SYSTEM_LISTITEM ListItem 选择
介绍 ROLE_SYSTEM_PANE 窗格 介绍
progressbar ROLE_SYSTEM_PROGRESSBAR ProgressBar progressbar
收音机 ROLE_SYSTEM_RADIOBUTTON RadioButton 收音机
radiogroup ROLE_SYSTEM_GROUPING radiogroup
地区 ROLE_SYSTEM_PANE 窗格 地区
ROLE_SYSTEM_ROW DataItem
rowheader ROLE_SYSTEM_ROWHEADER DataItem rowheader
滚动条 ROLE_SYSTEM_SCROLLBAR ScrollBar 滚动条
搜索 ROLE_SYSTEM_GROUPING 搜索
部分 ROLE_SYSTEM_GROUPING 部分
分隔符 ROLE_SYSTEM_SEPARATOR 分隔符 分隔符
滑 块 ROLE_SYSTEM_SLIDER 滑块 滑 块
spinbutton ROLE_SYSTEM_SPINBUTTON 微调器 spinbutton
地位 ROLE_SYSTEM_STATUSBAR StatusBar 地位
标签 ROLE_SYSTEM_PAGETAB TabItem 标签
tablist ROLE_SYSTEM_PAGETABLIST 选项卡 tablist
tabpanel ROLE_SYSTEM_PANE 窗格 tabpanel
文本框 ROLE_SYSTEM_TEXT 文档 文本框
定时器 ROLE_SYSTEM_CLOCK 窗格 定时器
工具栏 ROLE_SYSTEM_TOOLBAR ToolBar 工具栏
工具提示 ROLE_SYSTEM_TOOLTIP 工具提示 工具提示
ROLE_SYSTEM_OUTLINE
treegrid ROLE_SYSTEM_TABLE DataGrid treegrid
treeitem ROLE_SYSTEM_OUTLINEITEM TreeItem treeitem

映射到Microsoft活动辅助功能和 UI 自动化的 W3C ARIA 状态和属性

W3C ARIA 状态和属性映射到各种Microsoft活动辅助功能和 UI 自动化属性和函数。 UI 自动化 AriaProperties 属性支持大多数 ARIA 状态和属性。 例外情况是采用对象引用的 ARIA 属性(例如,描述的 ARIA 属性)和辅助功能对象模型支持的 ARIA 属性。 例如,ARIA activedescendent 属性应表示为辅助功能对象模型中具有焦点的元素。 指定辅助功能对象模型时,ARIA 拥有的属性也应反映在辅助功能对象模型中。

AriaProperties 是一个字符串属性,该属性具有名称/值对的集合,其分隔符为等号(=)和分号(;),例如“checked=true;disabled=false”。 当这些分隔符或反斜杠出现在值中时,反斜杠 (\) 将用作转义符。 提供程序代码可以添加验证以验证文档对象模型中的原始 ARIA 属性,但不是必需的。

W3C ARIA 状态和属性 Microsoft活动辅助功能属性 UI 自动化属性 UI 自动化 AriaProperties 属性
activedescendent STATE_SYSTEM_FOCUSED (accState) HasKeyboardFocus(指定用于接收焦点的子元素的属性) n/a
原子 n/a n/a 原子
STATE_SYSTEM_BUSY (accState) n/a
渠道 n/a n/a 渠道
检查 STATE_SYSTEM_CHECKED (accState) ToggleState (切换 控件模式) 检查
控制 n/a ControllerFor n/a
describedby n/a DescribedBy n/a
禁用 STATE_SYSTEM_UNAVAILABLE (accState) IsEnabled 禁用
dropeffect n/a n/a dropeffect
扩大 STATE_SYSTEM_COLLAPSEDSTATE_SYSTEM_EXPANDED (accState) ExpandCollapseState (ExpandCollapse 控件模式) 扩大
flowto n/a FlowTo n/a
n/a n/a
haspopup STATE_SYSTEM_HASPOPUP (accState) n/a haspopup
隐藏 STATE_SYSTEM_INVISIBLE (accState) IsOffscreen 隐藏
无效 n/a IsDataValidForForm 无效
labelledby n/a LabeledBy n/a
水平 accValue n/a (由自动化元素树结构表示) 水平
n/a n/a
多行 n/a 文档 控件类型 多行
多选 STATE_SYSTEM_EXTSELECTABLE (accState) CanSelectMultiple (选择 控件模式) 多选
拥有 n/a (应反映在可访问的对象树中) n/a (应反映在自动化元素树中) n/a
Posinset n/a (在可访问的对象树结构或 childId 中表示) n/a (在自动化元素树结构中表示) posinset
STATE_SYSTEM_PRESSED ToggleState (切换 控件模式)
readonly STATE_SYSTEM_READONLY IsReadOnly readonly
相关 n/a n/a 相关
必填 n/a IsRequiredForForm 必填
秘密 STATE_SYSTEM_PROTECTED IsPassword 秘密
选择 STATE_SYSTEM_SELECTED IsSelected (SelectionItem 控件模式) 选择
setsize n/a n/a (自动化元素树结构中的子计数) setsize
排序 n/a n/a 排序
tabindex STATE_SYSTEM_FOCUSABLE IsKeyboardFocusable tabindex
valuemax n/a 最大值(RangeValue 控件模式) valuemax
valuemin n/a 最小值(RangeValue 控件模式) valuemin
valuenow IAccessible::get_accValue 值(RangeValue 控件模式) valuenow
valuetext IAccessible::get_accValue
注意:设置 valuenow 和 valuetext ARIA 属性时,accValue 保存 ARIA valuetext 属性中的数据。
值( 控件模式)
注意:指定 valuetext 和 valuenow 时,RangeValue 和 Value 控件模式可与 UI 自动化共存。
valuetext

其他注意事项

UI 自动化还提供了一个简单的文本对象模型,其中包含 文本 控件模式,该模式支持在 Document 对象中嵌入对象。 这使用户代理和客户端应用程序能够根据最终用户方案将 Web 内容视为 HTML 文档或传统桌面 UI。