广泛部署的技术
越来越多的移动设备依赖于触控。尽管在Web平台中公认的传统交互方式(键盘、鼠标输入)仍然可以在这种情况下应用,但更具针对性地处理触控输入是创建适应性良好的用户体验的关键因素,文档对象模型中的触摸事件可以解决这个问题。
振动 API 让移动开发者利用触觉反馈来创建新的交互形式(例如在游戏中)。
移动设备被用户随身携带,许多移动用户依赖它们去提醒和通知自己事件,如消息。Web通知规范使这种特性在 Web 环境中可用。
用户代理无障碍指南(UAAG)2.0文档包含了用户代理设计接口时与辅助技术交互的原则。支持性文档UAAG 2.0参考介绍了UAAG 2.0的目的和成功标准的最佳实践,并举了很多例子。针对移动设备的举例在UAAG 2.0参考中的移动信息无障碍实例中有总结。
遵从Web内容无障碍指南(WCAG)2.1将使内容能够让更多的残疾人访问。相比2.0版本,2.1版本增加了新的成功标准和指导方针,包括在移动环境中特有的指针手势、目标大小和方向等。
Web开发者可从遵从编辑工具可访问性指南(ATAG)2.0的编辑工具中获益,ATAG提供了改善编辑工具本身的可访问性的指南和帮助编辑工具生成的内容符合WCAG标准的指南。
移动信息无障碍文档解释了将WCAG和其他无障碍指南应用于移动Web应用、原生应用和在原生应用中包含Web应用组件的混合应用的方法。
可访问富互联应用(WAI-ARIA)1.1标准提供了一个角色、状态和属性的本体,这个本体定义了可访问的用户界面元素,并可用于改进Web内容和应用的可访问性和互操作性。核心可访问API映射1.1标准描述了用户代理如何将这些语义映射到无障碍API中。但是,移动平台还没有全面的可访问性API映射,这些映射目前只在桌面平台上才可使用。
开发中的技术
指针事件工作组在处理用户输入的替代方法上取得了很好的进展。指针事件允许统一处理鼠标、触摸和笔事件。它为当前更广泛部署的触摸事件提供了一种补充和更统一的方法。
特别是,CSS 的 touch-action
属性使元素上的过滤器手势事件在实现指针事件之外进一步发展。
输入设备能力API的早期方案提供来自支持触摸设备的给定“鼠标“事件的信息。
随着越来越多的内容被呈现为很长的可滚动列表,越来越多的逻辑被附加到滚动事件上,而且这些动作的用户体验的质量高度依赖于它们的性能。CSSOM 视图模块确定滚动事件何时被触发,并让开发者指定他们想要的滚动行为的类型。
CSS 滚动捕捉点的提议通过定义当用户移动页面时应用视图捕捉的点,大大增加了控制平移和滚动行为的能力。
CSS 的 will-change
属性也可以向浏览器指示将会很快被滚动到的部分并指示这部分应该被预渲染。
推送API使服务器端的通知可以提醒用户,即使是在浏览器没有运行的情况下。
不论用户使用语音向它们的应用设备下达命令还是通过非触觉交互来处理这些命令,他们都面临着由于屏幕保护程序导致的屏幕自动关闭的风险。唤醒锁 API 让开发者在这种情况下保持屏幕不锁定。
探索性工作
移动设备,特别是手机,在很多情况下也非常适合语音交互;语音 API 社区组开发了一个JavaScript API 来支持通过口头命令与网页进行交互。语音合成在浏览器中有很好的支持。对语音识别的支持仍在进行中。
输入法 API 允许脚本通过用户代理访问输入法。该规范目前需要更多的编辑工作。
特性 | 规范 / 小组 | 实现意向选择浏览器… |
---|---|---|
基于语音的交互 | Web 语音 API中的Speech synthesis (Speech synthesis in Web Speech API) 语音 API 社区组 (Speech API Community Group) | |
Web 语音 API中的Speech recognition (Speech recognition in Web Speech API) 语音 API 社区组 (Speech API Community Group) | 已有实验性实现: 考虑实现: | |
输入法 | 输入法 API (Input Method Editor API) Web 平台工作组 (Web Platform Working Group) |
不再进行的工作
- 基于意图的事件
- 随着 Web 来到新的设备上,并且设备获得新的用户交互机制,允许 Web 开发者对更抽象的用户交互集合作出响应似乎是有用的,而不是将工作集中在“点击”、“按键”或“触摸事件“,能够按照用户如何下达给设备的“撤消“或“下一页”命令单独作出响应。IndieUI Events 规范就是为了解决这个需求。由于缺乏实现,目前这项工作已经停止。