vscode 当聚焦Intellisense项目更新时,VoiceOver会忽略该项,

ee7vknir  于 4个月前  发布在  Vscode
关注(0)|答案(6)|浏览(107)

问题类型:错误
在尝试使用智能感知时,VoiceOver现在会读取错误的信息。通常你会听到之前输入的HTML的关闭标签。

  1. 打开一个新文件并将其类型设置为HTML。
  2. 输入基本标签。
  3. 输入<he并使用智能感知向下箭头完成到<t。注意你听到的是
    VS Code版本:Code - Insiders 1.66.0-insider (Universal) ( eaa2b43 , 2022-03-21T07:21:37.996Z)
    操作系统版本:Darwin arm64 21.4.0
    受限模式:否
    系统信息
    | 项目 | 值 |
    | ------------ | ------------ |
    | CPUs | Apple M1 (8 x 24) |
    | GPU状态 | 2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled |
    | 负载(平均) | 2, 2, 3 |
    | 内存(系统) | 16.00GB (0.47GB可用) |
    | 进程参数 | --crash-reporter-id 37b4596b-f9a0-4498-9026-c147121fb955 |
    | 屏幕阅读器 | 是 |
    | VM | 0% |扩展:无A/B实验
yws3nbqq

yws3nbqq1#

感谢keford填写这个。然而,在步骤4中,似乎你遗漏了描述的结尾。
按照你的步骤,我最终得到一个文件如下:

<header>
	<t
</header>

我的光标在<t上,当我按下t时,VoiceOver会读出"header"。这是你在这里试图描述的bug吗?

eyh26e7m

eyh26e7m2#

如果这不清楚,我很抱歉。我会制作一个屏幕录制来说明正在发生的事情。Kelly

gwbalxhn

gwbalxhn3#

@keford通过电子邮件向我提供了更多信息,这里有三个问题:

  1. html建议过于激进地关闭标签。为此,我打开了[html] don't show closing element proposal as first entry if element is already closed later #145883
  2. VO建议接受整个编辑器内容的阅读。我们已经通知了VO相关人员,他们承诺会对此进行调查
  3. 当VO建议小部件项目焦点发生变化时,未被读取出来。
    让我们继续讨论第三个问题。
    这似乎是一个VoiceOver问题,因为它在NVDA(Windows)和Orca(Linux)上运行正常。我会给苹果发一封邮件,让大家知道他们的看法。
    重现步骤:
  4. Cmd + n新建文件,F1 > 设置语言模式 > JavaScript
  5. 输入c,ctrl+space -> intelli-sense显示,VO正确地读取了选定的元素
  6. 输入o -> intelli-sense更新,VO没有读取新选定的项目
m2xkgtsf

m2xkgtsf4#

@joanmarie 我似乎也能在Linux上重现这个问题(尽管没有使用最新的Orca)。步骤如下:

  1. 打开Orca,启动VS Code
  2. 按Cmd + n新建文件,按F1 > 设置语言模式 > JavaScript
  3. 输入c,完成菜单出现。Orca正确地读取了完成菜单中选定的元素
  4. 输入o -> 完成菜单更新。Orca没有读取新选定的项目在完成菜单中 🐛

当你有时间时,请尝试在你那边重现。如果你能重现,你知道Chromium中可能缺少哪些事件吗?

这在较旧的VS Code版本中可以正常工作,因为这是一个与Chrome无关的bug,而Chrome在我们通过Electron 17发现的问题中已经修复了。

顺便说一下,似乎NVDA也可以正常工作。

wvt8vs2t

wvt8vs2t5#

当我按下“c”键时,Orca会显示一个焦点事件(名称:'caches, docs: var caches: CacheStorageAvailable only in secure contexts.')。这就是为什么Orca首先显示第一个。
如果我按下向下箭头,我会得到一个新的焦点事件(名称:'cancelAnimationFrame, docs: function cancelAnimationFrame(handle: number): void)。随后的向下箭头和向上箭头按相同的方式工作。
当我按下“o”键时,我看到一系列对象被销毁,紧接着是名称更改事件(尽管名称似乎相同)。然后是正在编辑的文档的光标移动事件。它声称是聚焦的,所以Orca在那里找到文本("co")并更新其位置。但是没有新的焦点事件来表示新选中的列表项。
当我按下“n”键时,也是同样的道理。没有新的焦点事件。
根据以上情况,我的猜测是您正在使用活动后代更改,并且在Chromium中遇到了变化,我已经为Linux解决了这个问题,而且可能后来在一般情况下也得到了修复。您能否使用VSCode Web和较新版本的Chrome重新复现这个问题?

xfb7svmp

xfb7svmp6#

@joanmarie 感谢!是的,我们在这里使用了 active-descendant
我可以使用 Chrome 100.0.4896.127(官方构建)(64位)在我的 Linux(带有较旧的 Orca 版本)上重现。
在我的 macOS 上,我尝试了 Chrome Canary 103,并且也可以使用 VoiceOver 重现。

相关问题