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

Activating a link which contains an off-screen node in Firefox causes NVDA to click on something else #978

Closed
nvaccessAuto opened this issue Oct 15, 2010 · 2 comments

Comments

@nvaccessAuto
Copy link

Reported by jteh on 2010-10-15 06:23
Str:

  1. Open the attached test case.
  2. Navigate to and press enter on the "Off-screen span inside link" link to activate it.
  3. Expected: A message box should appear saying "hi".
  4. Actual: The system menu appears.

The problem is that the deepest node (which is the one that NVDA tries to activate) is an off-screen span, which is represented by a paragraph accessible. This accessible has no click action, so NVDA clicks at that position. Unfortunately, the node is off the top and left of the screen, so it winds up clicking the button to activate the system menu.

This is a bit tricky to fix. My first thought was to always use focusableNVDAObjectAtStart, but this would break clickables that aren't focusable. My current solution is:

  1. Try performing the default action as we do now.
  2. If that fails, check for the off-screen/invisible state. If it is on-screen and visible, click as we do now and return.
  3. Otherwise, get the parent and repeat from step 1.
    We need to think about whether this could cause any problems.

Note that this isn't a problem in IE. For IE, we only call HTMLNode.click() or use MSAA. I guess IE bubbles the click() up to the link, even though the span itself isn't clickable.

@nvaccessAuto
Copy link
Author

Attachment offscreenNodeInLink.html added by jteh on 2010-10-15 06:24
Description:
Test case.

@nvaccessAuto
Copy link
Author

Comment 1 by jteh on 2011-02-22 23:52
Oops. Duplicate of #801.
Changes:
Added labels: duplicate
State: closed

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

No branches or pull requests

1 participant