microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
162.51k stars 28.65k forks source link

[Accessibility] word-by-word keyboard navigation does not work in Output View #196854

Open jooyoungseo opened 10 months ago

jooyoungseo commented 10 months ago

Type: Bug

CC @meganrogge

  1. Activate Output View (ctrl+shift+U)

  2. Choose "Windows" as output channel

  3. In the Output View, press ctrl+LeftArrow or ctrl+RightArrow to see if you can move around on a word level.

VS Code version: Code - Insiders 1.84.0-insider (35419fc016b8d3d5dbc59aa11a0be957b0897309, 2023-10-27T10:41:08.734Z) OS version: Windows_NT x64 10.0.22621 Modes:

System Info |Item|Value| |---|---| |CPUs|11th Gen Intel(R) Core(TM) i5-1145G7 @ 2.60GHz (8 x 2611)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|undefined| |Memory (System)|15.71GB (5.65GB free)| |Process Argv|--crash-reporter-id b05b88e5-8894-4031-ae34-fa034ebddea9| |Screen Reader|yes| |VM|0%|
Extensions (94) Extension|Author (truncated)|Version ---|---|--- android-dev-ext|ade|1.3.2 aiprm-lang|AIP|0.0.2 Bookmarks|ale|13.4.2 openscad|Ant|1.2.2 spellright|ban|3.0.118 zoterolatex|bna|0.4.1 mermaid-markdown-syntax-highlighting|bpr|1.5.3 doxdocgen|csc|1.4.0 vscode-markdownlint|Dav|0.52.0 vscode-eslint|dba|2.4.2 vscode-quick-select|dba|0.2.9 vscode-deno|den|3.26.0 gitlens|eam|14.4.1 EditorConfig|Edi|0.16.4 prettier-vscode|esb|10.1.0 vscode-google-translate|fun|1.4.13 codespaces|Git|1.16.2 copilot|Git|1.130.518 copilot-chat|Git|0.9.2023102703 remotehub|Git|0.62.0 vscode-github-actions|git|0.26.2 vscode-pull-request-github|Git|0.74.1 overleaf-workshop|iam|0.4.0 cslpreview|igo|0.2.2 easy-snippet|inu|0.6.3 path-autocomplete|ion|1.25.0 latex-workshop|Jam|9.14.1 lilypond-syntax|jea|0.1.1 scheme|jea|0.2.0 better-cpp-syntax|jef|1.17.2 vscode-bard|jim|0.0.10 google-search|kam|0.0.1 vscode-lua-format|Koi|1.3.8 lilypond-formatter|lhl|0.2.3 lilypond-pdf-preview|lhl|0.2.8 lilypond-snippets|lhl|0.1.1 vslilypond|lhl|1.7.3 zotero|mbl|0.1.10 git-graph|mhu|1.30.0 vscode-docker|ms-|1.27.0 black-formatter|ms-|2023.5.12831009 flake8|ms-|2023.8.0 isort|ms-|2023.11.12711013 python|ms-|2023.19.13001012 vscode-pylance|ms-|2023.10.52 jupyter|ms-|2023.10.1003011100 jupyter-keymap|ms-|1.1.2 jupyter-renderers|ms-|1.0.17 vscode-jupyter-cell-tags|ms-|0.1.8 vscode-jupyter-slideshow|ms-|0.1.5 remote-containers|ms-|0.320.0 remote-ssh|ms-|0.107.2023102615 remote-ssh-edit|ms-|0.86.0 remote-wsl|ms-|0.81.8 vscode-remote-extensionpack|ms-|0.24.0 azure-repos|ms-|0.38.0 cmake-tools|ms-|1.15.31 cpptools|ms-|1.17.5 cpptools-extension-pack|ms-|1.3.0 js-debug-nightly|ms-|2023.10.2517 powershell|ms-|2023.9.5 remote-explorer|ms-|0.5.2023101809 remote-repositories|ms-|0.40.0 vscode-github-issue-notebooks|ms-|0.0.130 vscode-selfhost-test-provider|ms-|0.3.19 vscode-serial-monitor|ms-|0.10.0 vsliveshare|ms-|1.0.5883 autodocstring|njp|0.6.1 pandocciter|not|0.10.3 shiny-python|Pos|0.1.5 shinyuieditor|pos|0.5.0 quarto|qua|1.106.0 r-debugger|RDe|0.5.4 java|red|1.24.0 vscode-xml|red|0.26.1 r|REd|2.8.2 multi-command|ryu|1.6.0 AudioQ|Seh|0.0.2 vscode-deepl|soe|1.0.6 abc-music|sof|0.4.0 lua|sum|3.7.0 latex-utilities|tec|0.4.10 cmake|twx|0.0.17 errorlens|use|3.15.0 intellicode-api-usage-examples|Vis|0.2.8 vscodeintellicode|Vis|1.2.30 vscode-arduino|vsc|0.6.0 vscode-java-debug|vsc|0.54.0 vscode-java-dependency|vsc|0.23.1 vscode-java-pack|vsc|0.25.15 vscode-java-test|vsc|0.40.0 vscode-maven|vsc|0.42.0 markdown-all-in-one|yzh|3.5.1 grammarly|znc|0.22.1 (1 theme extensions excluded)
A/B Experiments ``` vsliv695:30137379 vsins829:30139715 vsliv368:30146709 vsreu685:30147344 python383cf:30185419 vspor879:30202332 vspor708:30202333 vspor363:30204092 vstes627:30244334 vslsvsres303:30308271 pythontb:30258533 pythonptprofiler:30281269 vshan820:30294714 vscod805cf:30301675 bridge0708:30335490 bridge0723:30353136 vsaa593:30376534 pythonvs932:30404738 py29gd2263:30784851 vsclangdf:30492506 c4g48928:30535728 dsvsc012:30540252 pynewext54:30618038 a9j8j154:30646983 showlangstatbar:30737417 ecj1e332:30687743 pythonfmttext:30716741 fixshowwlkth:30771523 showindicator:30805243 pythongtdpath:30726887 i26e3531:30792625 welcomedialog:30812478 pythonnosmt12:30779711 pythonidxpt:30768918 pythonnoceb:30776497 copilotsettingt:30808721 asynctok:30869155 dsvsc013:30777762 dsvsc014:30777825 pythonmpswarning:30859870 dsvsc015:30821418 pythontestfixt:30866404 pythonregdiag2:30871582 pyreplss1:30865275 pythonmypyd1:30859725 pythoncet0:30859736 pythontbext0:30864172 accentitlementst:30870582 ```
meganrogge commented 10 months ago

Word by word navigation / announcement via option on mac when in the output channel works with VoiceOver, so I find this surprising. I'll have to test on windows.

meganrogge commented 10 months ago

Word navigation doesn't work on windows, which is why there's no announcement.

sandy081 commented 10 months ago

@meganrogge Output view is backed by the text editor.

https://github.com/microsoft/vscode/blob/e92f242b37382592fecddf62e6bfd5e8afc8a717/src/vs/workbench/contrib/output/browser/outputView.ts#L152

Should I have to set some editor options to make this work?

meganrogge commented 10 months ago

It looks like the word navigation commands are disabled on windows via the when condition because of https://github.com/microsoft/vscode/issues/90578

As such, it works if I disable screen reader mode.

With screen reader mode enabled, word navigation does work in the editor, though not as a result of a VS Code command, but natively. It's not clear why that does not also work when in the output view, maybe you're right about some option.

meganrogge commented 10 months ago

@alexdima do you know if there's some option which enables this?