出于可访问性的目的,应如何在全局元素中处理标题?

Jac*_*Dev 5 html accessibility section508 wcag wcag2.0

在许多设计中,多个标题可能出现在网站的页眉、页脚或其他全局元素中。一个例子是在页脚中表示“联系我们”、“我们的地址”和类似部分,或者在页眉中表示标语。

在这些情况下,我历来倾向于使用<h6>元素,因为它们是优先级最低的标题,因此我认为最适合此用例。

然而,我最近开始尝试提高项目的可访问性,并且我发现基本上每个自动化 a11y 测试工具都表明这不是正确的方法。我经常收到错误消息,指出“标题结构不是逻辑嵌套的”,因为<h6>要么出现在任何其他标题之前(在页眉中有标语的情况下),要么从较早的标题跳转到<h6>(在页脚标题的情况下,当其余内容在小于<h5>) 后停止。

我只需更改<h6>页眉和页脚中的样式<p>以匹配其原始设计,但这对我来说似乎不正确 - 页脚中带有标题的每个部分不应该用实际标题表示吗?

在页面的全局元素中表示标题以确保可访问性的适当方法是什么?

uno*_*nor 1

通过使用站点名称作为顶级标题,典型站点可以具有逻辑标题轮廓。页面上的所有内容都属于网站,页面\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>\n
Run Code Online (Sandbox Code Playgroud)\n\n

(请注意,标语不应是标题。)

\n\n

使用 HTML5,您可以使各个部分变得明确 ( article, aside, nav, section),并传达每个部分是 ( header, main,footer ) 的一部分:

\n\n
<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>\n
Run Code Online (Sandbox Code Playgroud)\n\n

(如果页脚由许多部分组成,则在可能的情况下引入分组标题/部分是有意义的,例如本例中的“联系人”。也就是说,并非每个页脚都需要部分/标题开始,尤其是如果内容比较薄弱或者不那么重要。)

\n