【问题标题】:For navigation, should figure titles go inside figcaption?对于导航,图形标题应该放在 figcaption 中吗?
【发布时间】:2012-12-05 16:25:57
【问题描述】:

假设您登陆了一个类别网页,该网页的唯一目的是通过用图片和简短标题告知您每个子类别的内容,将您引导至适当的子类别。

当谈到UX considerations — it was suggested 时,以下安排将是最佳的(文字在图像之前):

每张照片和文字组合都会链接到各自的子类别。

考虑到 HTML5 语义,因为这些是子类别的标题,而不是确切的标题,使用 <figcaption> 元素是否合适?还是别的什么?


使用图形说明:

<h2>Our Planet's Animals</h2>
<p>Contrary to popular belief...</p>

<figure>
<a>
<figcaption>Rhinos</figcaption>
<img />
</a>
</figure>


改用标题(或其他东西):

<h2>Our Planet's Animals</h2>
<p>Contrary to popular belief...</p>

<figure>
<a>
<h3>Rhinos</h3>
<img />
</a>
</figure>


或者,什么词在语义上是正确的,并且可以简化样式?

【问题讨论】:

    标签: image navigation semantic-web semantic-markup figure


    【解决方案1】:

    我认为这里使用figure element 是不正确的,因为这个内容可能是页面的主要内容,但是对于figure 它说:

    [...] 但可以在不影响文档流程的情况下将其从主要内容移开 [...]

    如果您有论文中的图表或新闻文章中的照片等,您将使用figure:“[...] 通常作为文档主要流程中的单个单元引用”的内容。

    相反,我会为每个类别使用section,并将所有类别包含在nav 中(因为它是该部分内容的主导航,由标题“打开”我们星球上的动物”)。

    <h2>Our Planet's Animals</h2>
    <p>Contrary to popular belief...</p>
    
    <nav> <!-- nav could be omitted -->
    
     <section>
      <a>
      <h1>Rhinos</h1> <!-- you could use h3 here instead -->
      <img />
      </a>
     </section>
    
     <section>
      …
     </section>
    
     <section>
      …
     </section>
    
     <section>
      …
     </section>
    
    </nav>
    

    如果您不想使用标题,也可以使用类别列表(dlul)。我认为uldl 更适合这里:

    <h2>Our Planet's Animals</h2>
    <p>Contrary to popular belief...</p>
    
    <nav> <!-- nav could be omitted -->
     <ul>
      <li><a>Rhinos <img /></a></li>
      <li>…</li>
      <li>…</li>
      <li>…</li>
     </ul>
    </nav>
    

    也可以在每个 li 元素 (&lt;li&gt;&lt;section&gt;…&lt;/section&gt;&lt;/li&gt;) 中使用 section,但我不确定这会如何影响文档大纲。

    【讨论】:

    • 谢谢,好点子。但是,您确定每个部分都适用吗?
    • @Baumr:如果您使用标题,您已经创建了“隐式”部分。现在,如果您想明确表示,您可以在sectionarticlenavaside 之间进行选择。每个类别绝不是自己的nav(它是容器,而不是容器中的每个链接),也不是aside(因为类别是主要内容)。因此我们可以在sectionarticle 之间进行选择。在这里使用article 并没有错,但我只倾向于使用它来更详细地描述类别(例如描述文本独立)。
    • 按照这个逻辑,是的,但是,这里也可以考虑div。部分带有语义含义:html5doctor.com/avoiding-common-html5-mistakes 并保留用于特定情况:impressivewebs.com/html5-section — 我不会说每个图像和标题组合都具有真正的语义含义,因为每个部分中只有两个元素。但这些只是细节。
    • @Baumr:section 没有比使用标题而不使用分段元素所暗示的含义更多的含义。从语义上讲,如果您只使用标题或明确使用section 元素,这并没有什么区别。如果您不想为每个类别使用标题,则不想使用section(而是dl)。 section 仅对文档大纲很重要(而其他部分元素 articleasidenav 带有附加含义)。
    • 我明白了。另外,dl 是一个定义列表……这怎么会是一个定义列表?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    相关资源
    最近更新 更多