思维模型
跳过导航链接
这类隐藏链接让使用键盘和辅助技术的用户跳过重复的导航,直接进入主要内容。
探索一下
每次打开同一网站的新页面,你都会在顶部遇到完全相同的导航菜单。对键盘用户来说,这意味着要按几十次 Tab 键,才能到达新的内容。用户打开页面后,首先应该做什么?
哪一步应该放在最前面?
我们来看看跳过导航链接如何提升浏览效率。
理解概念
理解概念
跳过导航链接是放在网页最顶部的隐藏快捷入口。你按下 Tab 键时,它就会显示出来,让键盘用户和屏幕阅读器用户直接跳到主要内容,不必在每个页面上都用 Tab 键逐项经过同一套导航菜单。没有这个功能,你可能要按 40 次 Tab 键才能读到一篇文章。
试试这样:在任意网页上按下 Tab 键,看看顶部是否出现“跳到主要内容”链接。
详细讲解
详细讲解
跳过导航链接的做法是在页面源代码的最开头放置一个标准的 HTML 锚点链接。链接通过 ID 指向主要内容区域,让你直接跳过所有重复的导航元素。键盘用户按下 Tab 键时,这个链接会成为第一个获得焦点的元素,而且通常只在获得焦点时显示,这样就不会让页面的视觉设计显得杂乱。
使用过程很简单:首先,你打开一个新页面;接着,按一次 Tab 键;然后,跳过导航链接出现并获得焦点;最后,按 Enter 键,焦点就会直接移到主要内容。这能显著减轻肢体障碍用户的身体负担,也能为所有不使用鼠标浏览网页的人节省时间。
跳过导航链接主要帮助三类用户:屏幕阅读器用户可以避免在每个页面上反复听到同一套导航;因肢体障碍而只能使用键盘的用户,可以减少反复按 Tab 键带来的身体疼痛;屏幕放大软件用户则不必在每个放大后的视图中寻找内容从哪里开始。如今的实现方式通常会提供多个跳转目标,比如“跳到导航”和“跳到内容”,以满足不同的使用目的。
还有其他办法,比如用 ARIA 地标定义页面区域,包括页头、导航、主要内容和页脚,或使用恰当的标题结构,让屏幕阅读器用户能在不同章节之间跳转。不过,要符合 WCAG 2.4.1,跳过导航链接仍然是最可靠的方案,因为它在较旧的辅助技术中也能稳定使用,而且不依赖浏览器对新功能的支持。实现时的关键是将目标元素的 tabindex 属性设为负一,让程序能够把焦点移到它上面。
研究依据
研究依据
WCAG 成功准则 2.4.1“绕过区块”(A级)要求提供一种机制,让用户能够跳过多个页面中重复出现的内容 [1]。W3C 强调,设立这条准则,是因为键盘用户必须按顺序浏览内容,而使用鼠标的明眼用户可以扫视页面,直接点击目标 [1]。跳过导航链接对屏幕放大软件用户也很有帮助,因为每到一个新页面,他们都需要在放大后的可视区域内寻找主要内容的起点 [2]。
网页无障碍可用性研究表明,跳过导航链接能大幅减少键盘浏览所需的操作。W3C 明确指出,如果没有绕过重复内容的机制,用户可能会因反复按键而感到“严重的身体疼痛” [1]。
ARIA 地标(技术 ARIA11)提供了另一种方法:定义页面区域,让辅助技术能够在这些区域之间跳转。不过,跳过导航链接仍被推荐作为主要方案,因为它的兼容范围更广,即使辅助技术未完全支持地标导航,也能稳定使用 [3]。
适用局限
适用局限
如果重复的导航位于页面底部而非顶部,就不需要跳过导航链接,因为浏览器提供了跳到页面顶部的键盘快捷键。有些实现会让跳过导航链接始终显示,这可能让页面显得杂乱,也可能使不了解其用途的明眼用户感到困惑。对地标支持完善的现代辅助技术,可能会降低用户对跳过导航链接的依赖;但对于使用较旧技术的用户,以及满足 A 级合规要求来说,这类链接仍然必不可少。实现跳过导航链接时也需要仔细处理:目标元素必须能够获得焦点,通常需要设置 tabindex="-1";链接应当只在获得焦点时显示,既能让用户发现它,也能避免让页面设计显得令人困惑。
参考来源
参考来源
试一试
检验你的理解
某大学网站有一个包含 15 个菜单项的导航菜单,每个页面的主要内容前都会显示这个菜单。如果没有跳过导航链接,键盘用户在新页面上需要按多少次 Tab 键,才能到达第一个文章链接?
查看文章解释
答案: 16 次(经过 15 个导航项,再按 1 次到达文章链接)
没有跳过导航链接时,键盘用户必须用 Tab 键逐项经过每个导航项,才能到达主要内容。这说明了跳过导航链接为什么必不可少:它能把 16 次按键减少为 2 次,先按 Tab 键让跳过导航链接获得焦点,再按 Enter 键激活它。
哪种实现方式能正确确保跳过导航链接激活后,目标元素可以获得焦点?
查看文章解释
答案: 为目标元素添加 id="main" 和 tabindex="-1"
id 为跳过导航链接的 href 属性提供锚点目标,而 tabindex="-1" 让程序能够将焦点移到该元素上。如果没有 tabindex="-1",许多浏览器在跳转后不会把焦点移到目标元素,键盘用户的焦点就会仍然停留在页面顶部。
一位开发者认为,有了 ARIA 地标就不再需要跳过导航链接,于是移除了网站上的所有跳过导航链接。这样做符合 WCAG 2.4.1 的 A 级要求吗?
查看文章解释
答案: 否
虽然 ARIA 地标是满足 2.4.1 要求的一种有效技术,但它可能无法在所有辅助技术中可靠运行,尤其是较旧的屏幕阅读器。W3C 将跳过导航链接(技术 G1)和 ARIA 地标(技术 ARIA11)视为两种不同、但都足以满足要求的方法。完全移除跳过导航链接,可能会降低无障碍程度,影响那些所用技术尚未完全支持地标的用户。
继续探索
为眼前的选择,再找一个有用的想法。
Reframo 的全部已发布文章均可免费阅读。准备好后,随时继续探索。