Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NVDA turns focus mode on and off when navigating between text inputs hosted in different iframes in Chrome #12722

Open
ochalet-wp opened this issue Aug 9, 2021 · 8 comments
Labels
app/chrome feature/browse-mode p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. ux

Comments

@ochalet-wp
Copy link

ochalet-wp commented Aug 9, 2021

Let's take the example of a page with 3 fields hosted in 3 different iframes:

  • When navigating to the first text input (using tab or by clicking into the field) I can type in text (NVDA has switched on focus mode automatically)
  • When navigating to the 2nd text input, I cannot type in text (NVDA has switched focus mode off)
  • When navigating to the 3rd text input, I can type in text (NVDA has switched focus mode back on)

Steps to reproduce:

  1. Start NVDA and navigate to https://ochalet-wp.github.io/nvda/ in Chrome
  2. Wait for NVDA to have fully read the content of the page
  3. Click or tab into Field 1
  4. Attempt to enter text and confirm that you can enter text
  5. Click or tab into Field 2
  6. Attempt to enter text and confirm that you cannot enter text
  7. Click or tab into Field 3
  8. Attempt to enter text and confirm that you can enter text

Actual behavior:

NVDA turns off focus mode for Field 2 and I cannot enter text

Expected behavior:

NVDA leaves focus mode on for Field 2 and I can enter text.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

Release 2021.1

Windows version:

Windows 10 Version 2004 (OS Build 19041.1110)

Name and version of other software in use when reproducing the issue:

Chrome version 92.0.4515.131

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

No

If add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

@feerrenrut
Copy link
Contributor

Hi @ochalet-wp, thanks for the report, however please provide a minimal example. Having to install and run node to demonstrate something like this is excessive. From the description it should be reproducible with a simple HTML example. You could consider making a codePen or jsBin for the example.

@ochalet-wp
Copy link
Author

Hi @feerrenrut, thank you for the feedback. I have updated the steps to reproduce the issue with a simple HTML example.

@feerrenrut
Copy link
Contributor

Thanks @ochalet-wp, I have tested this with Edge (Chromium) and NVDA 2020.1. Using tab to move between fields I get the following speech:

Field 1  edit  Enter value 1  blank
Focus mode
frame    clickable  Field 2  edit    Enter value 2
Browse mode
Field 3  edit  Enter value 3  blank
Focus mode

The changes between focus and browse mode seem to alternate depending on what mode NVDA is in first, this doesn't seem to be anything specific to the controls.

Note: @ochalet-wp, when NVDA is in browse mode, it captures keyboard input, the keys become shortcuts to make navigation easier. For-instance h jumps to the next heading. By default browse mode is signified via an earcon "boop" sound, focus mode has a "click" sound. In browse mode settings these sounds can configured to use speech. A user can manually toggle between the modes with NVDA+space.

@ochalet-wp
Copy link
Author

Hi @feerrenrut, thank you for the detailed analysis.

I understand that NVDA automatically switches on focus mode when the user navigates to an editable field (although that option can be switched off by the user). So isn't it a case that in our example focus mode should remain turned on when moving the focus from Field 1 to Field 2?

@feerrenrut
Copy link
Contributor

Yes, this sounds like a problem. I suspect the difficulty comes from the iframes.

In case the original sample disappears, here is a codepen: https://codepen.io/reefturner/pen/MWoGgda

@luismartinezs
Copy link

I'm running into the same issue with react-stripe-js inputs (which render inside its own iframe each). I see the error on both Firefox and Chrome. Is there any update on a fix or workaround for this?

@seanbudd seanbudd added p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority ux triaged Has been triaged, issue is waiting for implementation. labels Jan 18, 2023
@Adriani90
Copy link
Collaborator

I tag here @ObjectInSpace and @aleventhal since this issue seems to be chrome specific.

@ObjectInSpace
Copy link

I haven't worked at Chrome for some time. (If you have any WhatsApp issues, I'm your guy!) I think Aaron does not check github much. If it's an issue in Chrome your best bet is to file it on crbug.com.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app/chrome feature/browse-mode p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. ux
Projects
None yet
Development

No branches or pull requests

6 participants