Javascript ChromeVox会在页面加载时随机选择焦点。如何让它从页面开始阅读,或者使用JS元素聚焦?
在初始页面加载时,焦点可以随机跳转,所以语音阅读器(而不是从头开始)出现在错误的位置。我的页面包含使用java脚本动态构建的块 我尝试用JS应用焦点,但这并不总是有效的。正如我所见,这可能是ChromeVox阅读器对动态网页内容进行定时操作的问题。当我关闭Chrome Vox阅读器时,焦点变得一致 我试着进入ChromeVox代码,看到它可能出现在这里Javascript ChromeVox会在页面加载时随机选择焦点。如何让它从页面开始阅读,或者使用JS元素聚焦?,javascript,html,jquery,google-chrome,accessibility,Javascript,Html,Jquery,Google Chrome,Accessibility,在初始页面加载时,焦点可以随机跳转,所以语音阅读器(而不是从头开始)出现在错误的位置。我的页面包含使用java脚本动态构建的块 我尝试用JS应用焦点,但这并不总是有效的。正如我所见,这可能是ChromeVox阅读器对动态网页内容进行定时操作的问题。当我关闭Chrome Vox阅读器时,焦点变得一致 我试着进入ChromeVox代码,看到它可能出现在这里 cvox.Focuser.setFocus = function(targetNode, opt_focusDescendants) {
cvox.Focuser.setFocus = function(targetNode, opt_focusDescendants) {
...
if (document.activeElement && !cvox.DomUtil.isDescendantOfNode(targetNode, document.activeElement)) {
document.activeElement.blur();
}
虽然我不知道为什么ChromeVox阅读器会这样
我想如果我在第一次加载页面html时有一些可聚焦的元素,而不是用java脚本操作,那么我就能在那里获得聚焦,我做到了:
<div class="sreen-reader-starter" tabindex = "0"></div>
但这并不能解决问题。此元素也具有相同的随机聚焦行为。请帮助如何通知ChromeVox阅读器第一个焦点页面元素是什么,或如何使ChromeVox从页面开始。当然,一般解决方案是最好的
更新
我试图使网页几乎是静态的,所以所有元素html都构建在服务器端,JS只更新一些较小的部分。这并不能解决问题。它的工作原理略有不同,但仍然不一致。我无法将注意力集中在页面的第一个元素上