跳过链接的视觉焦点

Visual focus of Skip links

将焦点指示器放在跳过 link 目标上是否很重要,即使目标是非交互式的?您是否认为焦点指示器应该始终存在,以便让用户知道他们在页面上的位置?

不,任何不可聚焦的东西都不应该有聚焦指示器。

只要确保当您确实跳到某个部分时,页面会正确滚动到该页面,因此它位于页面的顶部(或接近顶部)(即,如果您有 position:fixed header 确保滚动到的位置不会被它遮挡)。

对于 "sighted" 用户,页面更改和位置将是显而易见的,对于屏幕上的 "non-sighted" 用户,reader 他们的屏幕 reader 将引导他们,只要因为您已将焦点正确地集中在 non-focusable 项目上(所以请确保您使用 tabindex="-1",这样如果以编程方式而不是使用锚点执行此操作,则不会破坏此模式)。

我在这里使用 "sighted" 和 "non-sighted",因为显然有些人使用屏幕 reader,他们没有视力障碍,但为了说明目的使用它更容易。

这归结为 "expected behaviour",这是可访问性的关键部分。

任何带有焦点指示器的东西都应该是交互式的,因此向 non-interactive 元素添加焦点指示器并不是一个好主意。

其次,跳过 link 会将页面滚动到相关部分、标题等是预期的行为。只要发生这种情况,您的用户就没事了。

only reference I can find on W3C on focus visible enhanced 说:

Some elements can take focus (such as the target of a skip link), however, it is only when the element is operable by keyboard controls that this criterion applies.