ARIA Angular 2和4中的可访问性

时间:2017-09-12 00:57:43

标签: angular accessibility wai-aria

当我遇到angular-aria模块时,我手动将ARIA属性包含在我的组件模板中:https://docs.angularjs.org/api/ngAria

但是,这适用于AngularJS。 Angular 2和4是否有任何等效模块在运行时静默地在组件上注入aria属性?

我看过这个问题:How do I include ngAria in and Angular 2 application?但它似乎没有答案。

1 个答案:

答案 0 :(得分:4)

你的问题有一个简短的答案和一个很长的答案,让我们看看那些是什么?

Angular 2和4是否有等效模块 默默在运行时在组件上注入aria属性?

让我们首先参考AngularJs的KB:

  

使用ngAria就像在你的需要中使用ngAria模块一样简单   应用。 ngAria挂钩到标准的AngularJS指令和   悄悄地为您的应用程序注入可访问性支持   运行时。

由于Angular 2试图内置对ARIA的支持,因此不需要这样的等效模块,也没有我所知道的补充模块。

所以,是的,它是隐含支持的,不,没有这样的模块(必需)。

Angular的可访问性用例至少包括:(引自Marcy Sutton

  • 处理咏叹调禁用,咏叹调要求和咏叹调检查的习惯 对照
  • 使用ngModel处理自定义控件上的aria- *值属性
  • 阻止非语义div元素上的点击事件(可以完成 通过文件)
  • 文本替代方案:表单控件的标签,图像的alt

您可以通过检查Angular模板的渲染输出来简单地研究上述内容。

最后注意:无论如何,应该考虑仍然需要手动遵守ARIA使用规则,这与使用角度(JS或2+)的版本无关;例如,避免将点击事件分配给非语义元素,或者将赋予标签嵌入到不是labelable的元素中。