haikuwebkit/LayoutTests/accessibility/links-activation.html

55 lines
1.7 KiB
HTML
Raw Permalink Normal View History

Hitpoint for link which spans two lines in web content is incorrect https://bugs.webkit.org/show_bug.cgi?id=197511 <rdar://problem/49971483> Patch by Andres Gonzalez <andresg_22@apple.com> on 2019-05-06 Reviewed by Chris Fleizach. Source/WebCore: - Special case for links to return first char location as clickPoint instead of middle point of bounding rect. - Modified iOS ActivationPoint to use clickPoint. This way all code paths go through the same function. - Made boundsForRects to return content coordinates in all platforms. Adjusted all callers, directly or indirectly, appropriately. Tests: accessibility/ios-simulator/links-activation.html accessibility/links-activation.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::clickPoint): (WebCore::AccessibilityRenderObject::boundsForRects): (WebCore::AccessibilityRenderObject::boundsForRects const): Deleted. * accessibility/AccessibilityRenderObject.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): LayoutTests: - Added LayoutTest. * accessibility/ios-simulator/links-activation-expected.txt: Added. * accessibility/ios-simulator/links-activation.html: Added. * accessibility/links-activation-expected.txt: Added. * accessibility/links-activation.html: Added. Canonical link: https://commits.webkit.org/211768@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-06 22:33:52 +00:00
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/js-test-pre.js"></script>
<script>
if (window.testRunner)
testRunner.dumpAsText();
var clicked = false;
Hitpoint for link which spans two lines in web content is incorrect https://bugs.webkit.org/show_bug.cgi?id=197511 <rdar://problem/49971483> Patch by Andres Gonzalez <andresg_22@apple.com> on 2019-05-06 Reviewed by Chris Fleizach. Source/WebCore: - Special case for links to return first char location as clickPoint instead of middle point of bounding rect. - Modified iOS ActivationPoint to use clickPoint. This way all code paths go through the same function. - Made boundsForRects to return content coordinates in all platforms. Adjusted all callers, directly or indirectly, appropriately. Tests: accessibility/ios-simulator/links-activation.html accessibility/links-activation.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::clickPoint): (WebCore::AccessibilityRenderObject::boundsForRects): (WebCore::AccessibilityRenderObject::boundsForRects const): Deleted. * accessibility/AccessibilityRenderObject.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): LayoutTests: - Added LayoutTest. * accessibility/ios-simulator/links-activation-expected.txt: Added. * accessibility/ios-simulator/links-activation.html: Added. * accessibility/links-activation-expected.txt: Added. * accessibility/links-activation.html: Added. Canonical link: https://commits.webkit.org/211768@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-06 22:33:52 +00:00
function handleClick(event) {
clicked = true;
Hitpoint for link which spans two lines in web content is incorrect https://bugs.webkit.org/show_bug.cgi?id=197511 <rdar://problem/49971483> Patch by Andres Gonzalez <andresg_22@apple.com> on 2019-05-06 Reviewed by Chris Fleizach. Source/WebCore: - Special case for links to return first char location as clickPoint instead of middle point of bounding rect. - Modified iOS ActivationPoint to use clickPoint. This way all code paths go through the same function. - Made boundsForRects to return content coordinates in all platforms. Adjusted all callers, directly or indirectly, appropriately. Tests: accessibility/ios-simulator/links-activation.html accessibility/links-activation.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::clickPoint): (WebCore::AccessibilityRenderObject::boundsForRects): (WebCore::AccessibilityRenderObject::boundsForRects const): Deleted. * accessibility/AccessibilityRenderObject.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): LayoutTests: - Added LayoutTest. * accessibility/ios-simulator/links-activation-expected.txt: Added. * accessibility/ios-simulator/links-activation.html: Added. * accessibility/links-activation-expected.txt: Added. * accessibility/links-activation.html: Added. Canonical link: https://commits.webkit.org/211768@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-06 22:33:52 +00:00
debug("click event " + event
+ " for element " + event.target.nodeName
+ " with id " + event.target.id);
return false;
}
</script>
</head>
<body>
<p>This is a very long, long, long, long, line that contains a link that expands multiple lines: <a id="multiline-link" onclick="return handleClick(event);" href="#">Apple<br><br>Inc.</a> is based in Cupertino California.
</p>
<br><br>
<p>A singleline link: <a id="singleline-link" onclick="return handleClick(event);" href="#">Apple Inc.</a> is based in Cupertino California.
</p>
<p id="description"></p>
<div id="console"></div>
<script>
description("This test ensures that a link is activated with a simulated accessibility press regardless whether its bounding rect encompasses points outside the link. The multiline-link is an example of a bounding rect that contains points that are not part of the link, in particular the middle point of the rect.");
if (window.accessibilityController) {
window.jsTestIsAsync = true;
var link = accessibilityController.accessibleElementById("multiline-link");
link.press();
shouldBecomeEqual("clicked", "true", function() {
clicked = false;
Hitpoint for link which spans two lines in web content is incorrect https://bugs.webkit.org/show_bug.cgi?id=197511 <rdar://problem/49971483> Patch by Andres Gonzalez <andresg_22@apple.com> on 2019-05-06 Reviewed by Chris Fleizach. Source/WebCore: - Special case for links to return first char location as clickPoint instead of middle point of bounding rect. - Modified iOS ActivationPoint to use clickPoint. This way all code paths go through the same function. - Made boundsForRects to return content coordinates in all platforms. Adjusted all callers, directly or indirectly, appropriately. Tests: accessibility/ios-simulator/links-activation.html accessibility/links-activation.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::clickPoint): (WebCore::AccessibilityRenderObject::boundsForRects): (WebCore::AccessibilityRenderObject::boundsForRects const): Deleted. * accessibility/AccessibilityRenderObject.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): LayoutTests: - Added LayoutTest. * accessibility/ios-simulator/links-activation-expected.txt: Added. * accessibility/ios-simulator/links-activation.html: Added. * accessibility/links-activation-expected.txt: Added. * accessibility/links-activation.html: Added. Canonical link: https://commits.webkit.org/211768@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-06 22:33:52 +00:00
link = accessibilityController.accessibleElementById("singleline-link");
link.press();
shouldBecomeEqual("clicked", "true", function() {
Hitpoint for link which spans two lines in web content is incorrect https://bugs.webkit.org/show_bug.cgi?id=197511 <rdar://problem/49971483> Patch by Andres Gonzalez <andresg_22@apple.com> on 2019-05-06 Reviewed by Chris Fleizach. Source/WebCore: - Special case for links to return first char location as clickPoint instead of middle point of bounding rect. - Modified iOS ActivationPoint to use clickPoint. This way all code paths go through the same function. - Made boundsForRects to return content coordinates in all platforms. Adjusted all callers, directly or indirectly, appropriately. Tests: accessibility/ios-simulator/links-activation.html accessibility/links-activation.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::clickPoint): (WebCore::AccessibilityRenderObject::boundsForRects): (WebCore::AccessibilityRenderObject::boundsForRects const): Deleted. * accessibility/AccessibilityRenderObject.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): LayoutTests: - Added LayoutTest. * accessibility/ios-simulator/links-activation-expected.txt: Added. * accessibility/ios-simulator/links-activation.html: Added. * accessibility/links-activation-expected.txt: Added. * accessibility/links-activation.html: Added. Canonical link: https://commits.webkit.org/211768@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-06 22:33:52 +00:00
finishJSTest();
});
});
Hitpoint for link which spans two lines in web content is incorrect https://bugs.webkit.org/show_bug.cgi?id=197511 <rdar://problem/49971483> Patch by Andres Gonzalez <andresg_22@apple.com> on 2019-05-06 Reviewed by Chris Fleizach. Source/WebCore: - Special case for links to return first char location as clickPoint instead of middle point of bounding rect. - Modified iOS ActivationPoint to use clickPoint. This way all code paths go through the same function. - Made boundsForRects to return content coordinates in all platforms. Adjusted all callers, directly or indirectly, appropriately. Tests: accessibility/ios-simulator/links-activation.html accessibility/links-activation.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::clickPoint): (WebCore::AccessibilityRenderObject::boundsForRects): (WebCore::AccessibilityRenderObject::boundsForRects const): Deleted. * accessibility/AccessibilityRenderObject.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): LayoutTests: - Added LayoutTest. * accessibility/ios-simulator/links-activation-expected.txt: Added. * accessibility/ios-simulator/links-activation.html: Added. * accessibility/links-activation-expected.txt: Added. * accessibility/links-activation.html: Added. Canonical link: https://commits.webkit.org/211768@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-06 22:33:52 +00:00
}
</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>