HTML5 websocket 对可访问性标准的兼容性如何?

Posted

技术标签:

【中文标题】HTML5 websocket 对可访问性标准的兼容性如何?【英文标题】:How compliant are HTML5 websockets to accessibility standards? 【发布时间】:2012-11-12 16:10:54 【问题描述】:

WCAG 等可访问性标准的主要要求之一是网站或应用程序在不使用 javascript 的情况下显示或提供某种非 JS 替代方案。我做了一些初步研究,但找不到太多关于 websockets 的信息。我是否应该假设 websocket 的处理方式类似于 AJAX?

【问题讨论】:

【参考方案1】:

由于 Websockets 需要 JavaScript 来做任何有用的事情,如果您的标准要求您提供非 JavaScript 替代方案,您将需要提供不使用 Websockets 的非 JavaScript 替代方案。是的,Websockets 就像 AJAX;它们实际上只是一种创建持久的双向连接的方法,而不是 AJAX 提供的一次性请求响应。您应该像对待 AJAX 一样对待它们。

WCAG 1.0 要求您提供 JavaScript 的替代方案,而 WCAG 2.0 则更加技术中立;它不需要替代 JavaScript,而是提供 a set of techniques 以使涉及客户端脚本的网页更易于访问。您应该记住,并非所有用户都启用了 JavaScript。仍然有一些用户更喜欢完全禁用或默认禁用它来浏览。但是今天的无障碍技术能够处理 JavaScript 的某些用途,因此即使没有非 JavaScript 后备,您也可以编写无障碍网站。

【讨论】:

【参考方案2】:

Brian 的回答很好,但我想我会补充一些额外的见解。

这里确实存在两个问题:技术和合规性。

就合规性而言,如果出于某种原因您需要 WCAG 1.0,那么您需要一个非 JS 版本。因为 WCAG 1.0 是这么说的。过去,一些屏幕阅读器用户会禁用 JS,因为它会给屏幕阅读器带来问题,但这是几代前的技术。 recent survey of screenreader users on the web 显示 98.6% 启用了 Javascript。

就技术而言,Javascript 和可访问性的问题实际上与 Javascript 本身无关:可访问性问题与以下事实有关:某些东西(通常是 Javascript)正在通过 DOM 操纵 UI 。可访问性存在问题的是对 UI 的操作;必须注意确保生成的 DOM 是可访问的,并且屏幕阅读器会适当地处理更改 - 例如,使用 ARIA 活动区域来确保屏幕阅读器将在适当的情况下读出新内容,或者键盘焦点不会消失,并且到了意想不到的地方。

根据定义几乎不会改变 UI 的任何 javascript 本身都不会存在可访问性问题:因此 Web 套接字、Web 工作者、本地存储等本身不会存在可访问性问题;重要的是您以后是否以及何时更新 DOM。

【讨论】:

以上是关于HTML5 websocket 对可访问性标准的兼容性如何?的主要内容,如果未能解决你的问题,请参考以下文章

HTML5的webSocket怎么理解

浅谈HTML5 WebSocket的机制

使用 HTML5 WebSocket 构建实时 Web 应用

HTML5 Websockets 服务器要求

WebSocket是基于Socket的吗?为啥我只收到头信息

html5的websocket怎么在服务器端配置php