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

Block level links not triggered with 'automatically set system focus to focussable elements' off #8528

Closed
hills001 opened this issue Jul 20, 2018 · 17 comments · Fixed by #11130

Comments

@hills001
Copy link

hills001 commented Jul 20, 2018

Edit:
Description has been updated with information from comments:

Steps to reproduce:

Using the example page at: https://nvda-firefox-block-level-links-8528.netlify.app/.

In browse mode, tab to each of the example links and press 'Enter' key to activate. With 'automatically set system focus to focussable elements' set it to off some don't activate.

Settings:

  • 'Enable browse mode on page load'
  • 'Automatic focus mode on focus changes' enabled
  • 'Automatic focus mode for caret movement' disabled.
  • Use NVDA+ 8 to turn toggle 'automatically set system focus to focussable elements'. Set it to off.

Steps:

  • Open the demo page
  • Ensure focus is not on a link on the page already: press shift+tab to land on the address bar
    • You now have to press F6 to get back to the document, but we can be confident focus is not on a link.
  • Confirm virtual cursor is on first heading: press numpad+8 to hear "heading level 1 Example block level links"
  • Press NVDA+space to once or twice to confirm browse mode is enabled.
  • Press Tab to any of the three links and press enter, new page does not open
  • Confirm that the virtual cursor follows focus: press numpad+8 to hear the link "visited link heading level 3 Example 1"
  • Press enter to activate.

Actual behavior:

Firefox

With 'automatically set system focus to focussable elements' off (NVDA+ 8)
The first and second example links are not triggered by pressing Enter.

Chrome

With 'automatically set system focus to focussable elements' off (NVDA+ 8)
The first and second example links are not triggered by pressing Enter.

Expected behavior:

Enter should activate the link.

System configuration:

NVDA Installed/portable/running from source:

Installed

NVDA version:

2018.1.1

Windows version:

10.0.15063 Build 15063

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

Firefox 61.0.1

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA?

No

Other notes:

Looking at the NVDA logs, I can see these differences:

--IE11---
name: u'A third level heading\r\nSome sub text'
role: ROLE_LINK
states: STATE_FOCUSABLE, STATE_LINKED, STATE_FOCUSED
isFocusable: True
hasFocus: True

--FIREFOX---
name: u'A third level heading'
role: ROLE_HEADING
states:
isFocusable: False
hasFocus: False

@Adriani90

This comment has been minimized.

@hills001
Copy link
Author

hills001 commented May 9, 2019

Hi,
Thanks for the reply. I have updated to NVDA 2019.1.1 and still have the problem in Firefox 66.0.5.

The problem occurs when using the tab key to navigate between the three example links/boxes in the above Codepen, and then using the Enter key to trigger.

If I exit NVDA, I'm able to tab/enter on all three boxes. I'm able to tab/enter on all three boxes in Chrome and IE when NVDA is running.

@Adriani90

This comment has been minimized.

@hills001
Copy link
Author

hills001 commented Jan 16, 2020

Hi, thanks for the reply, I'm still experiencing this issue, using NVDA 2019.1.1 and Firefox 72.0.1.

I have created a new demo page at: https://cdpn.io/DemoBrand/debug/QWwVZPq/xnMabZJGPpdr

The three links on the demo page should open Google, NV Access and Github in new tabs. When using the enter key to trigger the links, only the third link works for me in Firefox when NVDA is running.

When NVDA is not running all three links work correctly. As per the logs in my initial post, I suspect focus is being shifted to the inner block level elements when NVDA is running, so the links are no longer selected.

@hills001
Copy link
Author

@Adriani90 Hi, I've just updated the demo page for this issue: https://nvda-firefox-block-level-links-8528.netlify.app/ - I am still having this problem with NVDA 2019.1.1 and Firefox 75.0

@feerrenrut

This comment has been minimized.

@hills001
Copy link
Author

