📜  “aria-labelledby”和“aria-hidden”这些属性是什么?(1)

📅  最后修改于: 2023-12-03 15:35:50.876000             🧑  作者: Mango

理解“aria-labelledby”和“aria-hidden”属性

在Web开发中,我们经常需要关注到无障碍性(Accessibility)的问题,确保用户无论是身体上还是认知上都能够轻松地访问网站内容。其中,“aria-labelledby”和“aria-hidden”这两个属性就是用来帮助屏幕阅读器识别和读取页面元素的。

aria-labelledby属性

“aria-labelledby”属性是用来将一个页面元素与一个或多个标签(通常是

<div id="my-element" aria-labelledby="label-1 label-2">
  <!-- 这里是页面元素的内容 -->
</div>
<label id="label-1">我的标题</label>
<label id="label-2">更多说明</label>

在上面的代码中,我们将“my-element”这个

元素与两个

aria-hidden属性

“aria-hidden”属性是用来将一个页面元素标记为“隐藏”的,这样可以告诉屏幕阅读器跳过这个元素,不要将它的内容读取出来。通常,我们会使用CSS的“display: none”、“visibility: hidden”或“opacity: 0”等属性来隐藏元素,而且这些属性的同时也会使元素在可视化上不可见。

但是,有时候我们需要隐藏一些元素,但是又不能通过CSS来隐藏它们,例如一些动态生成的提示信息或弹窗。这时,我们就可以使用“aria-hidden”属性来让屏幕阅读器忽略它们,不要打断用户的阅读流程。

例如:

<button id="my-button">打开弹窗</button>
<div id="my-popup" aria-hidden="true">
  <p>这是一个弹窗的内容。</p>
</div>

在上面的代码中,我们创建了一个按钮和一个弹窗,但是这个弹窗并没有使用CSS来隐藏它。相反,我们给它添加了“aria-hidden”属性,并将属性值设置为“true”,这样屏幕阅读器就会跳过它,不会干扰用户的阅读流程。

总结

“aria-labelledby”和“aria-hidden”这两个属性是用来帮助屏幕阅读器正确地读取和忽略页面元素的。其中,“aria-labelledby”属性可以增加页面元素的语义化信息,提高页面的可访问性;而“aria-hidden”属性则可以让我们控制某些元素的可读性,确保用户不会被干扰。在开发无障碍性友好的Web应用时,我们应该合理地使用这些属性,以便为所有用户提供更好的体验。