Title: [285236] trunk/Source
Revision
285236
Author
[email protected]
Date
2021-11-03 15:36:44 -0700 (Wed, 03 Nov 2021)

Log Message

AX: WKAccessibilityWebPageObjectMac.mm should expose accessibilityChildrenInNavigationOrder and NSAccessibilityChildrenInNavigationOrderAttribute
https://bugs.webkit.org/show_bug.cgi?id=232654

Patch by Tyler Wilcock <[email protected]> on 2021-11-03
Reviewed by Chris Fleizach.

Some clients expect accessibilityChildrenInNavigationOrder and
NSAccessibilityChildrenInNavigationOrderAttribute to be available,
and WKAccessibilityWebPageObjectMac didn't expose them.

Source/WebCore:

* accessibility/mac/WebAccessibilityObjectWrapperMac.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
Move #define NSAccessibilityChildrenInNavigationOrderAttribute to
header so it can be used in the WebKit layer.

Source/WebKit:

* WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityChildrenInNavigationOrder]): Added.
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
Handle NSAccessibilityChildrenInNavigationOrderAttribute.
(-[WKAccessibilityWebPageObject accessibilityAttributeNames:]):
Add NSAccessibilityChildrenInNavigationOrderAttribute.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (285235 => 285236)


--- trunk/Source/WebCore/ChangeLog	2021-11-03 22:18:37 UTC (rev 285235)
+++ trunk/Source/WebCore/ChangeLog	2021-11-03 22:36:44 UTC (rev 285236)
@@ -1,3 +1,19 @@
+2021-11-03  Tyler Wilcock  <[email protected]>
+
+        AX: WKAccessibilityWebPageObjectMac.mm should expose accessibilityChildrenInNavigationOrder and NSAccessibilityChildrenInNavigationOrderAttribute
+        https://bugs.webkit.org/show_bug.cgi?id=232654
+
+        Reviewed by Chris Fleizach.
+
+        Some clients expect accessibilityChildrenInNavigationOrder and 
+        NSAccessibilityChildrenInNavigationOrderAttribute to be available,
+        and WKAccessibilityWebPageObjectMac didn't expose them.
+
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.h:
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        Move #define NSAccessibilityChildrenInNavigationOrderAttribute to
+        header so it can be used in the WebKit layer.
+
 2021-11-03  Joonghun Park  <[email protected]>
 
         border-radius inline style should serialize with valid syntax

Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h (285235 => 285236)


--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h	2021-11-03 22:18:37 UTC (rev 285235)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h	2021-11-03 22:36:44 UTC (rev 285236)
@@ -37,6 +37,10 @@
 #define NSAccessibilityPrimaryScreenHeightAttribute @"_AXPrimaryScreenHeight"
 #endif
 
+#ifndef NSAccessibilityChildrenInNavigationOrderAttribute
+#define NSAccessibilityChildrenInNavigationOrderAttribute @"AXChildrenInNavigationOrder"
+#endif
+
 @interface WebAccessibilityObjectWrapper : WebAccessibilityObjectWrapperBase
 
 // FIXME: Remove these methods since clients should not need to call them and hence should not be exposed in the public interface.

Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (285235 => 285236)


--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2021-11-03 22:18:37 UTC (rev 285235)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2021-11-03 22:36:44 UTC (rev 285236)
@@ -152,10 +152,6 @@
 #define NSAccessibilityBlockQuoteLevelAttribute @"AXBlockQuoteLevel"
 #endif
 
-#ifndef NSAccessibilityChildrenInNavigationOrderAttribute
-#define NSAccessibilityChildrenInNavigationOrderAttribute @"AXChildrenInNavigationOrder"
-#endif
-
 #ifndef NSAccessibilityAccessKeyAttribute
 #define NSAccessibilityAccessKeyAttribute @"AXAccessKey"
 #endif

Modified: trunk/Source/WebKit/ChangeLog (285235 => 285236)


--- trunk/Source/WebKit/ChangeLog	2021-11-03 22:18:37 UTC (rev 285235)
+++ trunk/Source/WebKit/ChangeLog	2021-11-03 22:36:44 UTC (rev 285236)
@@ -1,3 +1,21 @@
+2021-11-03  Tyler Wilcock  <[email protected]>
+
+        AX: WKAccessibilityWebPageObjectMac.mm should expose accessibilityChildrenInNavigationOrder and NSAccessibilityChildrenInNavigationOrderAttribute
+        https://bugs.webkit.org/show_bug.cgi?id=232654
+
+        Reviewed by Chris Fleizach.
+
+        Some clients expect accessibilityChildrenInNavigationOrder and 
+        NSAccessibilityChildrenInNavigationOrderAttribute to be available,
+        and WKAccessibilityWebPageObjectMac didn't expose them.
+
+        * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
+        (-[WKAccessibilityWebPageObject accessibilityChildrenInNavigationOrder]): Added.
+        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
+        Handle NSAccessibilityChildrenInNavigationOrderAttribute.
+        (-[WKAccessibilityWebPageObject accessibilityAttributeNames:]):
+        Add NSAccessibilityChildrenInNavigationOrderAttribute.
+
 2021-11-03  Wenson Hsieh  <[email protected]>
 
         [GPU Process] Rendering backend may stop processing IPC stream messages after a sync message timeout

Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm (285235 => 285236)


--- trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm	2021-11-03 22:18:37 UTC (rev 285235)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm	2021-11-03 22:36:44 UTC (rev 285236)
@@ -82,7 +82,7 @@
         m_attributeNames = adoptNS([[NSArray alloc] initWithObjects:
                             NSAccessibilityRoleAttribute, NSAccessibilityRoleDescriptionAttribute, NSAccessibilityFocusedAttribute,
                             NSAccessibilityParentAttribute, NSAccessibilityWindowAttribute, NSAccessibilityTopLevelUIElementAttribute,
-                            NSAccessibilityPositionAttribute, NSAccessibilitySizeAttribute, NSAccessibilityChildrenAttribute, NSAccessibilityPrimaryScreenHeightAttribute, nil]);
+                            NSAccessibilityPositionAttribute, NSAccessibilitySizeAttribute, NSAccessibilityChildrenAttribute, NSAccessibilityChildrenInNavigationOrderAttribute, NSAccessibilityPrimaryScreenHeightAttribute, nil]);
     
     return m_attributeNames.get();
 }
@@ -153,6 +153,11 @@
     return @[wrapper];
 }
 
+- (NSArray *)accessibilityChildrenInNavigationOrder
+{
+    return [self accessibilityChildren];
+}
+
 ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
 - (id)accessibilityAttributeValue:(NSString *)attribute
 ALLOW_DEPRECATED_IMPLEMENTATIONS_END
@@ -193,6 +198,10 @@
     if ([attribute isEqualToString:NSAccessibilityChildrenAttribute])
         return [self accessibilityChildren];
     
+    // [self accessibilityChildren] is just the root object, so it's already in navigation order.
+    if ([attribute isEqualToString:NSAccessibilityChildrenInNavigationOrderAttribute])
+        return [self accessibilityChildren];
+
     return nil;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to