Salesforce VPAT:管理员须知
如果您在政府、教育或医疗行业工作,迟早会有人向您索要刚安装的 AppExchange 组件的 VPAT。下面说明这份文件是什么,以及该看哪些地方。
VPAT(Voluntary Product Accessibility Template,自愿性产品无障碍模板)是一种标准文件,供应商在其中逐条说明产品在各项无障碍标准下的表现。它不是证书,也没有任何机构会颁发给您。它是一份结构化的自我评估,价值完全取决于填写得是否诚实。
为什么 Salesforce 采购中会遇到它
Salesforce 本身就为其产品发布 VPAT。美国的公共部门采购方受 Section 508 约束,欧洲采购方受 EN 301 549 约束,两项标准都以 WCAG 为基础。只要您的组织受这些规则约束,技术栈中的每一款软件都要承担同样的义务,包括有人为了解决排期问题而安装的那个 AppExchange 软件包。
实际上,这个问题往往出现得很晚:在安全或采购审查期间,而此时组件早已嵌入业务流程。
VPAT 涵盖的三项标准
| 标准 | 谁关心它 | 涵盖内容 |
|---|---|---|
| WCAG 2.1 A 和 AA | 几乎所有人,作为基线 | 另外两项标准所依据的网页内容准则 |
| 修订版 Section 508 | 美国联邦,以及大多数州和地方政府 | 以 WCAG 表述的 Section 508 义务 |
| EN 301 549 | 欧洲公共部门 | 欧盟采购中的对应标准 |
不是专家也能读懂
每条准则都会被标为几种合规级别之一。措辞很重要:
- Supports(支持):该准则在所有地方都得到满足。
- Partially Supports(部分支持):大多数情况下满足,但并非全部。这一项最值得细看。
- Does Not Support(不支持):未满足该准则。
- Not Applicable(不适用):该准则不适用于此产品。
一份每项都写着“支持”的 VPAT,比一份如实标出几项“部分支持”的 VPAT 更值得怀疑。真实的软件总有边缘情况。一份没有任何“部分支持”的文件,通常意味着根本没人真正测试过。
向供应商提的四个问题
- 最后一次验证是什么时候,针对哪个版本?两年前、六个版本之前写的 VPAT,描述的是一款已经不存在的软件。
- 是否在打包后的版本上测试过?未打包的源代码和托管软件包安装后的表现可能不同。真正重要的是您安装的那个版本。
- 自动扫描、人工审查,还是两者都有?自动化工具大约只能发现三分之一的问题。键盘导航和屏幕阅读器流程需要人来检查。
- 颜色是否曾是唯一的提示?这是排期界面中最常见的问题:状态只用一个带颜色的单元格表示,别无其他。
日历尤其难做好
日历是由可交互单元格组成的网格,这使它成为最难实现无障碍的模式之一。要做好,需要真正的 ARIA 网格语义(role="grid"、行、gridcell、列标题),在网格内用方向键导航而不是用 Tab 逐个经过每个单元格,每个单元格都有同时包含日期和状态的可访问名称,并且状态除了颜色之外还通过形状或文字传达。
最后一点对允许管理员配置的产品有直接影响:如果让管理员自行选择状态颜色,就无法保证对比度,而这恰恰应该如实标为“部分支持”,而不是悄悄声称“支持”。