将内容放入 main,并且只使用一个 main
定义唯一的主要内容区域
将内容放入 main,并且只使用一个 main 是 CoddyKit 上的免费 Web Accessibility Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Web Accessibility Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Web Accessibility Academy 课程共包含 4 节课。
main 是页面的主角
每个页面都有一个核心:它独有的内容。主要内容元素就是放置这些内容的地方,与页眉和页脚分开。
始终只有一个主要内容区域
页面应该恰好有一个主要内容地标。两个主要内容区域会让用户感到困惑,因为他们期待一个唯一的主要目标位置。
哪些内容应放在里面
请将页面的核心内容放入主要内容区域:文章、表单或仪表盘,也就是用户真正来访问的内容。
<main>
<h1>Your dashboard</h1>
<p>Today's stats...</p>
</main>哪些内容应放在外面
网站徽标、全局导航和页脚链接等重复内容应放在主要内容区域的外面,因为它们并非此页面独有。
跳过链接的目标
跳过链接会指向主要内容区域,让键盘用户可以直接跳到内容,而不用经过每个页面都会重复出现的页眉。
<a href="#main">Skip to content</a>
<main id="main">...</main>让主要内容区域可聚焦
请为主要内容区域添加值为 -1 的tabindex,这样跳过链接就能将焦点移入其中,同时不会让它自行成为制表键焦点目标。
<main id="main" tabindex="-1">
...
</main>两个主要内容区域的隐藏规则
如果确实需要第二个主要内容区域,除一个以外的其他区域都必须从视图中隐藏。同一时间只允许有一个可见的主要内容区域。
不要嵌套主要内容区域
主要内容元素不能放在文章、附加内容、导航、页眉或页脚元素内。它应位于页面主体的顶层。
主要内容角色的备用方案
对于非常老的浏览器,您可以添加值为 main 的role作为备用方案,但原生的主要内容元素才是现代网页的正确选择。
<main role="main">...</main>为什么一个主要内容区域更好
只有一个主要内容区域时,屏幕阅读器用户按一次键就能准确到达内容;每个页面都如此,始终如此。🎯
清晰的页面结构
先是页眉,然后是导航,再是一个主要内容区域,最后是页脚。这种可预测的结构让用户更容易通过听觉浏览页面。
快速检查
单个页面应该提供多少个可见的主要内容地标?
回顾:清晰的一个主要内容区域
您学会了将独有内容放入单个主要内容区域,将重复部分放在外面,并将其作为跳过链接的目标。🙌
常见问题解答
「将内容放入 main,并且只使用一个 main」课时是免费的吗?
是的 — 「将内容放入 main,并且只使用一个 main」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Web Accessibility Academy 课程的其余内容,请升级到 CoddyKit PRO。 Web Accessibility Academy 课程共包含 4 节课。
「将内容放入 main,并且只使用一个 main」这节课中我会学到什么?
定义唯一的主要内容区域 你通过在浏览器中直接运行的动手代码来练习 Web Accessibility Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Web Accessibility Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Web Accessibility Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「将内容放入 main,并且只使用一个 main」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Web Accessibility Academy 课中编写并运行代码吗?
能。每节 Web Accessibility Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- header、nav、main、footer:四大区域
- 将内容放入 main,并且只使用一个 main
- 使用 aria-label 命名多个区域
- 地标导航:用户如何在页面中跳转