使用 aria-describedby 属性改善无障碍访问
在当今数字化的世界中,互联网已成为人们日常活动中不可或缺的一部分。但是,对于那些视觉、听觉、语言、认知和其他能力受到限制的人来说,使用互联网可能会存在障碍。为了使网站更加友好和无障碍,前端工程师必须采取一些措施。这篇文章主要介绍如何使用 aria-describedby 属性来改善无障碍访问。
什么是 aria-describedby 属性?
aria-describedby 属性是一种在 Web 内容和应用程序中,用于指定关联性较弱的辅助信息的属性。
在许多情况下,只通过屏幕阅读器或其他辅助技术会访问 Web 网站的一部分内容。这些用户可能会错过一些视觉线索,而这些线索对于理解信息的上下文和更广泛的内容非常重要。使用 aria-describedby 属性可以提供这些缺失的信息来帮助用户更好地理解页面上的内容。这也是为什么这个属性在改善无障碍访问过程中起到如此重要的作用。
怎样使用 aria-describedby 属性?
使用 aria-describedby 属性需要遵循一些指导,以下是一些示例:
- 为元素添加 aria-describedby 属性
基本使用方法是将 aria-describedby 属性添加到想要提供更多上下文和信息的元素上:
<label for="password">Password:</label>
<input type="password" name="password" id="password" aria-describedby="password-description" />
<div id="password-description">
Password should be at least 8 characters long and include a capital, lowercase, and special character.
</div>
- 将多个 ID 分隔
如果元素需要多个与之关联的描述符,可以使用空格将多个 ID 分隔开:
<input type="email" name="email" id="email" aria-describedby="email-description email-error" />
<div id="email-description">Please enter your email address.</div>
<div id="email-error" role="alert">Please enter a valid email address.</div>
- 将提示信息与表单元素分开
有时,为了提高可访问性,提示信息需要与表单元素分开。在这种情况下,可以将 aria-describedby 属性添加到提示信息的父元素上,而不是表单元素本身上:
<div class="form-group" aria-describedby="date-instructions">
<label for="date">Date:</label>
<input type="date" name="date" id="date" />
</div>
<div id="date-instructions">
Please enter a date in the format MM/DD/YYYY.
</div>
千万注意:在使用 aria-describedby 属性时,需要确保元素与相应描述符的 ID 一致性,并避免将相同的 ID 用于多个元素或描述符。
结论
正如我们所看到的,使用 aria-describedby 属性可以为用户提供更好的上下文和信息,让他们更好地理解页面内容。随着越来越多的人在使用辅助性技术,这种属性对于改善无障碍访问非常重要。我们希望这篇文章能够帮助您更好地理解如何使用这个属性,为用户提高网站的可访问性和友好性。
参考示例代码:
HTML - ARIA-describedby Attribute
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674eba1ee884a3e30f296dca