在<header>标签中放置<aside>标签在语义上是否有效?

7

就像这样:

<header id="mainHeader">
        <hgroup>
               <h1>Title</h1>
               <h2>Sub Title</h2>
            </hgroup>
            <aside>
                <p>Some content within the header but isn't as important.</p>
                <p>Some content within the header but isn't as important line 2.</p>
            </aside>            
    </header>

如上所示,原因是我有一些属于页眉的内容(例如短信息块),但与h1和h2标签不太相关,而是有些关联。因此需要这样做。或者我应该使用普通的div标签?

“P”标签与h1和h2标签相关性不太强,因此即使没有aside标签,语义上也是可以的。但我不确定是否可以这样使用aside标签。 - Cmorales
1
顺便提一下,hgroup 标签现在已经过时了。http://www.webmonkey.com/2013/04/w3c-drops-hgroup-tag-from-html5-spec/ - Volker E.
2个回答

6
根据HTML5草案,<aside>是与主内容无关的内容,因此这不涉及重要性,而是涉及主题。 <aside>元素可能包含令人震惊的新闻,这些新闻与乏味页面的无聊内容无关。
真正重要的是其他人看你的HTML标记时会怎么想。像<header><aside>这样的新元素的“语义”最近被Hixie(HTML5编辑器)描述为主要与作者和维护的便利性有关。
如果您自己不确定“语义”,那么其他人也可能会遇到困难。因此,最好使用只有<div class="foo">的内容,其中foo以某种方式描述了内容的角色。

...或者一个<section> - Andrew Luhring

0

从语义上讲,旁注应该与其父元素的内容相关,以突出某些内容或对内容进行总结或增强。将旁注视为您的内容打破第四面墙。

换句话说,对于您的问题是肯定的,但对于您的示例是否定的。如果您有一个引用或解释与标题中的内容直接相关,请务必使用旁注元素。如果您只有一些不太重要的内容,则建议改用<section>


我同意你的答案,除了“section”部分。规范说如果不需要,就不应该使用“section”而不是“div”。只有当你有一个标题时才应该使用“section”。在原始示例中,我认为简单的“div”是最好的选择。 - Cmorales

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接