如何在Firefox中允许链接获得键盘焦点?

207

在Webkit浏览器中访问此超级简单的jsfiddle链接并点击其中一个输入框:

http://jsfiddle.net/eK4TT/

<input type="text">
<input type="text">
<input type="text">
<a href="#">my first link</a>
<a href="#">my second link</a>
<a href="#">my third link</a>

注意,您可以使用 Tab 键(和 Shift+Tab 来倒序导航)在两个输入框和链接之间进行键盘导航。

现在,在 Mac OS 上的 Firefox 中查看相同的代码段并尝试相同的操作。输入框会获得焦点,但链接不会获得焦点。这不是 CSS 显示问题。焦点从最后一个输入框跳到 URL 栏。

我已经在标记中尝试了无数种组合的 tabindex 声明,但都没有用,例如:

http://jsfiddle.net/eK4TT/1/

这里到底发生了什么?我会接受任何具有以下内容的答案:

a) 在 Firefox 中正常工作的代码段
b) 解释 Mozilla 在想什么。它似乎与 规范 相矛盾。


不确定发生了什么,可能是奇怪的JSFiddle和FF错误。尝试删除所有tabindex,并在所有链接上仅放置tabindex="-1"。我无法访问FF进行测试。 - Ryan B
1
不,这是Mac的问题。请看我的回答... - Ben
1
哦,是的。如果您没有启用“所有控件”或其他控件,则此行为也应在Safari中发生。这不是Moz问题。 - Ryan B
您会发现这些设置非常有用:http://www.weba11y.com/blog/2014/07/07/keyboard-navigation-in-mac-browsers/ - Nasia Makrygianni
无论是谁在2023年阅读这篇文章,我将一个 <input type="button"> 包裹在带有 href 的锚点标签中,它运行得很好。 - Lucas M. Oliveira
在我最近购买的MacBook Air上,对我来说在FF上仍然很重要。通常我是Linux用户,所以这是我第一次使用Mac。为什么这样一个重要的辅助功能默认是关闭的呢?当我完成WCAG评估时,我惊讶地发现链接无法通过Tab键访问。这让我抓狂。谢谢大家! - undefined
6个回答

433

好的,有人向我解释了。这是一个Mac的问题。Mozilla在Mac OS操作系统设置中保持真实。

用户端有两种明显的解决方法,似乎都能起作用:

  1. 系统偏好设置键盘 中,在 快捷键 面板中,选中底部的“所有控件”单选框。

  2. 在Firefox中,在URL栏中键入"about:config"。在Mac上没有accessibility.tabfocus偏好设置,因此您需要创建一个新的“整数”偏好设置,并将其设置为7。

这两种方法都不是非常明显的。另外,这两种方法都不是针对开发人员的服务器端解决方案,这很令人沮丧。


22
10.9 Mavericks: 系统偏好设置 > 键盘 > 快捷键 > 在面板底部的“所有控件”单选按钮。 - paulhhowells
15
我正在使用Catalina操作系统,我必须执行这两个建议 - 仅更新系统偏好设置似乎无法改变Firefox中的任何内容。一旦我将新的偏好设置添加到Firefox的“about:config”中,Firefox终于允许选项卡聚焦。谢谢! - Ray Brown
1
在MacOS Mojave(版本10.14.6)中,我必须执行两个建议。系统偏好设置没有改变Firefox的行为。添加新的Firefox偏好设置就解决了问题。很奇怪,在Firefox中,超链接键盘焦点不是默认行为。 - Paul Shryock
3
注意:在更改系统偏好设置后,我不得不退出/重新启动 Firefox。另外,在 Safari 中,除了在系统偏好设置中设置之外,我还需要在 Safari > 偏好设置 > 高级 > 辅助功能中勾选 [x] 按 Tab 键可突出显示网页上的每个项目。 - Bryan Downing
11
8年过去了,选项2仍然是答案。有趣的时光。 - Bruford
显示剩余7条评论

38

在 MacOS Big Sur 中,操作步骤如下:

勾选复选框使用键盘导航...

在底部勾选使用键盘导航。

我也不需要修改 about:config。


5
需要进行 Firefox 重启才能应用这些更改。 - tobi-or-not-tobi
1
@tobi-or-not-tobi 我不记得必须这样做,但感谢你的分享! - javabeangrinder
1
我不需要重新启动Firefox。设置已成功应用而无需这样做。 - daniels
1
谢谢!这个方法对我很有效,而且不需要重新启动 Firefox。 - Andree Wille
1
我在macOS Ventura (13.3.1)中找不到这个。有人可以给我一个提示吗? - Joshua Muheim
1
在Ventura中,此选项已移至设置->键盘主页,位于Keyboard shortcuts...按钮上方:键盘导航 使用键盘导航在控件间移动焦点。按Tab键向前移动焦点,按Shift + Tab键向后移动焦点。 - OscarVanL

3

对于已接受答案中解释的第二种方法:

在Firefox中,输入“about:config”在URL栏中。mac上没有accessibility.tabfocus偏好设置,所以您需要创建一个。右键单击窗口,在其中创建一个新的“整数”偏好设置,并将其设置为7。

请注意,Firefox Developer Edition中已经存在名为accessibility.tabfocus的偏好设置,它是一个布尔值。

您可以通过单击垃圾桶图标并删除该偏好设置来将其更改为整数。然后,您可以选择您想要的类型,并在之后为其分配一个值。


2

macOS Ventura:

  1. 设置 -> (辅助功能 > 键盘快捷键 > 键盘)

Mac 快捷键设置

  1. 在 Firefox 中配置 -> (URL > "about:config",添加 "accessibility.tabfocus" 并将整数值设置为 7)

Firefox 配置


有了这个,你就能在Firefox中聚焦链接。 聚焦链接的示例

2
在macOS Ventura上,这个键盘快捷键似乎可以切换这种行为:

enter image description here

我还没有找到直接在设置中切换此选项的方法,如果有人知道,请建议一种编辑方式


1

谢谢,我使用的是Catalina系统,以下方法适用:

在Firefox中,在URL地址栏中输入"about:config"。由于Mac上没有accessibility.tabfocus选项,因此您需要创建一个。在窗口中右键单击,创建一个新的“整数”属性,并将其设置为7。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接