首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我可以在一个多页文档中使用多个主元素吗?

我可以在一个多页文档中使用多个主元素吗?
EN

Stack Overflow用户
提问于 2016-10-20 04:55:16
回答 1查看 8.4K关注 0票数 8

我正在与jQuery移动“多页”文档的网站上工作,其中可能有几个“页面”的网站,这是编码为一个单独的html文档的div。下面是基本结构:

代码语言:javascript
复制
<body>
    <div data-role="page" id="page1">
        <header>Page 1</header>
        <main>Content...</main>
        <footer>...</footer>
    </div>
    <div data-role="page" id="page2">
        <header>Page 2</header>
        <main>Content...</main>
        <footer>...</footer>
    </div>
</body> 

我想使用如下所示的html5 <main>元素,但是w3c验证器给出一个错误,提示我“一个文档不能包含多个主元素”。

我知道w3c标准只允许每个文档有一个<main>。然而,role="main" ( <main>所映射到的)的aria标准确实允许“多个主要元素作为DOM后代,假设每个主要元素都与不同的文档节点相关联”(https://www.w3.org/TR/wai-aria/roles#main)。

这些jQuery Mobile算不算“不同的文档节点”?如果一次只向最终用户公开一个<main>元素,我可以有多个吗?

(请注意,不活动的jQuery移动网页位于文档<body>中,但使用display:"none"隐藏。)

EN

回答 1

Stack Overflow用户

发布于 2016-10-21 05:23:59

main标记的主要目的是帮助屏幕阅读器和其他辅助技术了解主要内容从哪里开始。

根据W3C标准,它在每个文档中只能使用一次。如果您尝试为每个文档使用多个main标记,w3c验证器将抛出错误。另一件需要注意的事情是,您不能将它用作文章、旁白、页脚、页眉或导航元素的派生元素。

引用自W3C HTML Editors Draft

文档或应用程序主体的主要内容。主内容区域由与文档的中心主题或应用程序的中心功能直接相关或扩展的内容组成。

main不是一个章节内容,它不会像文章、章节或导航那样影响文档的轮廓。

但根据HTML5 Living Standards的说法:

对文档中主要元素的数量没有限制。事实上,在许多情况下,拥有多个主要元素是有意义的。例如,具有多个文章元素的页面可能需要指示每个此类元素的主要内容。

我认为这归结于SEO。如果你不想你的搜索引擎优化受到影响,那么我认为你应该避免使用多个main标签,而是在你的html中使用arai-*角色标签。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40141361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档