0Pricing
Web Accessibility Academy · 课时

将内容放入 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. header、nav、main、footer:四大区域
  2. 将内容放入 main,并且只使用一个 main
  3. 使用 aria-label 命名多个区域
  4. 地标导航:用户如何在页面中跳转
← 返回 Web Accessibility Academy