Angular 2 和 4 中的 ARIA 辅助功能

ARIA Accessibility in Angular 2 and 4

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

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

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

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

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

我们先参考AngularJs的知识库:

Using ngAria is as simple as requiring the ngAria module in your application. ngAria hooks into standard AngularJS directives and quietly injects accessibility support into your application at runtime.

由于 Angular 2 已尝试为 ARIA 提供内置支持,因此不需要此类等效模块,也没有我所知道的补充模块。

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

Angular 的辅助功能用例至少包括:(引自 Marcy Sutton

  • 为自定义处理 aria-disabled、aria-required 和 aria-checked 控制
  • 使用 ngModel 处理自定义控件上的 aria-* 值属性
  • 阻止非语义 div 元素上的点击事件(可以完成 通过文档)
  • 替代文本:表单控件的标签,图像的替代

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

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

的元素