HTML5中的图库应该是什么元素?

时间:2012-09-04 09:47:09

标签: html5 gallery semantic-markup

当我在HTML5中制作图片库时,它是否应该包含sectionarticle这样的语义标记,还是仅仅是div

3 个答案:

答案 0 :(得分:11)

这取决于图库的上下文。

如果图库与主要内容相关,则将其作为主要内容中的section是有意义的。

如果article标记内部的内容本身有意义,则应使用article标记。个人博客文章。使用div标记标记的内容也会生成 当内容需要联合时(例如RSS提要)很有意义。要解释最后一点,W3C explains

  

当专门用于要在联合中重新分发的内容时,article元素的目的与Atom中的entry元素类似。

article标记用于通用的元素分组。如果任何其他标记不适合此目的,则应使用它,并且为样式或脚本目的需要分组。根据{{​​3}}:

  

强烈建议作者将div元素视为最后的元素,因为没有其他元素是合适的。使用更合适的元素而不是div元素可以为读者提供更好的可访问性,并使作者更易于维护。

要回到您的问题,如果图片库与您的内容相关(例如博客文章中的图片库),我会在整篇博文中section,并拥有{{1} }用于图库。有些人可能会争辩说,如果图库没有标题,则不应该是section,因此应标记为div。但是,W3C提供了一个非常好的方式来考虑其网站上的部分(抱歉,不能发布超过2个链接,少于10个代表点!):

  

一般规则是,只有元素的内容在文档大纲中明确列出时,section元素才适用。

如果你仔细想想,在文章的大纲中列出画廊是很有意义的(例如,博客文章)。如果文章有特定的介绍文本,甚至可以在文章的大纲中列出。概念性地将概述视为文章的一种内容列表,列出其各个部分。

就像我之前说的那样,它实际上取决于背景。

修改:

关于画廊本身的图像,按照Romin的建议将它们放在figure内是有意义的。回答你的评论:

  

thanx但我不认为这是正确的,因为他们说它“可以远离文档的主流而不影响文档的含义。”因此它适用于文本内部的图像,如果我从库中删除影响其含义的图像

W3C真正推荐的是:

  

元素(figure)因此可用于注释从文档的主要内容引用的插图,图表,照片,代码清单等,但这可以在不影响流程的情况下该文件可以远离该主要内容,例如在页面的一侧,专用页面或附录。

换句话说,要问的问题是图像库是否可以从主要内容(即博客文章内容或文本)移动,而不会影响文档的流程。图像库本身实际上可以远离文档的主要内容,例如侧边栏,并且其位置/顺序的更改不会影响内容的解释方式。如果其位置确实有影响,则figure在该特定情况下不合适。

总而言之,如果内容(图片库)对于文档很重要,但它在内容流中的位置不是(即它可以移动而没有太大影响),请使用figure。如果其位置很重要,请使用其他标签。如果它不重要,请改用aside

答案 1 :(得分:1)

如果有意义,您可以使用section,如果有意义,可以使用aside。 否则使用div

图库没有语义标记,例如audiovideo,因此您可能会这样做 想要使用div

直到Web Components被释放:)

答案 2 :(得分:0)

如果您使用的是HTML5,则建议使用语义标记,这应该是前进的方式,而不是使用div

实际上,图库甚至可以很好地映射到语义标签。对于例如一个部分可以包含文章列表,即单个图像。 aside可以提供有关特定图像的更多信息,等等。

一篇很好的文章展示了如何使用figurefigcaptionhttp://html5doctor.com/the-figure-figcaption-elements/