代码之家  ›  专栏  ›  技术社区  ›  Fenton

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

  •  27
  • Fenton  · 技术社区  · 15 年前

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

    6.2分组和绕过链路 WCAG Guidelines

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

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

    连同跳到链接:

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

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

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

    脚注:HTML5规范的状态仍在草稿中,并且在这个场景中可能会继续允许name属性-尽管它可能仍然会生成一个“警告”。它目前已被标记为“过时但符合”,这意味着您仍然可以使用它-但是,我想知道执行“跳到”的其他方法,看看是否有一种方法不依赖于过时的属性。

    1 回复  |  直到 10 年前
        1
  •  36
  •   Andy E    14 年前

    而不是使用 <a> 标记,可以将任何元素与 id 属性:

    <h2 id="content">Content</h2>
    
    <a href="#content">Skip to content</a>
    

    编辑,找到你的来源(尽管是维基百科;-):

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

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