图形无障碍 API 映射

W3C 推荐标准

此版本:
https://www.w3.org/TR/2018/REC-graphics-aam-1.0-20181002/
最新发布版本:
https://www.w3.org/TR/graphics-aam-1.0/
最新编辑草案:
https://w3c.github.io/graphics-aam/
实现报告:
https://w3c.github.io/test-results/graphics-aam/
先前版本:
https://www.w3.org/TR/2018/PR-graphics-aam-1.0-20180626/
编辑:
(Igalia, S.L.)
(W3C)
前编辑:
(IBM Corporation)(至 2016年9月)
(Knowbility)(至 2017年8月)
作者:
(IBM Corporation)
(Knowbility)
(W3C)

请查看 勘误表 了解发布以来报告的任何错误或问题。

另请参见 译文


摘要

图形无障碍 API 映射定义了 用户代理如何将 WAI-ARIA 图形模块 [GRAPHICS-ARIA-1.0] 标记映射到平台无障碍 API。它面向负责其用户代理中无障碍功能的用户代理开发者, 以便他们能够支持图形的无障碍性,例如为 [SVG] 或 [HTML52] 创建的图形。

用户代理对本规范的实现,使作者能够通过向辅助技术传达通用图形语义来生成更无障碍的图形。 它为 WAI-ARIA 图形模块 [GRAPHICS-ARIA-1.0] 中定义的角色提供无障碍 API 映射指导。

图形无障碍 API 映射是 WAI-ARIA 概述中描述的 WAI-ARIA 套件的一部分。

本文档状态

本节描述本文档在发布时的状态。其他文档可能会取代本文档。当前 W3C 出版物的列表以及本技术报告的最新修订版可在 W3C 技术报告 索引 https://www.w3.org/TR/ 中找到。

这是由 无障碍富互联网应用工作组制定的 Graphics-AAM 1.0 W3C 推荐标准。该工作组创建了 Graphics-ARIA 1.0 实现 报告,以证明本规范是可实现的。附录中提供了 Graphics-AAM 1.0 的变更历史

若要评论,请W3C graphics-aam GitHub 仓库中提交 issue。如果这不可行,请发送电子邮件至 public-aria@w3.org评论存档)。对 Graphics-AAM 1.0 推荐标准收到的评论不能导致本版本规范发生更改,但可能会在勘误或 Graphics-ARIA 的未来版本中处理。工作组可能不会对评论作出正式回应,但工作组未来开展的工作可能会处理针对本文档收到的评论。 文档的进行中更新可在公开可见的编辑草案中查看。

本文档由无障碍富互联网应用工作组作为推荐标准发布。

欢迎对本文档提出评论。 请将评论发送至 public-aria@w3.org存档)。

请参见工作组的实现 报告

本文档已由 W3C 成员、软件开发者以及其他 W3C 小组和相关方审阅,并由 Director 认可为 W3C 推荐标准。 它是一份稳定文档,可以用作参考资料,或被其他 文档引用。W3C 制定该推荐标准的作用是引起人们对该 规范的关注,并促进其广泛部署。这增强了 Web 的功能性 和互操作性。

本文档由 一个依据 W3C 专利政策运行的 小组制定。 W3C 维护一份与该小组交付成果有关的任何专利 披露的公开列表; 该页面还包括 披露专利的说明。实际知晓某项专利且认为该专利包含 必要 权利要求的个人,必须根据 W3C 专利政策 第 6 节披露该信息。

本文档受 2018年2月1日 W3C 流程文档管辖。

1. 引言

本节为非规范性内容。

图形无障碍 API 映射规范 为 WAI-ARIA 图形模块 [GRAPHICS-ARIA-1.0] 中的角色提供角色映射。

对于 Web 文档和应用, 基本语义信息封装在 文档对象模型(DOM)中。 辅助技术从用户代理获取这些信息, 用户代理将元素和属性 映射到平台无障碍 API

WAI-ARIA 1.0 定义的原始元素语义套件 仅将图形视为单个嵌入图像, 没有交互性或有意义的语义结构。 因此,它不足以传达复杂图形, 例如带标签的图示或数据图表, 也不足以传达交互式图形。 WAI-ARIA 图形模块定义了一组 三个核心角色, 可用于传达图形结构。 本规范定义了用户 代理应如何将这些角色公开给 当前使用的无障碍 API, 以便语义信息可供使用这些 API辅助技术使用。

