aside 标签可以放在文章的前面吗?
Can the aside tag be first in an article?
aside
标签可以放在 article
标签的第一个吗?
我一直在快速阅读 aside
标签的规范,但找不到任何可以向我解释的内容。
任何 HTML5 专家可以解释这是否是一个合法的结构?
<article>
<aside>
<h2>Aside Heading</h2>
<p>
Aside info
</p>
</aside>
<h2>Article Heading</h2>
<p>
Article info
</p>
</article>
或者 aside
在 article
内容之后是否重要,如下所示:
<article>
<h2>Article Heading</h2>
<p>
Article info
</p>
<aside>
<h2>Aside Heading</h2>
<p>
Aside info
</p>
</aside>
</article>
你的第二个片段是更好的选择——aside
最好不要放在文章标题之前。
原因是虽然 aside
作为 article
的第一个 child 不是无效的,但查看 the results of trying it in the HTML checker (validator) 你会发现它导致了这个警告:
Warning: Article lacks heading. Consider using h2-h6 elements to add identifying headings to all articles.
该警告不是 HTML 检查器错误。 the HTML outline algorithm such as https://h5o.github.io/ 的其他实现也会将该文章视为缺少标题。
显然那里有一个标题——<h2>Article Heading</h2>
——但是由于 HTML 大纲算法的要求(这看起来很奇怪……),如果 aside
元素在article
的标题,导致大纲算法将 article
视为缺少标题。
因此,以大纲算法更满意并避免 HTML 检查器发出警告的方式标记您的内容的一种选择是:
<article>
<h2>Article Heading</h2>
<aside>
<h2>Aside Heading</h2>
<p>
Aside info
</p>
</aside>
<p>
Article info
</p>
</article>
也就是说,只需将 <h2>Article Heading</h2>
移到 aside
之前,但保持其他所有不变。
另一种方法是按照您在问题示例中所做的操作:将 aside
移动到 article
的末尾。如果您查看 the results of trying that second example from the question in the HTML checker,您会发现它不会导致任何警告和错误。
aside
标签可以放在 article
标签的第一个吗?
我一直在快速阅读 aside
标签的规范,但找不到任何可以向我解释的内容。
任何 HTML5 专家可以解释这是否是一个合法的结构?
<article>
<aside>
<h2>Aside Heading</h2>
<p>
Aside info
</p>
</aside>
<h2>Article Heading</h2>
<p>
Article info
</p>
</article>
或者 aside
在 article
内容之后是否重要,如下所示:
<article>
<h2>Article Heading</h2>
<p>
Article info
</p>
<aside>
<h2>Aside Heading</h2>
<p>
Aside info
</p>
</aside>
</article>
你的第二个片段是更好的选择——aside
最好不要放在文章标题之前。
原因是虽然 aside
作为 article
的第一个 child 不是无效的,但查看 the results of trying it in the HTML checker (validator) 你会发现它导致了这个警告:
Warning: Article lacks heading. Consider using h2-h6 elements to add identifying headings to all articles.
该警告不是 HTML 检查器错误。 the HTML outline algorithm such as https://h5o.github.io/ 的其他实现也会将该文章视为缺少标题。
显然那里有一个标题——<h2>Article Heading</h2>
——但是由于 HTML 大纲算法的要求(这看起来很奇怪……),如果 aside
元素在article
的标题,导致大纲算法将 article
视为缺少标题。
因此,以大纲算法更满意并避免 HTML 检查器发出警告的方式标记您的内容的一种选择是:
<article>
<h2>Article Heading</h2>
<aside>
<h2>Aside Heading</h2>
<p>
Aside info
</p>
</aside>
<p>
Article info
</p>
</article>
也就是说,只需将 <h2>Article Heading</h2>
移到 aside
之前,但保持其他所有不变。
另一种方法是按照您在问题示例中所做的操作:将 aside
移动到 article
的末尾。如果您查看 the results of trying that second example from the question in the HTML checker,您会发现它不会导致任何警告和错误。