是否可以专注于<div>使用JavaScript focus()函数?
我有一个<div>标签
<div id="tries">You have 3 tries left</div>
Run Code Online (Sandbox Code Playgroud)
我试图专注于以上<div>使用:
document.getElementById('tries').focus();
Run Code Online (Sandbox Code Playgroud)
但它不起作用.有人可以提出建议....
iOS 上的 VoiceOver 是我遇到的唯一一个似乎无法element.focus()正确处理锚点和 JavaScript功能的屏幕阅读器。
查看我的博客。在那里你会看到经典的skip to content-link 和一个scroll to top-button。该链接是一个常规锚点,其目标是具有 id 的 div main。该按钮会触发动画,但由于这对盲人没有理想的效果,我还让它将焦点移到了skip to content链接上。在 VoiceOver 开启时双击上述任一控件。焦点不会移动。我在 Safari、Firefox、Google Chrome 和 iSource 的 iOS 应用程序中对此进行了测试。
现在转到任何其他设备,无论是 android 手机还是 windows 计算机。打开屏幕阅读器。据我所知,它始终有效(使用 Microsoft Edge、Google Chrome 和 Internet Explorer 进行测试)。
锚点的 HTML:
<a href="#main" id="top-link">Skip to content</a>
<!-- ... -->
<div id="main" role="main">
<!-- ... -->
</div>
Run Code Online (Sandbox Code Playgroud)
按钮的 JS: document.getElementById('scroll-to-top').addEventListener('click', function() { document.getElementById('top-link').focus(); }); …