关于 WAI-ARIA 的介绍, 请参见 WAI-ARIA 概述。 它是一组定义和支持 WAI-ARIA 规范的资源的一部分, 包括以下文档:

2. 一致性

本规范的主要内容是规范性的,并定义了影响一致性声明的要求。引言性 材料、附录、标记为“非规范性”的章节及其子章节、图示、示例和 注释均为资料性 (非规范性)内容。非规范性材料提供建议性信息,以帮助解释指南,但 不创建影响一致性声明的要求。

规范性章节提供用户代理必须遵循的要求,以使实现符合本规范。 本文档中的关键词 MUSTMUST NOTREQUIREDSHALLSHALL NOTSHOULDRECOMMENDEDMAYOPTIONAL 应按 用于 RFC 中表示要求 级别的关键词 [RFC2119] 中的说明解释。RFC-2119 关键词以大写形式格式化,并包含在具有 class="rfc2119" 的元素中。当 使用上述关键词但不共享此格式时,它们不传达 RFC 2119 意义上的正式信息, 仅为解释性内容,即资料性内容。在本规范中尽可能避免此类用法。

规范性章节提供作者、用户代理和辅助技术 MUST 遵循的要求,以使实现符合本规范。

非规范性(资料性)章节提供有助于理解本规范的信息。此类 章节可能包含推荐实践示例,但为了符合本规范,并不要求遵循这些建议。

3. 重要术语

虽然某些术语在使用处定义,但以下定义在本文档中通用。

无障碍 API

操作系统和其他平台提供一组接口,用于向对象事件暴露信息,以供辅助技术使用。辅助技术 使用这些接口获取这些控件的信息并与其交互。无障碍 API 的示例包括 Microsoft Active Accessibility [MSAA]、Microsoft User Interface Automation [UI-AUTOMATION]、带有 UIA Express [UIA-EXPRESS] 的 MSAAMac OS X Accessibility Protocol [AXAPI]、Linux/Unix Accessibility Toolkit [ATK] 和 Assistive Technology Service Provider Interface [AT-SPI],以及 IAccessible2 [IAccessible2]。

辅助技术

满足以下条件的硬件和/或软件:

  • 依赖用户代理提供的服务来检索和呈现 Web 内容
  • 通过使用 API 与用户代理或 Web 内容本身协作,并且
  • 提供超出用户代理所提供服务之外的服务,以便残障人士与 Web 内容交互

此定义可能不同于其他文档中使用的定义。

在本文档语境中重要的辅助技术示例 包括以下内容:

  • 屏幕放大器,用于放大并提高所呈现 文本和图像的视觉可读性;
  • 屏幕阅读器,通常用于通过合成语音 或可刷新盲文显示器传达信息;
  • 文本转语音软件,用于将文本转换为合成语音;
  • 语音识别软件,用于允许语音控制和听写;
  • 替代输入技术(包括头控指针、屏幕键盘、单开关 和吸吹设备),用于模拟键盘;
  • 替代指针设备,用于模拟鼠标指向和点击。
属性

在本规范中,attribute 的用法与其在标记语言中的用法相同。属性是添加到元素上的结构性 特征,用于提供有关该元素所表示对象状态属性的信息。

一组共享相似特征的实例对象

元素

在本规范中,element 的用法与其在标记语言中的用法相同。元素是标记语言中的结构性 元素,包含对象的数据配置。

事件

一种程序性消息,用于向计算系统中的其他对象传达状态的离散变化。用户对网页的输入通常通过 抽象事件来调解,这些事件描述交互,并可通知文档对象状态的变化。 在某些编程语言中,事件更常被称为通知。

资料性

出于信息目的提供且非一致性所要求的内容。一致性所要求的内容称为规范性内容。

规范性

一致性所要求的。相比之下,标识为资料性或“非规范性”的内容并非一致性所要求的。

对象

在用户界面的语境中,指感知用户体验中的一项,在 标记语言中由一个或多个元素表示,并由用户代理呈现。

在编程语境中,指一个或多个定义相似对象一般特征的和接口的实例化。无障碍 API 中的对象可以表示一个或多个 DOM 对象。无障碍 API 定义的接口不同于 DOM 接口。
性质

