WebKit Bugzilla
Attachment 362810 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-20190222183327.patch (text/plain), 5.97 KB, created by
Eric Liang
on 2019-02-22 18:33:28 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Eric Liang
Created:
2019-02-22 18:33:28 PST
Size:
5.97 KB
patch
obsolete
>Subversion Revision: 241874 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 2399fa5be124d0412e0665898fc95b005956205a..3c005629c2a95c27f6c4c5ecf57b39f27a13aebd 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+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 AXChildrenInNavigationOrder attribute that returns the same array as from AXChildren. It prevents AppKit from reordering elements from the fallback AXChildren attribute. >+ >+ 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