gpt4 book ai didi

javascript - NVDA 为我的菜单触发了错误的按钮按下脚本

转载 作者:行者123 更新时间:2023-11-28 04:10:02 26 4
gpt4 key购买 nike

下面的链接包含我对最初由 Marcy Sutton 构思的拉出式菜单设计的扩展。我想要的效果是创建一个包含子菜单的导航菜单。在屏幕阅读器的上下文中,此菜单中的元素将被禁用,直到有人按下按钮打开所需的信息。

在 Firefox、Chrome 和 IE 上测试此菜单后,菜单的行为符合预期。然而,当运行名为 NVDA 的流行屏幕阅读器时,似乎会触发错误的按钮。以下是我重现该错误所采取的步骤:

  1. 使用制表符和空格键,我打开“投资组合”子菜单。这会突出显示网站 1 链接。
  2. 使用 Shift 和 Tab 键,我向后导航到 [X] 菜单(“关闭主菜单”)按钮。当我这样做时,投资组合按钮会再次自动关闭。到目前为止行为正常。
  3. 但是,此时尝试重新打开组合按钮会导致 a) 主导航菜单按钮触发其事件,因此菜单关闭,或者 b) 菜单关闭,因为焦点以某种方式跳转到标题(这是一个链接)。

代码笔:https://codepen.io/nitronova/pen/qPbpMO

 function initApp()
{ // Bind actions to functions.
navButton.addEventListener( "click", handleNavButtonClick, false );
conWrap.addEventListener( "click", handleOutMenuClick, false );
document.body.addEventListener( "keyup", handleKeyup, false ) /* navMenu. */
for( var i = 0; i < navButtons.length; i++ )
{
navButtons[i].addEventListener( "click", handleSubMenuButtonClick, false );
console.log('closing submenus init');
closeSubMenu(navButtons[i]);
}
console.log('closing the nav menu init');
closeNavMenu();
}

注意这里:主导航按钮(“navButton”)有自己的函数,称为handleNavButtonClick,而子菜单(“navButtons”)则有handleSubMenuButtonClick。两个完全独立的功能。问题不在于脚本中的函数,而在于 NVDA 如何导致错误的函数(或事件触发器)触发。

没有错误消息;行为路径是问题。我有一些屏幕截图,显示 NVDA 运行时会触发错误的事件。 /image/yfFFD.jpg

老实说,我还是一个 JavaScript 新手。这里有人对此有任何解释吗?我是不是做错了什么?

最佳答案

看起来像是 NVDA 中的一个错误,以下是此问题的根本原因的摘要。

https://github.com/nvaccess/nvda/issues/8326

关于javascript - NVDA 为我的菜单触发了错误的按钮按下脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46384608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com