【问题标题】:HTML5 How To Skip Navigation When Name Attribute Is ObsoleteHTML5如何在名称属性过时时跳过导航
【发布时间】:2011-03-03 10:54:10
【问题描述】:

在 Web 内容可访问性指南中规定您应该提供一个“跳过”链接,让您(例如)跳过导航块并直接进入内容。这对于使用屏幕阅读器以声音描述页面的受损用户特别有用。

6.2 分组和绕过链接WCAG Guidelines

但是,这种技术依赖于在锚标记上使用 name 属性:

<h2><a name="content">Content</a></h2>

连同跳转链接:

<a href="#content">Skip to content</a>

问题是,锚标记的“名称”属性在 HTML5 中已过时。 HTML Obsolete Features

有没有其他方法可以在不使用 name 属性的情况下实现这种“跳转到”功能?

脚注:HTML5 规范的状态仍处于草案阶段,在这种情况下可能会继续允许 name 属性 - 尽管它可能仍会产生“警告”。它目前已被标记为“过时但符合标准”,这意味着您仍然可以使用它 - 但是,我想知道执行“跳至”的其他方法,看看是否有办法做到这一点t 依赖于过时的属性。

【问题讨论】:

  • 无意冒犯,但您确实查看过那个过时的功能页面?它包含一个关于name attribute 的部分:“请改用id 属性。”
  • @Marcel - 我确实读到过,事实上所有过时的属性都是过时的,因为有更好的选择 - 我实际上不知道 id 属性允许元素以此为目标链接类型,即具体问题。

标签: html


【解决方案1】:

您可以使用任何具有id 属性的元素,而不是使用&lt;a&gt; 标签:

<h2 id="content">Content</h2>

<a href="#content">Skip to content</a>

编辑,找到你的来源(虽然它是维基百科;-)):

或者(有时同时)设置 name 或 id 属性,元素成为目标。统一资源定位器可以通过片段标识符链接到该目标。 现在可以使用 id 属性将任何元素制作成锚点,[2] 因此无需使用&lt;a name="foo"&gt;

http://en.wikipedia.org/wiki/HTML_element#Anchor

【讨论】:

  • 或者直接把id放在h2上。
  • 我从来不知道为什么人们一开始就使用名称属性,因为大多数需要跳转的元素都包含一个想法。这也为您提供了样式选项。
  • @Jonny Haynes:几年前我也不知道我可以使用id。那时候是因为没有合适的导师,我的大学导师让我用name,互联网教程也是这样。 name 现在已被弃用是一件好事,因为无论如何它几乎毫无意义。
  • @Jonny:你的意思是id而不是“idea”? ;-) 当然,元素可以包含想法。
  • @Jonny Haynes - 在“a”元素上使用“name”是 HTML4 之前指定锚目标的方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 2016-08-26
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
相关资源
最近更新 更多