Issue metadata
Sign in to add a comment
|
IAccessible::get_accParent fails for the web page root object
Reported by
supp...@quickmacros.com,
Oct 10 2017
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 Steps to reproduce the problem: 1. Start Chrome with command line --force-renderer-accessibility 2. Get IAccessible COM object of the web page root (role ROLE_SYSTEM_DOCUMENT). 3. Call its get_accParent. What is the expected behavior? get_accParent returns 0 and gets the accessible object. What went wrong? get_accParent returns 1 and does not get the accessible object. Did this work before? Yes Not sure. It it worked many years, and in v 61 i noticed it fails. Chrome version: 61.0.3163.100 (Official Build) (64-bit) (cohort: Stable) Channel: stable OS Version: 10.0 Flash Version: 27.0.0.130 I think this is the reason of another issue: If you get IAccessible of any web page element, for example with AccessibleObjectFromPoint, and then get its parent with get_accParent, then call WindowFromAccessibleObject(parent), it fails. Probably because WindowFromAccessibleObject then walks ancestors (using get_accParent) until finds a WINDOW object, but now it cannot find WINDOW because DOCUMENT's get_Parent is broken.
,
Nov 5 2017
,
Nov 5 2017
,
Nov 5 2017
Regression occurred about 6 months ago from bug 703369: https://codereview.chromium.org/2891913005/ The special case for the root of the tree was removed.
,
Nov 6 2017
,
Nov 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/85fde670a73bd828de43360f88e382817efdd05a commit 85fde670a73bd828de43360f88e382817efdd05a Author: Aaron Leventhal <aleventhal@chromium.org> Date: Tue Nov 07 07:10:56 2017 MSAA accParent of document should not be null. It is important for get_accParent on the root of a document to return the ROLE_SYSTEM_WINDOW object as it used to. This allows oleacc.lib's WindowFromAccessibleObject implementation to work correctly. Bug: 773208 Change-Id: I7c3ffd3968f7c48bdf6b94bf08dcdf849f4c763f Reviewed-on: https://chromium-review.googlesource.com/754129 Commit-Queue: Aaron Leventhal <aleventhal@chromium.org> Reviewed-by: Doug Turner <dougt@chromium.org> Cr-Commit-Position: refs/heads/master@{#514417} [modify] https://crrev.com/85fde670a73bd828de43360f88e382817efdd05a/content/browser/accessibility/accessibility_tree_formatter_win.cc [modify] https://crrev.com/85fde670a73bd828de43360f88e382817efdd05a/content/browser/accessibility/browser_accessibility.cc [modify] https://crrev.com/85fde670a73bd828de43360f88e382817efdd05a/content/test/data/accessibility/html/iframe-expected-win.txt [modify] https://crrev.com/85fde670a73bd828de43360f88e382817efdd05a/content/test/data/accessibility/html/iframe.html
,
Nov 7 2017
,
Nov 15 2017
Now get_accParent for DOCUMENT works, but then WindowFromAccessibleObject gets a control of class Chrome_RenderWidgetHostHWND. For all other Chrome accessible objects it gets the main window, not the control. For web page elements it normally gets the main window, but if the element was retrieved with get_accParent or accNavigate, it gets the control. So, WindowFromAccessibleObject for the same accessible object gets different window, depending on how the object was retrieved. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by ranjitkan@chromium.org
, Oct 11 2017Labels: TE-NeedsTriageHelp