Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 屏幕阅读器没有解释选项卡导航?_Javascript_Html_Kendo Ui_Accessibility_Screen Readers - Fatal编程技术网

Javascript 屏幕阅读器没有解释选项卡导航?

Javascript 屏幕阅读器没有解释选项卡导航?,javascript,html,kendo-ui,accessibility,screen-readers,Javascript,Html,Kendo Ui,Accessibility,Screen Readers,我有一个弹出窗口,通过tabindex=0启用了制表位。当我在没有屏幕阅读器的情况下与页面交互时,我可以使用tab键在窗口和它包含的表单元素之间移动 当我使用屏幕阅读器客户端(Window Eyes 8.4)查看我的网站时,我无法始终将标签插入窗口 我是否应该考虑代码结构中有任何特殊情况会导致窗口失去焦点或阻止屏幕阅读器解释弹出窗口的标记 仅供参考-我在一个ASP.NET MVC4 web应用程序(页面为HTML/CSS/JS)中,该应用程序正在生成带有剑道UI[剑道]窗口的弹出窗口。03/17

我有一个弹出窗口,通过
tabindex=0
启用了制表位。当我在没有屏幕阅读器的情况下与页面交互时,我可以使用tab键在窗口和它包含的表单元素之间移动

当我使用屏幕阅读器客户端(Window Eyes 8.4)查看我的网站时,我无法始终将标签插入窗口

我是否应该考虑代码结构中有任何特殊情况会导致窗口失去焦点或阻止屏幕阅读器解释弹出窗口的标记


仅供参考-我在一个ASP.NET MVC4 web应用程序(页面为HTML/CSS/JS)中,该应用程序正在生成带有剑道UI[剑道]窗口的弹出窗口。

03/17更新- 屏幕阅读器会间歇性地将弹出窗口作为对话框显示,但一旦弹出窗口加载,我就可以(偶尔)将选项卡插入div,并且不会丢失焦点。我无法始终如一地再现这一点,只是在按下按钮显示弹出窗口后快速按下tab键后才发现这一点


另一方面(当不快速点击tab键时),焦点始终落在没有焦点轮廓的弹出窗口上(屏幕阅读器宣布“Foo dialogue box”),但在第一次按tab键时,焦点跳回页脚前最后一个可操作元素的基础页面。此时按tab键将使我进入页脚UL元素

没有演示很难回答,但有几个方面需要调查

我在上面做了一个页面,即不是表单的页面。这还包括关于如何管理焦点的代码

如果弹出窗口本质上是基于表单的,那么您可能想试试

您将从这些示例中看到,将tabindex添加到容器只是其中的一部分,您还应该管理焦点,以便将焦点移动到弹出窗口

问题的零星性质可能是因为屏幕阅读器通常不读取
display:none
,而切换到不存在的内容可能无法可靠地激活


如果您可以发布一个示例,我可以更新此答案。

弹出窗口实际上是一个单独的浏览器窗口,还是一个弹出元素,它是页面的一部分,但位于页面上方?它是一个div,显示:无;当DOM加载但在单击事件后显示时。它构建为带有剑道UI框架的模式窗口。奇怪的是,它可以与其他屏幕阅读器(即JAWS)正常工作。元素在构建时位于标记的底部。找到解决方案的最佳机会可能是创建一个演示,然后与Window Eyes的开发人员联系(考虑到它正在使用另一个屏幕阅读器);一旦他们发现了问题,你可以寻找一种方法来解决它(或者找Telerik解决);没有演示就很难再现问题,如果不熟悉可访问性的要求也很难再现问题;谢谢你的推荐。看来这是我早该做的事。我在一个相当复杂的ASP.NET MVC web应用程序中工作,间歇性问题很难重现。但是,考虑尝试复制场景可能会更容易分解问题的根本原因。本周我正在尝试在更大的解决方案之外重现问题,因此我会不断更新线程。谢谢你也提供了很好的资源!。