对给定对象的本质不可或缺,或表示与对象关联的数据值的属性。性质的变化可能会显著影响对象的 含义或呈现。某些性质(例如 aria-multiline)相比状态不太可能变化, 但请注意,变化频率差异不是规则。少数性质,例如 aria-activedescendantaria-valuenowaria-valuetext 预计会经常变化。请参见 状态与性质的 澄清

角色

类型的主要指示符。 这种语义关联允许工具以符合用户对该类型其他对象期望的方式 呈现并支持与对象的交互。

语义

某事物被人类理解的含义,以计算机可以处理对象表示的方式定义,例如元素属性,并可靠地表示该对象,使不同的人能够对该对象形成相互一致的理解。

状态

状态是一种动态性质,表达对象在响应用户操作或自动 过程时可能变化的特征。状态不影响对象的本质,但表示与对象或用户交互可能性 相关的数据。请参见状态与性质的 澄清

用户代理

任何检索、呈现 Web 内容并促进最终用户与 Web 内容交互的软件。此 定义可能不同于其他文档中使用的定义。

控件

用户可以与之交互的离散用户界面对象。 控件范围从具有单个值或操作的简单对象(例如复选框 和菜单项),到包含许多受管理子对象的复杂对象(例如树 和网格)。

4. WAI-ARIA 映射到无障碍 API

4.1 公开 WAI-ARIA 语义的一般规则

本节 MUST 符合 [CORE-AAM-1.1] 中公开 WAI-ARIA 语义的一般规则

5. 原生标记语义与 WAI-ARIA 之间的冲突

用户代理 MUST 符合 [CORE-AAM-1.1] 中原生标记语义与 WAI-ARIA 之间的冲突

6. 公开不直接映射到无障碍 API 性质的属性

用户代理 MUST 符合 [CORE-AAM-1.1] 中公开不直接映射到无障碍 API 性质的属性

7. 角色映射

平台无障碍 API传统上具有有限的一组预定义角色, 这些角色是该平台上的辅助 技术所期望的,并且可能只公开一个或两个角色。相比之下,WAI-ARIA 允许将多个角色指定为空格分隔的有效角色令牌的有序集合。 额外角色是回退角色,类似于在首选字体类型不受支持时指定多个字体的概念。

7.1 一般规则

用户代理 MUST 符合 [CORE-AAM-1.1] 中角色 映射一般规则的无障碍 API 计算要求。

7.2 角色映射表

本节定义了图形中的角色如何基于其原生宿主语言语义,以及在应用 WAI-ARIA 角色时映射到平台无障碍 API。 本节直接引用核心无障碍 API 映射规范。

描述 WAI-ARIA 角色到无障碍 API 的映射的表。
WAI-ARIA 角色 MSAA + IAccessible2 角色 + 其他 IAccessible2 特性 UIA 控件类型 + 其他特性 ATK/AT-SPI 角色 AXAPI
graphics-document

ROLE_SYSTEM_DOCUMENT + STATE_SYSTEM_READONLY

IAccessible2:对象属性 xml-roles:graphics-document

控件类型:'Document'

公开 ROLE_DOCUMENT_FRAME 和对象属性 xml-roles:graphics-document

AXRole:AXGroup
AXSubrole:AXDocument
AXRoleDescription:'document'
graphics-object ROLE_SYSTEM_GROUPING +

IAccessible2:对象属性 xml-roles:graphics-object

控件类型:'Group'

公开 ROLE_PANEL 和对象属性 xml-roles:graphics-object

AXRole:AXGroup
AXSubrole:<nil>
AXRoleDescription:'group'
graphics-symbol ROLE_SYSTEM_GRAPHIC

IAccessible2:对象属性 xml-roles:graphics-symbol

控件类型:'Image'

公开 ROLE_IMAGE 和对象属性 xml-roles:graphics-symbol

AXRole:AXImage
AXSubrole:<nil>
AXRoleDescription:'image'

A. 变更日志

完整的图形无障碍 API 映射 1.0 提交历史可用。

A.1 首个公开工作草案以来的实质性变更

B. 致谢

本节为非规范性内容。

以下人员为本文档的开发作出了贡献。

