html – 为什么`ul`有ARIA角色`menu`但`menuitem`被禁止`li`?

前端之家收集整理的这篇文章主要介绍了html – 为什么`ul`有ARIA角色`menu`但`menuitem`被禁止`li`?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
只是涵盖了一些关于 ARIA roles的一些规格.为什么ul有ARIA角色菜单,但是对于li禁止menuitem?

我想使用ul,li和HTML5的nav元素结合ARIA角色导航,菜单菜单来描述一个导航栏.

<!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>

W3’s HTML5 validator我在这里:

Bad value menuitem for attribute role on element li.

解决方法

Jukka是 incorrect here. W3C validator不检查WHATWG LS,而是检查 W3C HTML specification. W3C HTML规范是W3C验证器一致性检查要求的权威来源.

关于不符合HTML规范的menuitem,我相信这是一个错误.所以我有filed a bug.现在我的错误队列被解决了.

我也针对W3C validatorwai-aria in HTML文档提交了错误.
在这种时间之前,验证器是固定的,我建议您根据WAI-ARIA规范使用角色,并忽略验证器.

附录:

我回顾了ARIA整合到HTML的历史,找不到任何不允许menuitem的原因,所以相信这是一个监督.我修复并解决了上面引用的错误.

猜你在找的HTML相关文章