![]() |
沉稳的冰棍 · 什么是SaaS 微交易?优势、劣势和用户· 2 周前 · |
![]() |
沉稳的冰棍 · 用户交互- 移动Web 应用路线图· 2 周前 · |
![]() |
沉稳的冰棍 · 《移动互联网应用程序个人信息保护管理暂行规定 ...· 2 周前 · |
![]() |
沉稳的冰棍 · 与Tableau Mobile ...· 2 周前 · |
![]() |
沉稳的冰棍 · 指标Power Apps 和建议(预览版) ...· 2 周前 · |
越来越多的移动设备依赖于触控。尽管在Web平台中公认的传统交互方式(键盘、鼠标输入)仍然可以在这种情况下应用,但更具针对性地处理触控输入是创建适应性良好的用户体验的关键因素, 文档对象模型中的触摸事件 可以解决这个问题。
指针事件
规范定义了一个鼠标、触摸和笔事件的统一模型。它为触摸事件提供了一种互补且更加统一的方法。指针事件包括允许过滤元素上的手势事件的 CSS 属性
touch-action
,并在浏览器中广泛实现。
振动 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映射,这些映射目前只在桌面平台上才可使用。
游戏手柄 规范定义了一个与连接到设备的游戏手柄(例如通过蓝牙与智能手机配对的游戏手柄设备)交互的底层接口。
随着越来越多的内容被呈现为很长的可滚动列表,越来越多的逻辑被附加到滚动事件上,而且这些动作的用户体验的质量高度依赖于它们的性能。 CSSOM 视图模块 确定滚动事件何时被触发,并让开发者指定他们想要的滚动行为的类型。
CSS 滚动捕捉点 的提议通过定义当用户移动页面时应用视图捕捉的点,大大增加了控制平移和滚动行为的能力。
CSS 的
will-change
属性也可以向浏览器指示将会很快被滚动到的部分并指示这部分应该被预渲染。
推送API 使服务器端的通知可以提醒用户,即使是在浏览器没有运行的情况下。
不论用户使用语音向它们的应用设备下达命令还是通过非触觉交互来处理这些命令,他们都面临着由于屏幕保护程序导致的屏幕自动关闭的风险。 唤醒锁 API 让开发者在这种情况下保持屏幕不锁定。
移动设备,特别是手机,在很多情况下也非常适合语音交互; 语音 API 社区组 开发了一个JavaScript API 来支持通过口头命令与网页进行交互。 语音合成 在浏览器中有很好的支持。对 语音识别 的支持仍在进行中。
输入法 API 允许脚本通过用户代理访问输入法。该规范目前需要更多的编辑工作。
输入设备能力API 提供了“鼠标”事件是否来自触摸设备的信息。
游戏手柄有各种各样的类型,从一般的游戏机手柄到如吉他、踏板、跳舞毯、魔术棒、VR/AR控制器等定制设备,这些设备中的每一种都有自己的输入和输出方式,需要映射到操作系统的原生API,以便 Web 应用使用他们。 WebHID 提议将大多数设备使用的 HID 协议暴露给 Web 应用,使他们在浏览器缺乏支持时通过基于 JavaScript 的逻辑实现。展望未来,该提案还可以简化智能手机与各种有形用户界面之间的集成。
除了 Web通知 以外, 标记 API 定义了另一种通知机制,允许已经安装在设备上的 Web 应用(例如通过清单文件)设置一个标记,通常显示在主屏幕上应用程序的图标旁边,在应用程序的状态发生变化时通知用户可能需要注意的信息(如新消息)。
需要运行长任务的应用(例如在加载页面时)需要在快速加载页面(或减少任务执行时间)与快速响应输入之间进行权衡。
输入事件的早期检测
规范提出了
isInputPending
方法,长时间运行的脚本可以同步调用,而不会浪费时间在其他脚本和事件处理上,以检测是否有未处理的输入事件,这些事件的执行可能会延迟触发。
目前,所有的 DOM 事件都需要通过主线程,因为主线程是唯一可以访问 DOM 元素的线程。
Input for Workers and Worklets
规范为 worker 提供了一个没有 DOM 访问权限的 event delegation scheme。这种机制将启用对延迟敏感的事件逻辑,该逻辑将不被主线程阻止。这个特性的用例包括在
OffscreenCanvas
上绘制、需要将输入事件转发到服务器以最小延迟进行处理的云场景(如云游戏)、与
CSS Animation Worklet
结合的交互式动画(其中动画由用户输入驱动)和与
AudioWorklet
结合使用的交互式音频。
如果您知道使用 Web 技术无法实现的用例,请让我们知道!
为此,您可以在 W3C 的 discourse 论坛 中开一个新的主题, 或者 在本文档的 GitHub 库中发一个新 issue 。 GitHub Discourse