广泛部署的技术

越来越多的移动设备依赖于触控。尽管在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映射,这些映射目前只在桌面平台上才可使用。

特性规范 / 小组成熟度现有实现
选择浏览器…
基于触控的交互触摸事件 (Touch Events)
Web Events Working Group
REC
振动振动 API (Vibration API (Second Edition))
设备与传感器工作组 (Device and Sensors Working Group)
REC
通知Web 通知 (Web Notifications)
Web Notification Working Group
REC
信息无障碍用户代理无障碍指南(UAAG)2.0 (User Agent Accessibility Guidelines (UAAG) 2.0)
User Agent Accessibility Guidelines Working Group
NOTE

UAAG 2.0 参考 (UAAG 2.0 Reference: Explanations, Examples, and Resources for User Agent Accessibility Guidelines 2.0)
User Agent Accessibility Guidelines Working Group
NOTE

Web 内容可访问性指南(WCAG)2.1 (Web Content Accessibility Guidelines (WCAG) 2.1)
Accessibility Guidelines Working Group
PR

编辑工具可访问性指南(ATAG)2.0 (Authoring Tool Accessibility Guidelines (ATAG) 2.0)
Authoring Tool Accessibility Guidelines Working Group
REC

移动无障碍性:WCAG 2.0和其他 W3C 无障碍计划如何应用到移动设备 (Mobile Accessibility: How WCAG 2.0 and Other W3C/WAI Guidelines Apply to Mobile)
Accessibility Guidelines Working Group
User Agent Accessibility Guidelines Working Group
WD

可访问富互联应用 1.1 (Accessible Rich Internet Applications (WAI-ARIA) 1.1)
Accessible Rich Internet Applications Working Group
REC
核心可访问API映射 1.1 (Core Accessibility API Mappings 1.1)
Accessible Rich Internet Applications Working Group
REC

开发中的技术

指针事件工作组在处理用户输入的替代方法上取得了很好的进展。指针事件允许统一处理鼠标、触摸和笔事件。它为当前更广泛部署的触摸事件提供了一种补充和更统一的方法。

特别是,CSS 的 touch-action 属性使元素上的过滤器手势事件在实现指针事件之外进一步发展。

输入设备能力API的早期方案提供来自支持触摸设备的给定“鼠标“事件的信息。

随着越来越多的内容被呈现为很长的可滚动列表,越来越多的逻辑被附加到滚动事件上,而且这些动作的用户体验的质量高度依赖于它们的性能。CSSOM 视图模块确定滚动事件何时被触发,并让开发者指定他们想要的滚动行为的类型。

CSS 滚动捕捉点的提议通过定义当用户移动页面时应用视图捕捉的点,大大增加了控制平移和滚动行为的能力。

CSS 的 will-change 属性也可以向浏览器指示将会很快被滚动到的部分并指示这部分应该被预渲染。

推送API使服务器端的通知可以提醒用户,即使是在浏览器没有运行的情况下。

不论用户使用语音向它们的应用设备下达命令还是通过非触觉交互来处理这些命令,他们都面临着由于屏幕保护程序导致的屏幕自动关闭的风险。唤醒锁 API 让开发者在这种情况下保持屏幕不锁定。

特性规范 / 小组成熟度现有实现
选择浏览器…
基于触控的交互指针事件 (Pointer Events)
Pointer Events Working Group
WD
指针事件中的touch-action (touch-action in Pointer Events)
Pointer Events Working Group
WD
输入设备能力 (Input Device Capabilities)
Web 平台孵化社区组 (Web Platform Incubator Community Group)
LS

平滑滚动CSSOM视图模块 (CSSOM View Module)
CSS 工作组 (CSS Working Group)
WD

CSS 滚动捕捉点第一版 (CSS Scroll Snap Module Level 1)
CSS 工作组 (CSS Working Group)
CR
CSS Will Change Module Level 1
CSS 工作组 (CSS Working Group)
CR
通知推送 API (Push API)
Web 平台工作组 (Web Platform Working Group)
WD
屏幕唤醒唤醒锁 API (Wake Lock API)
设备与传感器工作组 (Device and Sensors Working Group)
CR

探索性工作

移动设备,特别是手机,在很多情况下也非常适合语音交互;语音 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)

已有实验性实现:
在 Chrome(桌面, 移动)中已有实验性实现。 特性需要使用浏览器引擎前缀。 来源:Chrome Platform Status在 Firefox(桌面)中已有实验性实现。 特性需要开启浏览器实验性功能。 来源:Can I use在 百度浏览器(移动)中已有实验性实现。 特性需要使用浏览器引擎前缀。 来源:Can I use在 Opera(桌面)中已有实验性实现。 特性需要使用浏览器引擎前缀。 来源:Can I use在 QQ浏览器(移动)中已有实验性实现。 特性需要使用浏览器引擎前缀。 来源:Can I use在 三星浏览器(移动)中已有实验性实现。 特性需要使用浏览器引擎前缀。 来源:Can I use

考虑实现:
在 Microsoft Edge(桌面)中考虑实现。 来源:Microsoft Edge Platform Status

输入法输入法 API (Input Method Editor API)
Web 平台工作组 (Web Platform Working Group)

不再进行的工作

基于意图的事件
随着 Web 来到新的设备上,并且设备获得新的用户交互机制,允许 Web 开发者对更抽象的用户交互集合作出响应似乎是有用的,而不是将工作集中在“点击”、“按键”或“触摸事件“,能够按照用户如何下达给设备的“撤消“或“下一页”命令单独作出响应。IndieUI Events 规范就是为了解决这个需求。由于缺乏实现,目前这项工作已经停止。