Jac*_*Dev 5 html accessibility section508 wcag wcag2.0
在许多设计中,多个标题可能出现在网站的页眉、页脚或其他全局元素中。一个例子是在页脚中表示“联系我们”、“我们的地址”和类似部分,或者在页眉中表示标语。
在这些情况下,我历来倾向于使用<h6>元素,因为它们是优先级最低的标题,因此我认为最适合此用例。
然而,我最近开始尝试提高项目的可访问性,并且我发现基本上每个自动化 a11y 测试工具都表明这不是正确的方法。我经常收到错误消息,指出“标题结构不是逻辑嵌套的”,因为<h6>要么出现在任何其他标题之前(在页眉中有标语的情况下),要么从较早的标题跳转到<h6>(在页脚标题的情况下,当其余内容在小于<h5>) 后停止。
我只需更改<h6>页眉和页脚中的样式<p>以匹配其原始设计,但这对我来说似乎不正确 - 页脚中带有标题的每个部分不应该用实际标题表示吗?
在页面的全局元素中表示标题以确保可访问性的适当方法是什么?
通过使用站点名称作为顶级标题,典型站点可以具有逻辑标题轮廓。页面上的所有内容都属于网站,页面\xe2\x80\x99的主要内容以及网站导航和页脚等。
\n\n<h1>Site name</h1>\n\n <h2>Site navigation</h2>\n\n <h2>Page main content</h2>\n\n <h2>Contact us</h2>\n\n <h2>Our address</h2>\nRun Code Online (Sandbox Code Playgroud)\n\n(请注意,标语不应是标题。)
\n\n使用 HTML5,您可以使各个部分变得明确 ( article, aside, nav, section),并传达每个部分是 ( header, main,footer ) 的一部分:
<body>\n\n <header>\n <h1>Site name</h1>\n <p>Site tagline</p>\n\n <nav>\n <h2>Site navigation</h2>\n <!-- heading not necessarily needed -->\n </nav>\n </header>\n\n <main>\n <article>\n <h2>Page main content</h2>\n </article>\n </main>\n\n <footer>\n <section>\n <h2>Contact us</h2>\n </section>\n <section>\n <h2>Our address</h2>\n </section>\n </footer>\n\n</body>\nRun Code Online (Sandbox Code Playgroud)\n\n(如果页脚由许多部分组成,则在可能的情况下引入分组标题/部分是有意义的,例如本例中的“联系人”。也就是说,并非每个页脚都需要部分/标题开始,尤其是如果内容比较薄弱或者不那么重要。)
\n