为了跟上HTML5的步伐,我确保使用W3 validator tool验证我的所有标记。最近,我开始将role
属性添加到元素中。但是,我已经注意到以下警告会一次又一次弹出:
元素
button
不需要button
角色。元素
navigation
不需要nav
角色。
但出于同样的原因,在W3C网站上关于HTML中的ARIA,它指出button
role适用于<button>
元素,而navigation
role仅适用于 适用于<nav>
元素。
这让我想到了HTML5中角色所需的role
属性吗?我有什么方法需要使用它们?
答案 0 :(得分:5)
如果您可以使用本机HTML元素[HTML51]或属性 您需要已经内置的语义和行为,而不是 重新定位元素并添加ARIA角色,州或财产 让它可以访问,然后这样做。
如果您在WAI-ARIA中查看navigation role,则会指出HTML Nav是一个相关概念,navigation=role
已经是默认角色,因此无需进行设置手动自己:
允许的ARIA角色属性值: 导航角色(默认 - 不设置)。
因此导航角色 适用于<nav>
,但默认设置已经设置好,因此您不需要自己动手。
总结您的问题,如果角色已经隐含在HTML5的语义中,请不要设置角色。您可以查看下面的网站,我认为概述了您应该/不应该使用ARIA的一些优点(它不是关于角色属性的全部内容,但它确实涵盖了这一点):<登记/> What is WAI-ARIA, what does it do for me, and what not?
答案 1 :(得分:2)