“是不是上帝在我眼前遮住了帘,忘了掀开。”
--《你是我的眼》,萧煌奇
互联网和移动化的兴起,在给人们带来方便的同时,也在改变着大家的生活方式。《中国互联网发展状况统计报告》显示,截止2015年12月,中国网民规模达6.88亿,互联网普及率为50.3%;而手机网民规模达6.2亿,占比提升至90.1%。简而言之:中国有一半以上的人在使用互联网,而这一半人中,又有九成的人在使用移动互联网。
为什么互联网和移动应用需要具备可访问性?
根据国家统计局统计数据显示,中国各类残疾人总数已达8500万,而视力残疾人数占总人口的千分之九,大概是1400万。当我们在享受互联网带来的便利时,有没有想过残障人士是否也能享受这一切呢?

其实这个问题,万维网联盟(W3C)早已经考虑到,并制定了WCAG(Web Content Accessibility Guideline)标准。WCAG标准涵盖范围广泛,涉及了一些建议原则,这些建议原则可使网站和移动应用内容更容易访问。而遵循这些原则,web内容会更易为广大残疾人士所接受,这些包括盲人和低视患者、聋人和重听人、学习障碍、认知障碍、行动不便、言语残疾、光过敏患者和这些病症的复合患者。遵循这些原则也可让普通用户更容易访问相关的网站。如果大家有兴趣,可通过搜索引擎搜索“WCAG”关键字进行了解。
如何快速实现应用的可访问性?
当然我们今天讨论的不是WCAG标准本身,而是如何遵循WCAG标准的问题。如果作为web或混合式移动应用的开发者,如何才能迅速使自己所开发的网站或者App支持WCAG呢?这是我们需要思考的一个问题。基于这个问题,今天的主角登场:Oracle JET,一套充满爱的JS开发框架,帮助残障人士无障碍访问互联网和移动应用的开发框架。
Oracle JET开发框架内置可访问性的支持,遵循WCAG2.0 标准的AA级别。这个特性可以使JET开发的应用适用于有残疾的人,例如低视力或失明、耳聋及其他残障局限。
例如,使用JET开发的应用可以:
无鼠标操作(只通过键盘)
使用辅助技术,如屏幕阅读器和屏幕放大器
应用功能不依赖声音、颜色及动画等
而Oracle JET开发框架提供的支持如下:
键盘和触摸导航
Oracle JET框架遵从WAI-ARIA(Web AccessibilityInitiative - Accessible Rich Internet Applications) authoring practices。
缩放
Oracle JET所开发的页面支持浏览器最大缩放到200%。
屏幕朗读
Oracle JET支持JAWS(Job Access With Speech,世界上应用最广泛的屏幕朗读软件)、Apple VoiceOver和GoogleTalkback等,不需要任何特殊设置。
高对比度
Oracle JET提供了Alta Theme(一个特殊主题),可以实现至少4.5:1的对比度。
使用Oracle JET设计和开发的内容符合WCAG 2.0 AA的标准,在多数情况下,不用调整代码即可实现可访问性。而对于个别特殊组件,只需通过标签的方式增加属性就能实现可访问性。
如何通过Oracle JET创建具备可访问性的页面?
1) 配置WAI-ARIA Landmarks
Oracle JET推荐使用WAI-ARIA Landmarks来确保页面的可访问性,并在JET的QuickStart中提供了丰富的例子可以供开发者参考。
在下面的例子中,体现了如何配置和使用WAI-ARIA Landmarks,页面分区和WAI-ARIA Landmarks分区兼容,包括banner、navigation等等。
页面运行时如下图:

下图中粗体的代码显示了如何使用landmarks,每个landmark都在HTML元素中进行定义,如header中定义为landmark的banner区域。


2) 配置高对比度模式
高对比度模式是为需要极高对比度以分辨界面控件的人而存在的。Windows和MacOS系统都提供了高对比度模式。
下图展现了Oracle JET在高对比度模式下图标和页面的样式:

Oracle JET提供了一个class叫“.oj-hicontrast”,可以用于配置高对比度模式,只需简单的引用即可实现。
3) 隐藏的屏幕朗读内容
有时候有一些内容,希望被屏幕朗读器朗读出来,但是并不希望被视力健全者看见,这时可以使用Oracle JET提供的class“.oj-helper-hidden-accessible”来实现。
可以在Oracle JET提供的默认css文件中找到“.oj-helper-hidden-accessible”的定义,如主题“Altatheme”,css文件是:css/libs/oj/vxxx/alta/oj-alta.css。引用这些Oracle实现定义好的css文件,就可以快速实现“隐藏的屏幕朗读内容”。
大家可以看到,使用Oracle JET开发框架可以快速开发出符合WCAG 2.0标准的页面和移动应用,在简化了开发过程的同时,也增加了应用的可访问性,造福了许许多多的残障人士。
最后,愿web和移动开发者能通过JET,掀开“上帝遮住的帘”。
了解更多,敬请关注甲骨文开发者社区......





