菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

可访问性 标记


为什么

使用标记,使用 屏幕阅读器 的盲人用户可以跳转到网页的各个部分。


什么

在 HTML 中,有一些语义化元素可用于定义网页的不同部分。

  • <header>
  • <nav>
  • <main>
  • <aside>
  • <section>
  • <footer>

如何 - 来自白宫网站的示例

白宫网站的首页使用了标记。它包含顶部的 <header>,包含所有主要内容的 <main>,以及底部带有一些 <nav> 元素的 <footer>

可视化标记的一种方法是使用工具 Accessibility Insights。其功能之一是突出显示标记,正如我们在以下截图中所见。

Screenshot from whitehouse.gov, showing the page is organized with banner, main, search and contentinfo landmark.

自己试试。下载浏览器扩展 Accessibility Insights 并开启标记可视化。您最喜欢的网站是否使用了标记?



角色

但是等等,它显示 bannercontentinfonavigation。这有点令人困惑。原因是每个标记元素都有一个对应的角色。我们在这个课程中还没有讲过角色。我们稍后会讲到,但作为一种简化的解释:

一个 <header> 具有内置的 banner 角色。这意味着 <header><header role="banner"><div role="banner"> 在很大程度上是等效的。在大多数情况下,<header> 就足够了。

对于 <nav> 也是如此,它内置了 role="navigation"<main> 更简单,它具有 role="main"。然后我们有 <footer> 及其 role="contentinfo"。我们暂时先不管角色。 

一个标记的多个实例

经验法则是每页只使用一个 <main>。当我们使用多种类型的标记时,例如在本例中使用了多个 <nav>,我们必须为每个标记添加标签。这可以通过 aria-label 属性来完成。

在白宫网站的页脚中,我们有三个 <nav>,每个都有一个 aria-label,例如 aria-label="social navigation"。这意味着屏幕阅读器用户可以直接跳到社交导航。这是一种帮助。有些人会说,将“navigation”用作 <nav> 标签的一部分是多余的。没有对错之分,但 aria-label="social" 应该可以。

<aside><section> 标签

自从 HTML 引入标记以来,开发者们一直感到困惑。人们觉得定义模糊的两个元素是 <aside><section>。让我们来稍微澄清一下。最大的区别在于 <aside> 与主内容相关,而 <section> *不*相关。

Screenshot of The White House, with a sign up form for a newsletter and buttons for sharing the page in social media.

白宫网站的联系页面同时使用了 <aside><section>。三个分享按钮位于 <aside> 中。这很有意义,它们与主内容相关。如果您使用它们,您将分享您所在的页面。

“保持联系”是一个 <section>。很好。它与主内容无关,也没有其他合适的标记。白宫可以在这些标记上做的一个改进是添加标签。这对屏幕阅读器用户来说会更好。<section aria-label="Newsletter"><aside aria-label="Share this page"> 会很有帮助。 



×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持