@feerrenrut thanks for the reply. I tried using a different computer and also wasn't able to replicate the issue. After enabling logging I noticed the following line in Firefox:
DEBUGWARNING - virtualBuffers.gecko_ia2.Gecko_ia2._activateNVDAObject
which lead me to this issue: #9886. It seems pressing nvda + 8 toggles 'Automatically set system focus to focusable elements'. When turned off the block level links are not clickable and when turned on all three of the links work correctly.

As the other issue is still open, would you recommend I close this issue?

@feerrenrut

This comment has been minimized.

@feerrenrut

This comment has been minimized.

@hills001
Copy link
Author

@feerrenrut thanks for the reply, hopefully it's not a common issue, however I was able to replicate the issue in Chrome and IE11 on a couple of different machines when browse mode was enabled.

I have 'Enable browse mode on page load' and 'Automatic focus mode on focus changes' enabled and 'Automatic focus mode for caret movement' disabled in settings.

Here's the steps and key presses I used:

  • Open the demo page https://nvda-firefox-block-level-links-8528.netlify.app/

  • Check browse mode is enabled by pressing the H key - can hear 'Example level 1 visited link'

  • Turn off 'automatically set system focus to focussable elements' by pressing nvda (insert) + 8

  • Tab to any of the three links and press enter, new page does not open

  • Switch to focus mode by pressing insert + space, test by pressing H key, only hear 'h'

  • Tab to any of the three links and press enter, new pages open

  • Re-enable 'automatically set system focus to focussable elements' by pressing insert + 8

  • Switch to browse mode by pressing insert + space

  • All three links correctly open when pressing enter

Let me know if you need any further info.

@feerrenrut

This comment has been minimized.

@jcsteh
Copy link
Contributor

jcsteh commented Apr 30, 2020

I think this is intentional, though to be honest I don't know the history behind it.

No, it isn't. It's a known bug when "Automatically set system focus to focusable elements" is disabled. See #9511 (comment), #10884.

My understanding: the virtual cursor (browse mode pointer for where you are) doesn't follow focus (moved by tab).

I confirmed that the browse mode cursor always follows tab, even with this setting disabled. However, for some reason, when the setting is disabled, pressing enter doesn't work in this case. I don't know why.

@feerrenrut
Copy link
Contributor

I confirmed that the browse mode cursor always follows tab, even with this setting disabled.

Yep, can confirm with the example page

  • In browse mode, virtual cursor on "heading level 1 Example block level links"
  • Press Tab
  • Press numpad 8 to confirm current virtual cursor location, hear "visited link heading level 3 Example 1"

I think this issue contains the clearest explanation of the problem, I'll reopen it. Note issue #9886 also looks related.

@feerrenrut feerrenrut reopened this May 1, 2020
@Adriani90
Copy link
Collaborator

I saw this issue not only for these links but also i.e. for buttons in some cases. It's occuring only when automatically set focus to focusable elements is disabled. For some reason NVDA seems to have problems in syncing the virtual cursor and the system focus. If the automatic set focus is disabled, when pressing enter or space NVDA should draw the system focus to the element on which the action has been performed in order for this to work. Maybe it is not trivial to gain the location properties of these links and that's why the action is not performed. Strange enough, with many other links it works properly but not everytime.

To be honnest, I think the solution merged for the problems described in #9511 is not the best one for the long term but as far as I know there is not a better one sofar.

@Adriani90

This comment has been minimized.

@feerrenrut
Copy link
Contributor

I have updated the description of this issue, can someone else confirm that they can reproduce it with the steps mentioned (to ensure they are clear) thanks.

@feerrenrut feerrenrut changed the title Block level links not triggered in Firefox Block level links not triggered with 'automatically set system focus to focussable elements' off May 1, 2020
@Adriani90
Copy link
Collaborator

I can reproduce it with the steps in the description. The steps can be also much more simpler.
STR:

  1. Open Firefox or Google with NVDA running
  2. Using the default settings of nvda, press nvda+8 to turn off automatically set focus to focusable elements
  3. Navigate to the website in description
  4. Press tab and then enter on any of the link examples
    Actual: NVDA does not trigger the links
    Expected. NVDA should trigger the links and a new website should open

Using NVDA 2020.1, Firefox 76 or Chrome 81.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants