创新互联Angular教程:Angular无障碍性

Angular 中的无障碍功能

Web 会被各种各样的人使用,包括有视觉或运动障碍的人。有多种辅助技术能使这些人更轻松地和基于 Web 的软件应用进行交互。另外,将应用设计得更易于访问通常也能改善所有用户的体验。

网站是企业的互联网名片,是开展互联网业务基础平台。在目标明确的基础上,创新互联凭借团队丰富的设计经验完成网站的构思创意即总体设计方案,自成立以来,一直致力于为企业提供从域名与空间、网站策划、网站设计、品牌网站设计、电子商务、外贸网站建设、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。

关于如何设计无障碍应用的问题和技术的深入介绍,参阅 Google 网络基础知识的无障碍功能部分。

本页讨论了设计 Angular 应用的最佳实践,这些实践对所有用户(包括依赖辅助技术的用户)都适用。

本页中所讲的范例程序,参阅现场演练 / 下载范例。

无障碍属性(Attribute)

建立无障碍的 Web 体验通常会涉及设置 ARIA 属性(Attribute) 以提供可能会丢失的语义。使用 Attribute 绑定模板语法来控制与无障碍性相关的属性(Attribute)值。

在 Angular 中绑定 ARIA 属性(Attribute)时,必须使用 ​attr.​ 前缀,因为 ARIA 规范针对的是 HTML 属性(Attribute),而不是 DOM 元素的属性(Property)。


注意

此语法仅对于属性(Attribute)
绑定是必需的。静态 ARIA 属性(Attribute)不需要额外的语法。


按照约定,HTML 属性(Attribute)使用小写名称(​tabindex​),而 Property 使用 camelCase 名称(​tabIndex​)。

Angular UI 组件

由 Angular 团队维护的 Angular Material 库是旨在提供完全无障碍的一组可复用 UI 组件。组件开发工具包(CDK)中包括 a11y 软件包,该软件包提供了支持无障碍领域的各种工具。比如:

  • LiveAnnouncer ​用于使用 ​aria-live​ 区域向屏幕阅读器用户朗读消息。关于 aria-live 领域的更多信息,参阅 W3C 文档。
  • cdkTrapFocus ​指令能将 Tab 键焦点捕获在元素内。使用它可为必须限制焦点的模态对话框之类的组件创建无障碍体验。

关于这些工具和其它工具的完整详细信息,参阅 Angular CDK 无障碍功能概述。

增强原生元素

原生 HTML 元素捕获了许多对无障碍性很重要的标准交互模式。在制作 Angular 组件时,应尽可能直接复用这些原生元素,而不是重新实现已获良好支持的行为。

比如,你可以创建一个组件,它使用属性(Attribute)选择器指向原生 ​