HTML5如何在名称属性过时时跳过导航

Fen*_*ton 27 html html5

在Web内容可访问性指南中指出,您应该提供一个"跳过"链接,该链接会(例如)通过导航块并直接跳转到内容中.这对于使用屏幕阅读器可听见地描述页面的受损用户特别有用.

6.2分组和绕过链接WCAG指南

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

<h2><a name="content">Content</a></h2>
Run Code Online (Sandbox Code Playgroud)

与跳转链接一起:

<a href="#content">Skip to content</a>
Run Code Online (Sandbox Code Playgroud)

问题是,锚标签的"name"属性在HTML5中已经过时.HTML过时的功能

有没有其他方法可以实现这种"跳转到"功能而不使用name属性?

脚注:仍处于草案中的HTML5规范的状态,在这种情况下可能会继续允许name属性 - 尽管它可能仍会生成"警告".它目前被标记为"过时但符合",这意味着你仍然可以使用它 - 但是,我想知道其他方法来执行"跳到",看看有没有办法做到这一点'依赖于过时的属性.

And*_*y E 36

<a>您可以使用具有以下id属性的任何元素,而不是使用标记:

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

<a href="#content">Skip to content</a>
Run Code Online (Sandbox Code Playgroud)

编辑,发现你是一个来源(尽管它是维基百科;-)):

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

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

  • 或者只是将`id`直接放在`h2`上. (5认同)
  • @Jonny Haynes:几年前我不知道我也可以使用`id`.当时由于缺乏适当的监护,我的大学导师告诉我使用"名字",互联网教程做了同样的事情."name"现在已被弃用,这是件好事,因为它无论如何都是毫无意义的. (2认同)
  • @Jonny:你的意思是'id`而不是'idea'?;-)虽然元素可以包含想法,当然. (2认同)
  • 哈哈,是的我的意思是:-) (2认同)