New issue
Advanced search Search tips

Issue 596101 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug
Team-Accessibility



Sign in to add a comment

Android accessible touch exploration not working inside scrolled iframes

Project Member Reported by dmazz...@chromium.org, Mar 18 2016

Issue description

See b/27685759

To repro:

* Open a page with an iframe that scrolls
* Scroll the iframe down
* Try to tap inside the iframe (touch exploration) - the hit testing is wrong, it's getting the wrong element

Specific example of a repro in b/27685759

 
Would be very nice to know if there was any form of workaround for this.
Fix out for review: https://codereview.chromium.org/1836113002

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a04ec0570cf902b3714fee07ffe3361fd80dfa16

commit a04ec0570cf902b3714fee07ffe3361fd80dfa16
Author: dmazzoni <dmazzoni@chromium.org>
Date: Fri Apr 01 08:41:08 2016

Fix accessible touch exploration inside of iframes.

Now that we've switched to one accessibiliy tree per iframe, the previous
hit testing code broke. Previously we send a message to the top frame with
the point and it fired a HOVER event on the target node. Now if the target
node has a child frame, it sends a response IPC to the browser so it can
redispatch the hit test on the child frame and keep drilling down until it
reaches a leaf node.

Note: all of the changes made in this patch are appropriate for OOPIF,
however it's unclear if the coordinate transformation will work correctly
in that case. Waiting on a resolution to crbug.com/459591 before fixing
that, but since there are no plans to use OOPIF on Android right now this
isn't as urgent.

BUG= 596101 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation

Review URL: https://codereview.chromium.org/1836113002

Cr-Commit-Position: refs/heads/master@{#384520}

[delete] https://crrev.com/a6623620900c411c645c339d97b648809dfd81be/content/browser/accessibility/android_hit_testing_browsertest.cc
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/browser/accessibility/browser_accessibility_manager.cc
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/browser/accessibility/browser_accessibility_manager.h
[add] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/browser/accessibility/hit_testing_browsertest.cc
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/common/accessibility_messages.h
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/content_tests.gypi
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/renderer/accessibility/renderer_accessibility.cc
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/test/accessibility_browser_test_utils.cc
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/content/test/accessibility_browser_test_utils.h
[modify] https://crrev.com/a04ec0570cf902b3714fee07ffe3361fd80dfa16/third_party/WebKit/Source/modules/accessibility/AXObject.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment