Closed
Bug 877532
Opened 10 years ago
Closed 10 years ago
IAccessible::accNavigate with NAVRELATION_* fails
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
VERIFIED
FIXED
mozilla24
People
(Reporter: Jamie, Assigned: surkov)
Details
(Keywords: regression)
Attachments
(2 files)
1.06 KB,
text/html
|
Details | |
1.09 KB,
patch
|
tbsaunde
:
review+
akeybl
:
approval-mozilla-aurora+
akeybl
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
Str: 1. Open the attached test case. 2. Retrieve the IAccessible for the first table. 3. Call IAccessible::accNavigate(NAVRELATION_LABELLED_BY, CHILDID_SELF). Expected: The caption accessible should be returned. Actual: E_FAIL. This works in Firefox 21 but is broken in Firefox 22 and beyond.
Reporter | ||
Comment 1•10 years ago
|
||
Assignee | ||
Comment 2•10 years ago
|
||
How can I trigger it?
Reporter | ||
Comment 3•10 years ago
|
||
I don't understand. You trigger it as per the str I gave above. I don't know how to trigger it otherwise.
Assignee | ||
Comment 4•10 years ago
|
||
(In reply to James Teh [:Jamie] from comment #3) > I don't understand. You trigger it as per the str I gave above. I don't know > how to trigger it otherwise. I hoped there's a tool or perhaps I could use NVDA for that. I'm pretty sure the bug is on MSAA layer because core logic is covered by automated testing.
Reporter | ||
Comment 5•10 years ago
|
||
I haven't actually implemented any functionality which uses this yet. However, here's how you can trigger it using the NVDA Python console. You're using a Windows vm on a Mac, so you can't use the NVDA key, which is a bit painful, so you first need to temporarily bind a key you can use to contextually activate the NVDA Python console: 1. Right click the NVDA icon on the system tray, then Tools -> Python console. 2. Type these lines (you'll need to paste each line separately): import globalCommands globalCommands.commands.bindGesture("kb:control+alt+z", "activatePythonConsole") Now the actual steps to trigger: 1. Open the test case. 2. Make sure focus is on the document. 3. Press control+alt+z. 4. Type: focus.getChild(2).IAccessibleObject.accNavigate(0x1003, 0) Expected: Output should say something like: <comtypes.client.lazybind.Dispatch object at 0x05C29290> Actual: Output says something like: Traceback (most recent call last): File "<console>", line 1, in <module> COMError: (-2147467259, 'Unspecified error', (None, None, None, 0, None))
Assignee | ||
Comment 6•10 years ago
|
||
Assignee: nobody → surkov.alexander
Attachment #756425 -
Flags: review?(trev.saunders)
Comment 7•10 years ago
|
||
Comment on attachment 756425 [details] [diff] [review] patch >- if (xpRelation) { >+ if (xpRelation != -1) { why not < 0? I'd prefer we checked it was less than the max relation, but we don't have a constant for that anymore :(
Attachment #756425 -
Flags: review?(trev.saunders) → review+
Assignee | ||
Comment 8•10 years ago
|
||
(In reply to Trevor Saunders (:tbsaunde) from comment #7) > Comment on attachment 756425 [details] [diff] [review] > patch > > >- if (xpRelation) { > >+ if (xpRelation != -1) { > > why not < 0? it's the same, why does it matter? > I'd prefer we checked it was less than the max relation, but we don't have a > constant for that anymore :( we live under assumption constants are not negative, so it should be ok
Comment 9•10 years ago
|
||
(In reply to alexander :surkov from comment #8) > (In reply to Trevor Saunders (:tbsaunde) from comment #7) > > Comment on attachment 756425 [details] [diff] [review] > > patch > > > > >- if (xpRelation) { > > >+ if (xpRelation != -1) { > > > > why not < 0? > > it's the same, why does it matter? just treating -1 special looks funny > > I'd prefer we checked it was less than the max relation, but we don't have a > > constant for that anymore :( > > we live under assumption constants are not negative, so it should be ok sure but what's the point in calling RelationByType() if you know the relation type you want doesn't actually exist?
Assignee | ||
Comment 10•10 years ago
|
||
(In reply to Trevor Saunders (:tbsaunde) from comment #9) > (In reply to alexander :surkov from comment #8) > > (In reply to Trevor Saunders (:tbsaunde) from comment #7) > > > Comment on attachment 756425 [details] [diff] [review] > > > patch > > > > > > >- if (xpRelation) { > > > >+ if (xpRelation != -1) { > > > > > > why not < 0? > > > > it's the same, why does it matter? > > just treating -1 special looks funny so you prefer to have if (xpRelation >= 0) { Relation rel = RelationByType(); } > > > I'd prefer we checked it was less than the max relation, but we don't have a > > > constant for that anymore :( > > > > we live under assumption constants are not negative, so it should be ok > > sure but what's the point in calling RelationByType() if you know the > relation type you want doesn't actually exist? no point but we don't do that since we return early
Assignee | ||
Comment 11•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/fbccd02d5cff
Comment 12•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/fbccd02d5cff
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
Reporter | ||
Comment 13•10 years ago
|
||
Any chance of getting this backported? Otherwise, proper support for table captions in NVDA will work for Firefox 21 but not for 22 or 23.
Comment 14•10 years ago
|
||
Alex, what bug is this a regression from? The keyword indicates that it is, but I don't see any dependency. It would help the beta and aurora approval cases if we knew where this came from.
Assignee | ||
Comment 15•10 years ago
|
||
Comment on attachment 756425 [details] [diff] [review] patch [Approval Request Comment] Bug caused by (feature/regressing bug #): bug 873453 User impact if declined: NVDA and some AT are partially broken Testing completed (on m-c, etc.): m-c Risk to taking this patch (and alternatives if risky): no String or IDL/UUID changes made by this patch: no
Attachment #756425 -
Flags: approval-mozilla-aurora?
Reporter | ||
Comment 16•10 years ago
|
||
Verified fixed in Firefox 24.0a1 (2013-06-07).
Status: RESOLVED → VERIFIED
Updated•10 years ago
|
status-firefox24:
--- → fixed
Comment 17•10 years ago
|
||
Comment on attachment 756425 [details] [diff] [review] patch The bug that the regression is from landed only on mozilla 24, so this shouldn't need to be uplifted to 23.
Attachment #756425 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora-
Assignee | ||
Comment 18•10 years ago
|
||
(In reply to lsblakk@mozilla.com [:lsblakk] from comment #17) > Comment on attachment 756425 [details] [diff] [review] > patch > > The bug that the regression is from landed only on mozilla 24, so this > shouldn't need to be uplifted to 23. sorry a wrong bug number was specified, it was supposed to be bug 527461.
Assignee | ||
Comment 19•10 years ago
|
||
Comment on attachment 756425 [details] [diff] [review] patch [Approval Request Comment] Bug caused by (feature/regressing bug #): bug 527461 User impact if declined: NVDA and some AT are partially broken Testing completed (on m-c, etc.): no Risk to taking this patch (and alternatives if risky): no String or IDL/UUID changes made by this patch:no
Attachment #756425 -
Flags: approval-mozilla-beta?
Attachment #756425 -
Flags: approval-mozilla-aurora?
Attachment #756425 -
Flags: approval-mozilla-aurora-
Comment 20•10 years ago
|
||
Comment on attachment 756425 [details] [diff] [review] patch Approving to fix comment 13, given low risk and high reward for a11y users.
Attachment #756425 -
Flags: approval-mozilla-beta?
Attachment #756425 -
Flags: approval-mozilla-beta+
Attachment #756425 -
Flags: approval-mozilla-aurora?
Attachment #756425 -
Flags: approval-mozilla-aurora+
Comment 21•10 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/f191b6f1b424 https://hg.mozilla.org/releases/mozilla-beta/rev/45e0653fe06e
status-firefox22:
--- → fixed
status-firefox23:
--- → fixed
Comment 22•10 years ago
|
||
Verified as fixed with Firefox 22.0 (RC - 20130618035212) on a Windows 7 x64 VM running on Mac OSX 10.7.5. I used the steps in comment 5 and got the expected output (with a different address than the example, but that should be expected).
Updated•10 years ago
|
Comment 23•10 years ago
|
||
Verified as fixed under the conditions in comment 22 on: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0 (20130725195523)
Comment 24•10 years ago
|
||
Verified as fixed on Firefox 24 beta 1: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
You need to log in
before you can comment on or make changes to this bug.
Description
•