【问题标题】:AngularJS and 508 standardsAngularJS 和 508 标准
【发布时间】:2014-11-24 19:22:47
【问题描述】:

我正在使用 AngularJS 为 Web 应用程序创建分析。应用程序需要符合 508 标准。

我知道某些用于辅助功能的设备会直接读取 HTML 并在元素中使用 alt 和 longDescr 属性,它们会获取网站的内容。

我看到的问题是,如果您看到页面源(不是生成的源),当使用 Angular 中的某些功能(如 ng-view 和 ng-include)时,插入页面中的模板的内容将不会显示在源码,只在生成的源码中。

我的问题是,动态插入模板是否符合508标准?

一般来说,AngularJS 的功能与 508 标准的兼容性如何?

【问题讨论】:

  • 屏幕阅读器(JAWS、NVDA、VoiceOver 等)等辅助技术适用于实时 DOM,而不是原始源;动态插入模板本身并不是一个障碍;但仍需要确保模板本身是可访问的,并且插入模板的代码使用适当的技术来通知屏幕阅读器:屏幕阅读器通常不会宣布新的内容或更改,除非被告知;因此警报、菜单、对话框、错误消息和有时字段更新需要特殊处理。我不熟悉 angular 在这里做什么(如果有的话)。
  • 感谢您的回答。关于读取实时 DOM 的辅助技术部分是我问题的主要部分。我可以补充一点,至少对于 HTML 中的部分语法,如果将“data-”添加到“ng-*”并将 {{data}} 更改为 data-ng-bind,Angular 可以符合 508 标准。但是,正如您所说,我仍然需要知道 Angular 进行的 DOM 更新是否可以被那些辅助技术检测到。
  • 可以检测到更改,但默认情况下通常会被忽略,因此更大的问题是从用户的角度来看,该 UI 的期望行为是什么;对于某些 UI,可能适合立即读出,而对于另一些,可能适合保持原样,直到用户导航到那里 - 读出每个更改可能会过于嘈杂!查看属于 WAI-ARIA 的 aria-live 属性;这可用于向 AT 发出信号,告知其应在其内容更改时读取特定标签。

标签: javascript angularjs accessibility section508 ng-view


【解决方案1】:

Angular.js can be used accessibly 在实践中,虽然它确实需要一些工作。

但是,当前形式的第 508 节仍引用 WCAG 1.0,但存在一些细微差别。

对脚本编写都不是很友好,1194.22(第一部分)的section 508 text是:

当页面使用脚本语言来显示内容或创建界面元素时,脚本提供的信息应使用辅助技术可以读取的功能文本来标识。

Angular 不太实用。

第 508 节将在某个阶段更新为使用 WCAG 2(它指定基于 JavaScript 的接口应该是可访问的),它已经工作多年,但截至 2014 年 12 月 the "rulemaking" has not completed yet

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 2017-09-28
  • 2014-02-27
  • 1970-01-01
  • 2015-03-20
相关资源
最近更新 更多