Closed Bug 1632453 Opened 4 years ago Closed 4 years ago

The web based stub installer reinstall button is not readable by the NVDA tool

Categories

(Firefox :: Installer, defect, P2)

77 Branch
Desktop
Windows 10
defect

Tracking

()

VERIFIED FIXED
Tracking Status
firefox77 --- verified

People

(Reporter: dcicas, Assigned: agashlin)

References

(Blocks 1 open bug)

Details

(Keywords: access, regression)

Affected versions

  • 77.0a1

Affected platforms

  • Windows 10 x64

Preconditions
Note:

Steps to reproduce

  1. Uninstall the installed copy from preconditions.
  2. Run Stub Installer again.
    3.Hover over the reinstall button.

Expected result

  • The reinstall button is readable by the NVDA tool.

Actual result

  • The reinstall button is not readable by the NVDA tool.

Regression range
Fx 77.0a1 (build ID 2020-04-21-09-42-20)

Additional notes

  • The reinstall button is readable when using the TAB key.
Blocks: 1632191
Has Regression Range: --- → yes
Has STR: --- → yes
Assignee: nobody → agashlin
Priority: -- → P2

There are a few things going on here, in my testing on NVDA 2019.3.1. First, NVDA is getting the wrong coordinates for elements, seemingly due to DPI scaling, so when it tries to look up what's under the mouse it won't necessarily get what's visibly under the mouse. This is visible when Enable Highlighting is enabled in Preferences->Vision. We might be able to do something about this, but it might just be a NVDA bug.

Even when the button object is properly recognized, there are these errors in the log which might be preventing it from getting read:

Could not execute function event_mouseMove defined in NVDAObjects module; kwargs: {'x': 1755, 'y': 1154}
Traceback (most recent call last):
  File "eventHandler.pyc", line 100, in next
  File "NVDAObjects\__init__.pyc", line 1063, in event_mouseMove
  File "NVDAObjects\IAccessible\MSHTML.pyc", line 427, in makeTextInfo
  File "documentBase.pyc", line 24, in makeTextInfo
  File "NVDAObjects\IAccessible\MSHTML.pyc", line 333, in __init__
TypeError: not all arguments converted during string formatting
ERROR - eventHandler.executeEvent (16:54:09.060) - MainThread (16588):
error executing event: mouseMove on <NVDAObjects.Dynamic_EditableTextWithoutAutoSelectDetectionMSHTMLButtonIAccessible object at 0x0C577330> with extra args of {'x': 1755, 'y': 1154}
Traceback (most recent call last):
  File "eventHandler.pyc", line 100, in next
  File "NVDAObjects\__init__.pyc", line 1063, in event_mouseMove
  File "NVDAObjects\IAccessible\MSHTML.pyc", line 427, in makeTextInfo
  File "documentBase.pyc", line 24, in makeTextInfo
  File "NVDAObjects\IAccessible\MSHTML.pyc", line 333, in __init__
TypeError: not all arguments converted during string formatting

event_mouseMove is expecting a NotImplementedError from an object that doesn't support a point position, and the MSHTMLTextInfo object tries to format the position when throwing that, but it fails with a TypeError when trying to use %s on a locationHelper.Point. I think this is because a Point is a namedtuple, which is actually a tuple, and passing a tuple to the % operator means that each part of the tuple should have a corresponding format specifier.

I've confirmed that the latter issue is still present in the current master branch on GitHub (16ec967e3d), and that wrapping in a 1-ary tuple like (position,) makes the button read out properly. I believe this is a relevant issue, I'll be submitting a pull request to fix it.

Status: NEW → ASSIGNED

Confirmed that the messed up coordinates with DPI scaling seems to be a NVDA bug, or a combination NVDA/IE8 bug. I was able to reproduce it with an ordinary web page in plain IE8 on Win 7. I think this may have been reported to NVDA here, or in several similar issues. I don't think there's much to be done from our end.

My PR was merged into beta, once there is a new official beta/release build of NVDA I'll recheck and resolve this bug.

Keywords: access

The basic issue with reading the button is fixed in NVDA 2020.1rc1, available at the bottom of the development snapshots page. DPI scaling still makes this somewhat inaccurate, but that applies to everything on the page, not just the button.

Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Flags: qe-verify+
Flags: needinfo?(daniel.cicas)

Hello,
Using the latest stub installer and the latest alpha version of NVDA i can confirm that this issue is verified on 77.0b7 and on latest Nightly (BuildID: 20200518214824)

Status: RESOLVED → VERIFIED
Flags: needinfo?(daniel.cicas)
You need to log in before you can comment on or make changes to this bug.