刚刚介绍了一些关于ARIA roles的规格。为什么ul
具有aria角色menu
但menuitem
对于li
是禁止的?
我想描述一个导航栏,结合ARIA角色,使用ul
、li
和html5的nav
元素。
<!DOCTYPE html>
<html>
<head><title>ARIA role bug?</title></head>
<body>
<nav role="navigation">
<ul role="menu">
<li role="menuitem"><a href="http://example.com/">example.com</a></li>
</ul>
</nav>
</body>
</html>
在这里唠叨我:
元素li上的属性role的值menuitem错误。
最佳答案
Jukka isincorrect here。W3C validator不检查whatwg ls,而是检查W3C HTML specification。W3CHTML规范是W3C验证器一致性检查要求的权威来源。
关于根据HTML规范不允许使用menuitem
,我认为这是一个错误。因此,我有filed a bug。它现在在我的bug队列中等待解决。
我还针对W3C validator和wai-aria in HTML文档提交了一个bug。
在确认器被固定之前,我建议您根据WAI-ARIA规范使用角色,并忽略确认器。
附录:
我回顾了ARIA集成到HTML的历史,没有找到任何不允许menuitem
的原因,所以相信这是一个疏忽。我修复并解决了我上面提到的错误。
关于html - 为什么`ul`有ARIA角色`menu`但``menuitem`是禁止`li`?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16751643/