B.1 发布时活跃于 SVG 无障碍任务组的参与者

B.2 发布时活跃于 ARIA WG 的参与者

B.3 支持资助方

本出版物部分由美国教育部、国家残疾、独立生活与康复研究所(NIDILRR)的美国联邦资金资助, 最初合同编号为 ED-OSE-10-C-0067,目前合同编号为 HHSP23301500054C。本出版物的内容 不一定反映美国教育部的观点或政策,提及商号、商业产品或组织也不意味着 美国政府的认可。

C. 参考文献

C.1 规范性参考文献

[CORE-AAM-1.1]
核心无障碍 API 映射 1.1。 Joanmarie Diggs; Joseph Scheuhammer; Richard Schwerdtfeger; Michael Cooper; Andi Snow-Weaver; Aaron Leventhal. W3C. 2017年12月14日. W3C Recommendation. URL: https://www.w3.org/TR/core-aam-1.1/
[GRAPHICS-ARIA-1.0]
WAI-ARIA 图形模块. Amelia Bellamy-Royds; Joanmarie Diggs; Michael Cooper. W3C. 2018年6月26日. W3C Proposed Recommendation. URL: https://www.w3.org/TR/graphics-aria-1.0/
[RFC2119]
用于 RFC 中表示 要求级别的关键词. S. Bradner. IETF. 1997年3月. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119

C.2 资料性参考文献

[ACCNAME-AAM-1.1]
无障碍名称和描述:计算 与 API 映射 1.1. Joseph Scheuhammer; James Craig; Andi Snow-Weaver; Aaron Leventhal. W3C. 2016年3月17日. W3C Working Draft. URL: https://www.w3.org/TR/accname-aam-1.1/
[AT-SPI]
辅助技术服务提供方 接口. The GNOME Project. URL: https://developer.gnome.org/libatspi/stable/
[ATK]
ATK - 无障碍工具包. The GNOME Project. URL: https://developer.gnome.org/atk/stable/
[AXAPI]
macOS 的 NSAccessibility Protocol. Apple, Inc. URL: https://developer.apple.com/documentation/appkit/nsaccessibility
[HTML52]
HTML 5.2. Steve Faulkner; Arron Eicholz; Travis Leithead; Alex Danilo; Sangwhan Moon. W3C. 2017年12月14日. W3C Recommendation. URL: https://www.w3.org/TR/html52/
[IAccessible2]
IAccessible2. Linux Foundation. URL: https://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2
[MSAA]
Microsoft Active Accessibility (MSAA) 2.0. Microsoft Corporation. URL: https://msdn.microsoft.com/en-us/library/ms697707.aspx
[SVG]
可缩放矢量图形(SVG)1.0 规范. Jon Ferraiolo. W3C. 2001年9月4日. W3C Recommendation. URL: https://www.w3.org/TR/SVG/
[SVG-AAM-1.0]
SVG 无障碍 API 映射. Amelia Bellamy-Royds; Ian Pouncey. W3C. 2018年5月10日. W3C Working Draft. URL: https://www.w3.org/TR/svg-aam-1.0/
[UI-AUTOMATION]
UI Automation. Microsoft Corporation. URL: https://msdn.microsoft.com/en-us/library/ee684009%28v=vs.85%29.aspx
[UIA-EXPRESS]
The IAccessibleEx Interface. Microsoft Corporation. URL: https://msdn.microsoft.com/en-us/library/windows/desktop/dd561898%28v=vs.85%29.aspx
[WAI-ARIA-1.0]
无障碍富互联网应用(WAI-ARIA) 1.0. James Craig; Michael Cooper et al. W3C. 2014年3月20日. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria/
[WAI-ARIA-1.1]
无障碍富互联网应用(WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 2017年12月14日. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria-1.1/
[WAI-ARIA-PRACTICES-1.1]
WAI-ARIA 创作实践 1.1. Matthew King; James Nurthen; Zoë Bijl; Michael Cooper; Joseph Scheuhammer; Lisa Pappas; Richard Schwerdtfeger. W3C. 2018年7月26日. W3C Note. URL: https://www.w3.org/TR/wai-aria-practices-1.1/
[WCAG21]
Web 内容无障碍指南(WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 2018年6月5日. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/