【问题标题】:WGAC - sequentially-descending orderWGAC - 顺序降序
【发布时间】:2021-12-07 01:55:01
【问题描述】:

在我的网页上,我有一篇很长的文章。

现在是一个 html 可能看起来像这样的示例(只是想象它更长):

<h1>Page title</h1>
<article>
 <h2>Some title></h2>
 <p>Content for that title</p>
 <h2>Some other title </h2>
 <p> some content for that other title </p>
</article>

这种模式还在继续。

根据 WGAC,所有标题都应按降序排列,这是一个问题,因为我的文章可能有超过 5 个 (h1 - h5) 标题。那么作为最佳实践,我可以做些什么呢?

每个标头应该包含在&lt;article&gt;&lt;section&gt; 标记中还是可以是h2,如上所示?

【问题讨论】:

  • 您认为您需要超过 6 个级别的深度?此外,按照最佳实践,您应该只有 1 个h1(页面名称),因此请改用h2h6。这都是关于关系的,所以任何与你的第一个 h2 相关的东西都应该在它下面有 h3h6,然后是一个新的 h2 用于任何其他不相关的项目等。每个 h2 应该在一个&lt;section&gt; 元素,使用aria-labelledby="idOfTheH2ForTheSection" 标记。您是否误解了标题嵌套的工作原理,因为很少需要 h5 更不用说 h6
  • 以我的“答案”为例,说明文档的一般结构

标签: html web-accessibility


【解决方案1】:

示例

<main>
  <h1>Different Front End Technologies</h1>
  <p>Introduction...</p>
  <section aria-labelledby="h2-html">
    <h2 id="h2-html">HTML</h2>
      <p>html...</p>
        <h3>Sectioning Elements</h3>
          <p>fjdfk</p>
          <h4>The Header element</h4>
          <h4>The Main element</h4>
        <h3>Inline Elements</h3>
          <p>fdsfa</p>
          <h4>The time element</h4>
          <h4>The address element</h4>    
  </section>
  <section aria-labelledby="h2-css">  
    <h2 id="h2-css">CSS</h2>
    <p>fdsafdas</p>
      <h3>The Cascade</h3>
      <h3>CSS Vars</h3>
        <h4>The :root selector</h4>
        <h4>Using a var in a property</h4> 
          <h5>Using calc() with a var</h5>
            <h6>Example using calc()</h6>
            <h6>Gotchyas using var in older browsers</h6>
          <h5>var as inline style</h5>
  </section>
  <section aria-labelledby="h2-JS">
    <h2 id="h2-JS">JavaScript</h2>
  </section>
</main>

注意&lt;h2&gt; 下的所有内容如何与&lt;h2&gt; 相关。 &lt;h3&gt; 下的所有内容都与 &lt;h3&gt; 相关,而 &lt;h3&gt; 又与 &lt;h2&gt; 相关。这继续下去。

当有彼此不相关的主题再次出现时,您可以返回到合适的标题级别。

“跳过标题级别”是指您从 &lt;h2&gt; 跳转到 &lt;h4&gt; - 这可能会让使用屏幕阅读器的人感到困惑,因为他们可能会使用屏幕上的快捷方式通过标题进行导航阅读器。

屏幕阅读器奖励

如果您有一个非常复杂的文档,并且您确定您没有过度嵌套项目,那么就屏幕阅读器而言实际上有 7 个标题级别。

你可以read more about level 7 headings here

【讨论】:

  • 在您的示例中,h2 / h3 不在一个部分或一篇文章中,我的印象是它应该包含在这两者中的任何一个中,以允许相同顺序的多个标题,即 h2 / h3
  • 我刚刚编辑,对不起!另请注意,这是不包括 &lt;article&gt; 的文档结构,因为通常会围绕所有内容(包括您的 &lt;h1&gt;),但它是情境
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-30
  • 2022-01-25
  • 2016-05-08
  • 2012-09-02
  • 2018-06-03
  • 1970-01-01
  • 2011-06-20
相关资源
最近更新 更多