创建可访问的 Oracle JET 应用程序
注:此学习路径有一个先决条件,即在 Oracle JavaScript Extension Toolkit (Oracle JET) 中开发 Web 应用程序,这应在开始本课程之前完成。
辅助功能介绍
现在,您对如何使用 Oracle JET 开发 Web 应用程序有了基本的了解,现在是时候满足近 10% 到 20% 的目标受众(即残疾受众)的专业需求了。根据 2014 年世界卫生组织发表的一篇文章,全球大约 15% 的人口患有某种形式的残疾,这一数字随着人口老龄化而增长。
历史
现代无障碍的概念起源于 1960s 后期,它是大学校园和当地社区的基层运动,旨在解决寻求实际进入公共建筑的残疾人的权利。该通道包括公共人行道,入口,自动门和电梯到公共,政府和大学建筑的盲文标签。
平等访问法规
今天,“访问”既包括对结构的物理访问,也包括对当前 PC,笔记本电脑,平板电脑,智能手机和语音控制设备(如 Amazon Alexa)的技术环境的访问。平等获取立法继续处理实际获取和我们所依赖的技术等问题。
软件可访问性是全球许多国家的民法规定的。例如:
- 美国《美国残疾人法案》
- 《安大略省残疾人无障碍法案》,加拿大
- 2010 年《平等法》在英国
访问挑战 - 障碍类型
作为 Web 应用程序设计师和开发人员,我们需要意识到,残疾客户在访问技术时面临障碍。考虑以下事项:
- 由于流动性受损(先天性缺陷,Lou Gehrig 病,帕金森病,类风湿性关节炎,受伤或与衰老相关的赤字),用户无法操纵小鼠。此类用户如何激活与之关联的点击事件文本?
- 用户在视觉上受损,无法看到使用页面或表单的说明遵循内容。用户如何知道要阅读整个页面以查找说明?
- 用户的视力低,并且使用屏幕放大器,该放大器一次只聚焦和放大屏幕的一小部分。考虑到放大器的局限性,用户如何知道消息是否会在屏幕上的其他位置弹出?
- 用户是色盲的,无法区分某些颜色。用户如何知道页面文本中引用的红色、蓝色或绿色按钮是什么?
这些只是开发人员在制作可访问的 Web 应用程序时需要解决的几个问题。此学习路径为编码和测试可访问性提供了明确的方法,以符合 Web 内容可访问性准则 (Web Content Accessibility Guidelines,WCAG) 版本 2.2 设定的最新标准。
审慎地仔细研究上述准则,因为这些准则构成了我们无障碍环境工作的基础。
Web 内容可访问性准则 (WCAG)
万维网联盟 (W3C) 创建了一套名为 Web 内容可访问性准则 (WCAG) 的标准,该准则为如何使网站和 Web 应用程序可访问提供了非常具体的规则。这些准则构成了此学习路径的基础。
WCAG 标准侧重于 Web 应用程序或网站的四个领域:
-
可感知性:界面是否可以由绝大多数的人感知,无论残疾。
- 颜色对比度,适用于低视力患者
- 简单的布局,适用于那些有认知缺陷的人
-
可操作性:无论残疾如何,个人都可以与界面交互吗?
- 仅键盘访问:无需使用鼠标即可导航和操作界面
- 仅语音访问:仅通过语音输入操作界面
-
可理解性:界面是否容易被个人理解,无论残疾?
- 内容被写成由有认知障碍的人理解。
- 界面由使用屏幕阅读器的个人理解
-
可靠性:界面是否支持各种用户代理(浏览器、设备和辅助技术)?
如果符合 WCAG 标准,则 Web 应用程序和网站也应通过所有法律要求。
可访问性的成本
应该注意的是,在编写代码时,可访问性永远不应该是事后的想法。虽然开发过程较长,但在开发阶段将可访问性功能写入代码比修改现有应用程序更具成本效益。
开发人员经常抱怨需要满足可以说是小人口的特殊要求。当正确实现时,可访问的代码实际上使每个人都更容易使用应用程序,而不仅仅是残疾人。例如,通过简化界面和选择对比度较高的颜色,移动设备或较旧浏览器上的应用程序更易于使用。
1、2、3 个成功步骤
可访问性始于设计阶段。设计人员将创建程序执行的操作的蓝图。他们应该在整个设计中编织可访问性,以确保该计划包括用于仅键盘访问的有效机制。这种类型的访问允许为那些有限或没有使用他们的手的替代输入设备。
开发人员需要具备如何为可访问性(前端)编写代码的强大工作知识,以及如何测试可访问性(后端)的技术意识。
质量保证 (QA) 工程师需要使用无障碍语言。与开发人员一样,他们需要了解并执行辅助功能测试,同时进行功能和安全的常规测试。QA 专业人员是已发布的软件之间的缓冲区,如果无法满足可访问性准则,则有可能提起诉讼。
通知附注
Oracle JET 向公众开放,可在非 Oracle 应用程序和网站中使用。因此,在编写 Oracle JET 应用程序时必须遵循 WCAG 版本 2.2。
此学习路径主要侧重于适用于键盘访问和屏幕阅读器使用的辅助功能方面。此路径不侧重于设计或构建 Oracle JET 应用程序的认知方面。