以来,由于将ARIA角色纳入HTML,因此Web开发变得更加容易。 ARIA通过为辅助技术(ATS)提供额外的语义信息来增强对残疾人的Web应用可用性。 但是,一个关键问题仍然存在:当HTML元素已经具有固有的语义时,ARIA角色属性是否需要?
>本文探讨了这个问题,重点介绍了具有隐式语义的新的HTML5结构元素如何与ARIA角色相互作用。
密钥点:
如果HTML元素已经提供了必要的语义,则aria-*
ARIA的基本原理和常见误解: ARIA角色和大多数元素:
。 在添加ARIA属性之前,
优先考虑语义上正确的HTML(利用天然语义)。 ARIA角色通常不会增加大多数HTML元素的默认语义。 保持简单:如果HTML元素固有地提供了语义,请不要使用ARIA;这样做会创建冗余代码。
ARIA角色和HTML4:
html5增强:
属性是不必要的,不建议使用的。”
> HTML5元素具有默认的隐式ARIA语义,但不能保证每个元素在没有验证的情况下映射。 因此,可以考虑添加ARIA角色作为预防措施,接受冗余。
ARIA中的冗余:
<button></button>
效率较低:
更有效:
<label>Title</label><input type="text">
第二个示例使用和
>属性,显然将标签与输入相关联。<label for="title">Title</label><input type="text" id="title">
for
冗余的示例(避免):id
>
>交互式元素上的冗余角色:
><button role="button">Submit</button>
ARIA角色与本机HTML对应物:role="button"
<div hidden aria-hidden="true"></div>
aria在既定的结构元素上:hidden
>
aria-hidden
<h1 role="heading" aria-level="1">I am a Heading</h1>
,role
)。 但是,有些映射是有条件的。例如,仅当不在aria-level
>或
映射到>。 浏览器固有地揭示了这些默认语义。
浏览器支持:<aside></aside>
<article></article>
>大多数现代浏览器都支持HTML5结构和切片元素的默认隐式语义。 (Internet Explorer的实现可能会有所不同。)<main></main>
<footer></footer>
结论:role=contentinfo
<article></article>
<section></section>
避免ARIA角色,属性和声明HTML5规范是否已经定义了该功能。
考虑将ARIA属性添加到HTML元素并在评论中分享您的想法的含义。
常见问题(常见问题解答):
> >(原始输入的FAQ部分保留在此处,因为它直接与主题相关,并且不需要修改伪 - 原始性。)
>
> WAI-ARIA和HTML页面?
>
> HTML隐藏和ARIA隐藏属性有什么区别?以略有不同的方式工作。 HTML隐藏属性隐藏了所有用户的元素,而ARIA隐藏属性专门隐藏了辅助技术的元素。如果隐藏了一个元素,则不使用辅助技术的用户仍然可以看到它。>我如何有效地使用ARIA角色来增强可访问性?在HTML规范没有提供的情况下提供其他语义。它们不应用于复制HTML已经提供的语义。通过明智地使用ARIA角色并避免冗余,您可以增强Web内容的可访问性。
>使用ARIA角色时避免的一些常见错误包括冗余使用它们,错误地使用它们并过度使用它们。冗余的咏叹调角色可能会混淆辅助技术,而错误的使用可能会导致语义不正确。过度使用ARIA角色可能会使您的Web内容过于复杂且难以导航。
以上是避免使用HTML页面的Wai-Aria冗余的详细内容。更多信息请关注PHP中文网其他相关文章!