html - 具有 href 属性的 Safari anchor 标签没有获得焦点?

标签 html css safari focus accessibility

我遇到了这个问题,我认为我的代码是错误的,但在搜索和查看相关示例后,我想知道 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/

相关文章:

html - 隐藏音频播放器

css - html 使 <td> 高度与宽度成正比

javascript - div 背景在悬停时轻松叠加

swift - Safari 应用程序扩展如何捕获 beforeNavigate 事件?

html - Bootstrap 4 网格行 - 图像未垂直对齐

html - 段落标记中的文本对齐因浏览器而异

html - CSS3 boxshadow 在所有其他元素之上?

html - 即使声明了 webkit 关键帧,CSS 动画边框底部也无法在 Safari 中工作

macos - 在网页上从 macOS 告诉 iPadOS

html - 如何让盒子元素自动展开?