首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >html <header role="menubar">不在w3验证器上验证

html <header role="menubar">不在w3验证器上验证
EN

Stack Overflow用户
提问于 2016-08-03 01:57:55
回答 1查看 656关注 0票数 1

我有这个主标题元素,它是一个特定于页面的导航菜单。如您所见,h1元素是一个链接(菜单固定在页面顶部,其余部分则向下滚动)。

示例:

代码语言:javascript
运行
AI代码解释
复制
<header role="menubar">
    <a href="#top">
        <h1>Main Title</h1>
    </a>
    <ul role="menu">
        <li role="menuitem">
            <a href="#presentation">presentation</a>
        </li>
        <li role="menuitem">
            <a href="#picture">picture</a>
        </li>
        <li role="menuitem">
            <a href="#downloads">downloads</a>
        </li>
    </ul>
</header>

w3验证器上,我得到的消息是:

错误:元素标头上属性角色的坏值菜单。

请参考用于单个页面的W3推荐页面,其中允许的标头元素的ARIA角色是:

旗帜角色(默认-不设置)或演示文稿。

‘默认-不要设置’实际上不是一个选项,因为它不会向后兼容,因为标头元素

“横幅”和“演示文稿”不是正确的角色(参见标语介绍性)

所以我的问题是:

  • 我该怎么做?最简单的方法是用div元素替换头元素。但我认为它在语义上不太好,对吗?
  • 这种情况是否可能不是W3C人员真正考虑的,还是说这样做是100%错误的(我的意思是在语义层面上,侧重于可访问性)。
  • 还有其他选择吗?

(谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-03 06:19:23

当前代码显示的不是菜单,而是导航列表。您需要的不是<header role="menubar">,而是<nav>,您应该从list元素中删除角色属性。如果您正在实现菜单栏,则代码非常不完整。

有关在菜单栏中使用HTML5和WAI的建议,请参阅推荐用于导航栏/菜单的WAI-ARIA实现

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38740305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档