Bug 139330

Summary: AX: I cannot activate links on the mobile version of news.google.com
Product: WebKit Reporter: chris fleizach <cfleizach>
Component: AccessibilityAssignee: chris fleizach <cfleizach>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, commit-queue, dmazzoni, jcraig, jdiggs, mario, samuel_white, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch simon.fraser: review+

chris fleizach
Reported 2014-12-05 18:04:52 PST
If I visit news.google.com on iPhone with VOT enabled, the mobile version by default appears. If I touch Top Stories, swipe once to the right, then double tap to activate the first top story link, nothing ahppens. Turn off VO and do the same, you’ll be brought to the proper location, which may mean a new tab.
Attachments
patch (11.97 KB, patch)
2014-12-05 18:09 PST, chris fleizach
simon.fraser: review+
chris fleizach
Comment 1 2014-12-05 18:05:18 PST
This is because news.google only listens for touch events and ignores all other kinds of clicks. we need to simulate a touch event
chris fleizach
Comment 2 2014-12-05 18:09:43 PST
Simon Fraser (smfr)
Comment 3 2014-12-05 19:04:53 PST
Comment on attachment 242691 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=242691&action=review > Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm:278 > + PlatformTouchPoint::TouchPhaseType touchPhase; > + switch (type) { > + case PlatformEvent::TouchStart: > + touchPhase = PlatformTouchPoint::TouchPhaseBegan; > + break; > + case PlatformEvent::TouchMove: > + touchPhase = PlatformTouchPoint::TouchPhaseMoved; > + break; > + case PlatformEvent::TouchEnd: > + touchPhase = PlatformTouchPoint::TouchPhaseEnded; > + break; > + default: > + ASSERT_NOT_REACHED(); > + break; > + } Would be nice to pull this enum translation out into a small separate function. > Source/WebCore/accessibility/AccessibilityObject.h:757 > + virtual bool isDetachedFromParent() { return false; } Is this relevant? > LayoutTests/platform/ios-simulator/ios-accessibility/press-fires-touch-events.html:42 > +// window.jsTestIsAsync = true; > + > + if (window.accessibilityController) { > + > + var button = accessibilityController.accessibleElementById("button"); > + button.press(); > + } > +// if (window.testRunner) > + // testRunner.waitUntilDone(); You have some commented-out code here.
chris fleizach
Comment 4 2014-12-05 21:31:03 PST
(In reply to comment #3) > Comment on attachment 242691 [details] > patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=242691&action=review > > > Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm:278 > > + PlatformTouchPoint::TouchPhaseType touchPhase; > > + switch (type) { > > + case PlatformEvent::TouchStart: > > + touchPhase = PlatformTouchPoint::TouchPhaseBegan; > > + break; > > + case PlatformEvent::TouchMove: > > + touchPhase = PlatformTouchPoint::TouchPhaseMoved; > > + break; > > + case PlatformEvent::TouchEnd: > > + touchPhase = PlatformTouchPoint::TouchPhaseEnded; > > + break; > > + default: > > + ASSERT_NOT_REACHED(); > > + break; > > + } > > Would be nice to pull this enum translation out into a small separate > function. Will do > > > Source/WebCore/accessibility/AccessibilityObject.h:757 > > + virtual bool isDetachedFromParent() { return false; } > > Is this relevant? Left over from another patch. Thanks. > > > LayoutTests/platform/ios-simulator/ios-accessibility/press-fires-touch-events.html:42 > > +// window.jsTestIsAsync = true; > > + > > + if (window.accessibilityController) { > > + > > + var button = accessibilityController.accessibleElementById("button"); > > + button.press(); > > + } > > +// if (window.testRunner) > > + // testRunner.waitUntilDone(); > > You have some commented-out code here. Thanks for review
chris fleizach
Comment 5 2014-12-05 21:44:06 PST
Note You need to log in before you can comment on or make changes to this bug.