vscode: Screen reader gets trapped in Forms Mode when attempting to interact with various tools, gets trapped into Forms Mode on load and cannot use Escape to cancel out of Forms Mode (Accessibility)

  • VSCode Version: 1.44
  • OS Version: Windows 10 -Screen Reader: JAWS 2019 (Yes, I know you only test with NVDA … but NVDA has a Forms Mode, as well, and it may be affecting NVDA.)

Steps to Reproduce:

  1. Load VSC.
  2. As focus goes into Welcome page, Forms Mode is engaged and cannot be removed/disengaged with Escape key as usual.
  3. Even if Forms Mode somehow gets disengaged after using a keyboard shortcut from the screen reader, attempting to use keyboard to interact with any button or listbox or link with the enter key seems to just engage Forms Mode and does /NOT/ actually activate the button/tool/link.
  4. At this point the only thing I am able to do is Tab and Shift+Tab, along with some various keyboard shortcuts like Ctrl+M to change the tab behavior. I am unable to interact with anything that I tab to, nor can I disengage Forms Mode to browse properly.

Note: I work as a Web Developer for accessibility and, to me, it felt as though there was a parent container with a WAI-ARIA role of “application” somewhere which was essentially stealing focus. There are other roles that engage Forms Mode like this, expecting the control to have coded all keyboard interactions itself.

Does this issue occur when all extensions are disabled?: Yes/No Was not able to check, as this bug makes VSC entirely useless to me, as I am unable to disengage Forms Mode to be able to use the arrow-keys to browse and interact with the editor as usual.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 27 (11 by maintainers)

Most upvoted comments

Well, as I was the one who introduced the discussion about role application in the first place, I should really mind my words from now on. However, just a thought to start with to clear things up for me.

For the record, I thought role application at or near the top-most container also made sense given that (as I understand it) most of VSCode should be handled in focus / forms mode. And I think brainstorming on ideas with all stakeholders is a good thing. So please do not mind your words.

If @isidorn goes with our ideas, it’s his fault. 😀