Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ChromeVox会在页面加载时随机选择焦点。如何让它从页面开始阅读,或者使用JS元素聚焦?_Javascript_Html_Jquery_Google Chrome_Accessibility - Fatal编程技术网

Javascript ChromeVox会在页面加载时随机选择焦点。如何让它从页面开始阅读,或者使用JS元素聚焦?

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) {

在初始页面加载时,焦点可以随机跳转,所以语音阅读器(而不是从头开始)出现在错误的位置。我的页面包含使用java脚本动态构建的块

我尝试用JS应用焦点,但这并不总是有效的。正如我所见,这可能是ChromeVox阅读器对动态网页内容进行定时操作的问题。当我关闭Chrome Vox阅读器时,焦点变得一致

我试着进入ChromeVox代码,看到它可能出现在这里

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只更新一些较小的部分。这并不能解决问题。它的工作原理略有不同,但仍然不一致。我无法将注意力集中在页面的第一个元素上