Closed
Bug 1512411
Opened 6 years ago
Closed 6 years ago
NVDA reads the previously hovered "Hamburger" menu option instead of the currently in hovered one
Categories
(Firefox :: Disability Access, defect)
Tracking
()
VERIFIED
FIXED
Firefox 66
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox63 | --- | unaffected |
firefox64 | --- | unaffected |
firefox65 | --- | verified |
firefox66 | --- | verified |
People
(Reporter: emilghitta, Assigned: MarcoZ)
References
Details
(Keywords: regression)
Attachments
(2 files)
502.10 KB,
image/gif
|
Details | |
47 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
[Affected versions]:
Firefox 65.0a1 (BuildId:20181205213623).
[Unaffected versions]:
Firefox 64.0 (BuildId:20181203202653).
Firefox 60.3.0esr (BuildId:20181017185317).
[Affected platforms]:
Windows 10 64bit.
[Preconditions]
Enable NVDA screen reader.
[Steps to reproduce]:
1. Launch Firefox.
2. Click on the "Hamburger" menu button.
3. Click on the "Help" button.
4. Hover over the available options a little faster.
[Expected result]:
NVDA reads the option that is currently being hovered.
[Actual result]:
NVDA sometimes reads the previously hovered option.
Example: Hovering over the "About Nightly" and then over the "Report Deceptive Site" makes NVDA read "About Nightly" even though the currently in hover option is "Report Deceptive Site".
[Regression range]:
This seems to be a recent regression:
Last good revision: 5f543ba66e2c74cfb9ece932447a2fded0da9abb
First bad revision: 111154a7621cc50da7bed70c93171b96c8ef92f0
Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=5f543ba66e2c74cfb9ece932447a2fded0da9abb&tochange=111154a7621cc50da7bed70c93171b96c8ef92f0
[Notes]
I have attached a screencast for more info about the "hovering speed" that I used in order to reproduce this issue.
Please note that I have managed to reproduce this issue on the "Hamburger menu", "Page actions" and "Library menu" options.
Reporter | ||
Comment 1•6 years ago
|
||
Hi Marco,
It seems that mozregression pointed out Bug 1507365 for causing this regression.
Can you please have a look ?
Thank you!
Flags: needinfo?(mzehe)
Assignee | ||
Comment 2•6 years ago
|
||
Aside from the fact that a blind screen reader user probably wouldn't use the browser in such a fashion, all that bug does is add proper labeling for toolbar buttons. So some controls might be labelled more that weren't labelled before in that panel. So I suspect that there is some latency involved when NVDA speaks the mouse hover that simply wasn't showing before due to missing labels. Jamie, do you have any idea on how NVDA works internally here?
Flags: needinfo?(mzehe) → needinfo?(jteh)
Comment 3•6 years ago
|
||
Now that the label accessibles are being exposed as children of the button, NVDA mouse routing hits the label (not the button), since that's the deepest node. That should be fine, except something is failing when we try to get the correct text at those screen coordinates from the IAccessibleText interface of the label. Actually, the IAccessibleText interface on those labels is quite broken in other ways too; e.g. can't review past the first character with NVDA. This only seems to happen on labels created with the label attribute, not labels which are "real" children of the button. (The latter is what bug 1507365 was intended to fix.)
Marco, can you look into this? Failing an understanding of why, we should prevent label children from being exposed in the label attribute case; e.g. maybe we only do the bug 1507365 behaviour if the label attribute is *not* present.
Flags: needinfo?(jteh) → needinfo?(mzehe)
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → mzehe
Status: NEW → ASSIGNED
Flags: needinfo?(mzehe)
Assignee | ||
Comment 4•6 years ago
|
||
Emil, could you install this try build and see if you can still reproduce the issue? https://treeherder.mozilla.org/#/jobs?repo=try&revision=e12a68d87e6988a02d657689f8c66559da1d9792
Since you as a sighted person can move the mouse more directly and see the hovered button and hear the one being spoken, you will be able to better reproduce this bug than I, who can only move the mouse in seemingly random places. Thanks!
Flags: needinfo?(emil.ghitta)
Assignee | ||
Comment 5•6 years ago
|
||
In bug 1507365, we introduced the ability of nested label children of toolbar buttons to provide the accessible name for a xul:toolbarbutton element. However, the XBL of xul:toolbarbutton causes the creation of a label accessible even if no xul:label child is present, and only the label attribute is being used. The nsIAccessibleText interface on such labels is, however, completely broken.
To fix this, we only accept xul:label children if they come from real XUL markup, not from the label attribute and the XBL creating the label. This means that some of the test changes from bug 1507365 have to be reverted to accomodate the new old behavior. But the new test for an actual label child still passes.
Comment 6•6 years ago
|
||
This is going to need an uplift to 65 once verified.
Updated•6 years ago
|
Attachment #9031207 -
Attachment description: Bug 1512411 - NVDA reads the previously hovered "Hamburger" menu option instead of the one currently being hovered over, r=Jamie → Bug 1512411 - Don't expose broken label children accessibles on a XUL toolbarbutton which specifies the label attribute, r=Jamie
Reporter | ||
Comment 7•6 years ago
|
||
This issue is not reproducible using the try build (provided in comment 4).
Flags: needinfo?(emil.ghitta)
Pushed by mzehe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4efb0957f56b
Don't expose broken label children accessibles on a XUL toolbarbutton which specifies the label attribute, r=Jamie
Comment 9•6 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
status-firefox66:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 66
Comment 10•6 years ago
|
||
Please nominate this patch for Beta approval when you get a chance.
Flags: needinfo?(mzehe)
Flags: in-testsuite+
Assignee | ||
Comment 11•6 years ago
|
||
Comment on attachment 9031207 [details]
Bug 1512411 - Don't expose broken label children accessibles on a XUL toolbarbutton which specifies the label attribute, r=Jamie
[Beta/Release Uplift Approval Request]
Feature/Bug causing the regression: bug 1507365
User impact if declined: When hovering the mouse over some buttons when NVDA is active, NVDA will no longer see the button's label and be able to speak it.
Is this code covered by automated tests?: Yes
Has the fix been verified in Nightly?: Yes
Needs manual test from QE?: Yes
If yes, steps to reproduce: See comment #0 or the Gif attached to the bug.
List of other uplifts needed: None.
Risk to taking this patch: Low
Why is the change risky/not risky? (and alternatives if risky): It is more strict on a rule imposed by bug 1507365, and the cases are covered by automated tests (some of which are just reverts of tests introduced by said bug).
String changes made/needed: None.
Flags: needinfo?(mzehe)
Attachment #9031207 -
Flags: approval-mozilla-beta?
Reporter | ||
Comment 12•6 years ago
|
||
This is verified fixed using Firefox 66.0a1 (BuildId:20181217000148) on Windows 10 64bit with NVDA.
Status: RESOLVED → VERIFIED
Updated•6 years ago
|
Flags: qe-verify+
Comment 13•6 years ago
|
||
Comment on attachment 9031207 [details]
Bug 1512411 - Don't expose broken label children accessibles on a XUL toolbarbutton which specifies the label attribute, r=Jamie
[Triage Comment]
Improves NVDA's ability to see and read some button labels when hovering over them. Approved for 65.0b5.
Attachment #9031207 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 14•6 years ago
|
||
bugherder uplift |
Reporter | ||
Comment 15•6 years ago
|
||
This is verified fixed using Firefox 65.0b5 (BuildId:20181217180946) on Windows 10 64bit with NVDA.
Flags: qe-verify+
You need to log in
before you can comment on or make changes to this bug.
Description
•