WebKit Bugzilla
Attachment 362797 Details for
Bug 194923
: AX: Treat AXChildrenInNavigationOrder as AXChildren before adding support for aria-flowto
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194923-20190222170517.patch (text/plain), 6.17 KB, created by
Eric Liang
on 2019-02-22 17:05:18 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Eric Liang
Created:
2019-02-22 17:05:18 PST
Size:
6.17 KB
patch
obsolete
>Subversion Revision: 241874 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 2399fa5be124d0412e0665898fc95b005956205a..c6f729635b51b39580bf559f43bf5df4c39bce89 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,18 @@ >+2019-02-22 Eric Liang <ericliang@apple.com> >+ >+ AX: Treat AXChildrenInNavigationOrder as AXChildren before adding support for aria-flowto >+ https://bugs.webkit.org/show_bug.cgi?id=194923 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This makes WebKit temporarily support AXChildrenInNavigationOrder attribute by returning the same array as from AXChildren. >+ This is needed because on the Mac, if AXChildrenInNavigationOrder returns empty, AppKit will ask for AXChildren and then reorder them based on horizontal positions. Added this temporary support for WebKit so that AppKit doesn't reorder them. >+ >+ Test: accessibility/mac/children-in-navigation-order-returns-children.html >+ >+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: >+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): >+ > 2019-02-21 Zalan Bujtas <zalan@apple.com> > > [LFC][Floats] Add support for placing formatting roots in-between floats. >diff --git a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm b/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm >index f7445912f1814f6acde1ab29fa0658e8c40cde7b..446d358cf03a73b1d299762fc2cd4abe91b8d702 100644 >--- a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm >+++ b/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm >@@ -153,6 +153,10 @@ using namespace HTMLNames; > #define NSAccessibilityBlockQuoteLevelAttribute @"AXBlockQuoteLevel" > #endif > >+#ifndef NSAccessibilityChildrenInNavigationOrderAttribute >+#define NSAccessibilityChildrenInNavigationOrderAttribute @"AXChildrenInNavigationOrder" >+#endif >+ > #ifndef NSAccessibilityAccessKeyAttribute > #define NSAccessibilityAccessKeyAttribute @"AXAccessKey" > #endif >@@ -2482,7 +2486,7 @@ IGNORE_WARNINGS_END > return parent->wrapper(); > } > >- if ([attributeName isEqualToString: NSAccessibilityChildrenAttribute]) { >+ if ([attributeName isEqualToString: NSAccessibilityChildrenAttribute] || [attributeName isEqualToString: NSAccessibilityChildrenInNavigationOrderAttribute]) { > if (!self.childrenVectorSize) { > NSArray* children = [self renderWidgetChildren]; > if (children != nil) >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index f7b08979a665ee549b2d703aaf629fe16b3d2b25..6b02b7110acaeb58c1f48073e337e8b24a0289a0 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,14 @@ >+2019-02-22 Eric Liang <ericliang@apple.com> >+ >+ AX: Treat AXChildrenInNavigationOrder as AXChildren before adding support for aria-flowto >+ https://bugs.webkit.org/show_bug.cgi?id=194923 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Added test to check AXChildrenInNavigationOrder returns non-empty array from AXChildren. >+ * accessibility/mac/children-in-navigation-order-returns-children-expected.txt: Added. >+ * accessibility/mac/children-in-navigation-order-returns-children.html: Added. >+ > 2019-02-21 Zalan Bujtas <zalan@apple.com> > > [LFC][Floats] Add support for placing formatting roots in-between floats. >diff --git a/LayoutTests/accessibility/mac/children-in-navigation-order-returns-children-expected.txt b/LayoutTests/accessibility/mac/children-in-navigation-order-returns-children-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..aa864237064a44cce407afb7595551dd398ed04a >--- /dev/null >+++ b/LayoutTests/accessibility/mac/children-in-navigation-order-returns-children-expected.txt >@@ -0,0 +1,14 @@ >+This tests that AXChildrenInNavigationOrder returns non-empty array from AXChildren. >+ >+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". >+ >+ >+PASS children0.length is 3 >+PASS children1.length is 3 >+PASS children0[i].role == children1[i].role is true >+PASS children0[i].role == children1[i].role is true >+PASS children0[i].role == children1[i].role is true >+PASS successfullyParsed is true >+ >+TEST COMPLETE >+ >diff --git a/LayoutTests/accessibility/mac/children-in-navigation-order-returns-children.html b/LayoutTests/accessibility/mac/children-in-navigation-order-returns-children.html >new file mode 100644 >index 0000000000000000000000000000000000000000..312dc4fb831a52a83a9318fa4ecebfb55dcbf382 >--- /dev/null >+++ b/LayoutTests/accessibility/mac/children-in-navigation-order-returns-children.html >@@ -0,0 +1,51 @@ >+<!DOCTYPE html> >+<html> >+<head> >+<style> >+.span-absolute { >+ position: absolute; >+ overflow: hidden; >+ height: 1px; >+} >+.lineheight{ >+ line-height: 1.32; >+} >+</style> >+</head> >+<body id="body"> >+<script src="../../resources/js-test-pre.js"></script> >+<div id="content"> >+<div> >+ <a id="test0" href="https://www.apple.com">Learn more <span class="span-absolute">about Apple</span> <button>Click</button></a> >+</div> >+<div class="lineheight"> >+ <a id="test1" href="https://www.apple.com">Learn more <span class="span-absolute">about Apple</span> <button>Click</button></a> >+</div> >+</div> >+<p id="description"></p> >+<div id="console"></div> >+ >+<script> >+ description("This tests that AXChildrenInNavigationOrder returns non-empty array from AXChildren."); >+ >+ if (window.accessibilityController) { >+ var testElement0 = accessibilityController.accessibleElementById("test0"); >+ var testElement1 = accessibilityController.accessibleElementById("test1"); >+ var children0 = testElement0.uiElementArrayAttributeValue("AXChildren"); >+ var children1 = testElement1.uiElementArrayAttributeValue("AXChildrenInNavigationOrder"); >+ shouldBe("children0.length", "3"); >+ shouldBe("children1.length", "3"); >+ for (var i = 0; i < 3; i++) { >+ shouldBeTrue("children0[i].role == children1[i].role"); >+ } >+ >+ document.getElementById("content").style.visibility = 'hidden'; >+ } else { >+ testFailed("Could not load accessibility controller"); >+ } >+ >+</script> >+ >+<script src="../../resources/js-test-post.js"></script> >+</body> >+</html>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194923
:
362662
|
362770
|
362772
|
362797
|
362810
|
362813