当我在HTML5中制作图片库时,它是否应该包含section
或article
这样的语义标记,还是仅仅是div
?
答案 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
。
图库没有语义标记,例如audio
或video
,因此您可能会这样做
想要使用div
。
直到Web Components
被释放:)
答案 2 :(得分:0)
如果您使用的是HTML5,则建议使用语义标记,这应该是前进的方式,而不是使用div
。
实际上,图库甚至可以很好地映射到语义标签。对于例如一个部分可以包含文章列表,即单个图像。 aside
可以提供有关特定图像的更多信息,等等。
一篇很好的文章展示了如何使用figure
和figcaption
:http://html5doctor.com/the-figure-figcaption-elements/