首页 > 解决方案 > Angular 2:如何为正文下的所有元素动态添加html属性(aria-hidden =“true”)?

问题描述

我已经制作了一个自定义的 Modal 实现,并且还希望确保可访问性。所以当一个模态窗口弹出时(模态元素直接添加到文档正文中),正文中的所有其他元素(正文的直接子项)应该具有 aria-hidden = "true"。我怎样才能将它动态添加到所有身体孩子?

标签: angular

解决方案


可能最简单的方法是标记父元素,这反过来也会将所有子元素标记为 aria-hidden。像这样的东西:

<my-modal></my-modal>
<div class="rest-of-content" aria-hidden="true">
 // All of these will be affected by the aria-hidden of the parent element
   <div>
      .....
   </div>
   <div>
   ....
   </div>
</div>

除此之外,没有任何神奇的方法可以将所有其他元素标记为 aria-hidden(据我所知)。您必须自己实现逻辑。


推荐阅读