【问题标题】:Links do not receive the focus when clicked on Chrome在 Chrome 上单击时,链接没有获得焦点
【发布时间】:2013-08-23 09:47:00
【问题描述】:

我在 Chrome 上遇到了一个非常奇怪的行为,这对我来说似乎是一个错误:当您单击一个链接时,该链接没有获得焦点。更糟糕的是,身体反而占据了焦点。

可以在此处观察到此行为:http://jsfiddle.net/YfbR7/4/ (see code sample here)

这是一个错误吗?这是标准行为吗?是否有任何解决方法可以使链接在鼠标按下时获得焦点,就像在其他浏览器上一样?

【问题讨论】:

标签: javascript google-chrome focus


【解决方案1】:

将标签索引添加到应该可以工作的锚标签,这不是一个错误,它是一个网络工具包。

<a href="#" tabindex="1">Click me</a>

【讨论】:

  • 哇,我没想到会这样!它工作得很好。我对复选框也有同样的问题,但我会在您回答原始问题时为该问题打开一个新问题。
  • 这里解释了为什么这样做会有所帮助:“通过给它一个 tabindex,你可以让你喜欢的任何元素成为焦点。焦点和模糊事件应该对这些元素起作用。”适用于所有浏览器:quirksmode.org/dom/events/blurfocus.html
  • 请注意,使用大于 0 的 tabindex 值可能会导致可访问性问题。 MDN 在tabindex 上有一篇很好的文章,其中有这样的警告:“避免使用大于 0 的 tabindex 值。这样做会使依赖辅助技术的人难以导航和操作页面内容。” developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/…
【解决方案2】:

除了接受的答案:

由于将tabindex 设置为1 会改变TAB 的行为,我建议将其设置为-1:它不会破坏TAB 导航并且仍会使其无法集中注意力。

<a href="#" tabindex="-1">Example</a>

顺便说一下,here's a very nice article 关于这些问题。


注意:同样的事情发生在我身上,但只是在 Safari 上:可能 Chrome 已经修复了这个问题。

【讨论】:

    【解决方案3】:

    链接应始终以本机方式获得焦点。如果您的链接没有href 属性,则不会(但不确定没有href 的链接的用例!)。

    【讨论】:

      猜你喜欢
      • 2012-05-30
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多