标记" BBC模式"在HTML5中

时间:2011-05-10 20:18:58

标签: html html5 markup

我正在看BBC网站,并按照类似的整体模式整理一些东西,并确定如何正确地标记它让我有些不知所措。

英国广播公司由几个可以被视为自己的网站组成:

(这些都可能是子域名 - 事实上,对我来说就是这种情况 - 但网址并不重要)

每个都基本上是独立的,具有自己的内容,菜单和外观。但是,所有这些都是通过使用(略微可变但大部分)静态标题栏绑定在一起的。它包含标题“BBC”以及指向所有各个子站点的链接。

所以问题是,应该如何标记。我看到了几种不同的选择:

  1. 主要的BBC标题是网站的主要<header><nav>。这是正确的,因为它最终会不再强调子网站的实际内容的重要性。当归结为它时(使用上面的例子),标题“喜剧”和相关菜单是页面的主要内容,而不是BBC栏。

  2. 将子网站的标题和导航设置为<header><nav>内标记的标题。这感觉更好,但它开启了关于BBC现在是什么的问题?一个选项是使用<aside>,然后<header>包含自己的<nav><nav>。据我所知,这对于标题很好,但是其他<header>元素仍然很奇怪。比上面更好的选择?

  3. 与数字1相同(BBC栏有主<nav><article>),但在<header>元素内标记页面的其余部分。规范表明article元素将用于自己有意义的项目,这就是这里的情况。它也有意义,它有自己的<nav>(和<aside>?这有点推动吗?)但这似乎延伸了“文章”的定义而不是它的字典定义允许。

  4. 对我而言,在推特上给出了一些思考并在Twitter上来回传递一些想法,2号似乎是最好的选择。然而,基本上将{{1}}的内容作为页面上的顶部元素(在视觉上和标记中,因为它似乎以这种方式最具逻辑意义)的想法并不适合我。

    我是否忽略了一个明显的解决方案,或者这是一个通常的模式,它确实使它自己看起来很难?当然,我不能成为唯一一个对此感到困惑的人吗?

    感谢您的任何想法。

1 个答案:

答案 0 :(得分:1)

正如您所指出的那样,主标题应在<header><nav>中标记。

然后,我会在<article>中标记每个其他页面内容,其中包含自己的<header><nav>。忽略文章的字典定义,它在这里并不真正适用。在页面上有多个<nav>元素是很好的,只要其内容在网站内导航,这是有道理的。

将顶部标题放在<aside>中对我来说似乎也不正确,因为内容不是独立的。

我对这个问题的想法!