- VS Code 版本: N/A
- 操作系统版本: Windows 10
使用屏幕阅读器 NVDA。
重现步骤:
- 在 vscode 中打开一个笔记本,NVDA 处于活动状态。
- 切换到笔记本中的前几个可聚焦项,例如代码按钮或添加代码单元格,
- 切换到整个文档窗口。
- 当完成此操作时,NVDA 将错误地宣布 "Virtual Document, Document, Document"。
下图显示了发生这种情况时的文本转录:
这个问题首先在这里报告:与 vscode-mssql 扩展的 HTML webview 窗口一起发生
microsoft/vscode-mssql#17197
9条答案
按热度按时间w7t8yxp51#
我猜它来自两个iframe层级。"Virtual Document"是webview的标题,我们需要这个标题吗@mjbvz?
document
可能被读取,因为它们有role=document
属性,这个属性是否必需?pwuypxnk2#
我看到了#93435。我们需要在两个iframe上都使用它吗?还是只在一个iframe上使用就可以?
q9rjltbz3#
@roblourens 我真的不知道。从技术上讲,只有最内层的iframe才是"文档",但了解屏幕阅读器工作原理的人需要补充一下。
kcugc4gi4#
It should be safe to remove the title right? Just fixing that removes a lot of noise, I'll do that
2jcobegt5#
@roblourens 请问您是否确认修复已经完成?
rekjcdws6#
是的,我移除了标题。我认为这是我在这个议题中唯一想做的事情,所以我会关闭它。
zwghvu4y7#
请重新打开此问题,因为您提交的修复似乎只解决了我们问题的一部分。
虽然“虚拟文档”不再被宣布,但vscode似乎处理html内容的方式似乎会导致屏幕阅读器读取多个“文档”标签的问题。(这不是我们明确设置的)
有关更多详细信息,请查看此处的评论:
microsoft/vscode-mssql#17197 (评论)
ubby3x7f8#
我们可以看看
role=document
是否会产生影响,但它可能会在每次进入iframe时读取该内容。在这种情况下,我们可能无法修复它。tag5nh1u9#
GitHub标签:#A11yMAS;#A11yTCS;#Win32;#FTP;#DesktopApp;#A11ySev3;#AINotInScope;#WCAG1.3.1;#NVDA;#Jaws;#STP;#Element:Dropdown;#Visual Studio Code客户端;#BM-VisualStudioCodeClient-Win32-Aug2022;