我遇到了这个问题,我认为我的代码是错误的,但在搜索和查看相关示例后,我想知道 Safari 是否真的没有焦点 <a>
带有 href
的标签属性?
在我的用例中,我想使用 <a href="#top">jump</a>
跳到页面部分。为了使 anchor 标签可聚焦,我们需要添加 tabindex="0"
像这样 -> <a href="#top" tabindex="0">jump</a>
.但是,似乎存在 href
属性不适用于 Safari。看这个fiddle并尝试 Tab 浏览页面(从其他 SO 示例修改而来)。
HTML
<a tabindex="0">Test 1</a>
<a href="#" tabindex="0">Test 2</a>
CSS
a:focus { color: orange; }
有什么办法可以解决这个问题吗?相同的代码在 Chrome 中运行良好。
最佳答案
这种行为似乎是设计使然,因此作为网络开发人员,您对此无能为力。最终,最终用户是否要启用这些设置取决于他们。
我可以告诉您,屏幕阅读器用户经常使用 Safari,尤其是在 iOS 上。您可以在最新的 WebAIM Screen Reader User Survey 中看到这方面的证据.这些人似乎可以毫无问题地驾驭这项技术,所以我怀疑这并不是真正的问题。
技术经常变化,所以您能做的最好的事情就是按照规范进行编码,并尽可能为较差的可访问性支持提供优雅的回退。不幸的是,在这种情况下我看不到这样做的任何方法。
我不建议尝试实现解决方法(通过脚本),因为这可能只会导致更多问题。
关于html - 具有 href 属性的 Safari anchor 标签没有获得焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49434808/