【发布时间】:2021-09-19 02:48:24
【问题描述】:
我想知道如何根据 WAI-ARIA 规范使用 ARIA 属性标记我的 Angular 应用程序。假设我有以下模板,
<div id="no-1" *ngIf="some_condition">some text</div>
<div id="no-2" *ngIf=!some_condition">some other text</div>
<button (click)="some_condition = !some_condition">switch</button>
用 ARIA 属性标记这些元素的正确方法是什么?我的理解是 *ngIf 完全从 DOM 中删除了元素,那么在任何一个 div 上都需要 aria-hidden 吗?当 aria-hidden 为真时,这两个元素都不会出现在 DOM 中,因此看起来毫无意义。不过,我不确定它是否有助于屏幕阅读器,所以我想确定一下。
其次,由于两个div根据some_condition的值在DOM中填充相同的位置,它们是否应该具有相同的ID?按钮是否应该有一个引用该 ID 的 aria-controls?如果不是,如何指定div和按钮的关系?
【问题讨论】:
-
如果您关心可访问性,那么您可以从使用正确的按钮类型开始切换开关。你在这里使用了一个提交按钮,它应该是
type="button"