Title: [288812] trunk/Source/WebCore
Revision
288812
Author
[email protected]
Date
2022-01-31 06:16:59 -0800 (Mon, 31 Jan 2022)

Log Message

[GTK][a11y] WTR: use AXMenuItemSelected for menu item selection change with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235890

Reviewed by Adrian Perez de Castro.

ATSPI uses selection-changed signal for both combo box menus and list boxes, but layout tests expect then to be
different events AXMenuItemSelected and AXSelectedChildrenChanged.

* accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::selectionChanged): Call notifyMenuSelectionChanged() for menus.
(WebCore::AccessibilityAtspi::notifyMenuSelectionChanged const): Emit AXMenuItemSelected.
* accessibility/atspi/AccessibilityAtspi.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (288811 => 288812)


--- trunk/Source/WebCore/ChangeLog	2022-01-31 13:29:25 UTC (rev 288811)
+++ trunk/Source/WebCore/ChangeLog	2022-01-31 14:16:59 UTC (rev 288812)
@@ -1,5 +1,20 @@
 2022-01-31  Carlos Garcia Campos  <[email protected]>
 
+        [GTK][a11y] WTR: use AXMenuItemSelected for menu item selection change with ATSPI
+        https://bugs.webkit.org/show_bug.cgi?id=235890
+
+        Reviewed by Adrian Perez de Castro.
+
+        ATSPI uses selection-changed signal for both combo box menus and list boxes, but layout tests expect then to be
+        different events AXMenuItemSelected and AXSelectedChildrenChanged.
+
+        * accessibility/atspi/AccessibilityAtspi.cpp:
+        (WebCore::AccessibilityAtspi::selectionChanged): Call notifyMenuSelectionChanged() for menus.
+        (WebCore::AccessibilityAtspi::notifyMenuSelectionChanged const): Emit AXMenuItemSelected.
+        * accessibility/atspi/AccessibilityAtspi.h:
+
+2022-01-31  Carlos Garcia Campos  <[email protected]>
+
         [GTK][a11y] Add support for password fields to ATSPI
         https://bugs.webkit.org/show_bug.cgi?id=235778
 

Modified: trunk/Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp (288811 => 288812)


--- trunk/Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp	2022-01-31 13:29:25 UTC (rev 288811)
+++ trunk/Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp	2022-01-31 14:16:59 UTC (rev 288812)
@@ -22,6 +22,7 @@
 #include "AccessibilityAtspi.h"
 
 #if ENABLE(ACCESSIBILITY) && USE(ATSPI)
+#include "AccessibilityAtspiEnums.h"
 #include "AccessibilityAtspiInterfaces.h"
 #include "AccessibilityRootAtspi.h"
 #include <gio/gio.h>
@@ -537,7 +538,10 @@
 void AccessibilityAtspi::selectionChanged(AccessibilityObjectAtspi& atspiObject)
 {
 #if ENABLE(DEVELOPER_MODE)
-    notifySelectionChanged(atspiObject);
+    if (atspiObject.role() == Atspi::Role::Menu)
+        notifyMenuSelectionChanged(atspiObject);
+    else
+        notifySelectionChanged(atspiObject);
 #endif
 
     if (!m_connection)
@@ -871,6 +875,12 @@
         observer(atspiObject, "AXSelectedChildrenChanged", nullptr);
 }
 
+void AccessibilityAtspi::notifyMenuSelectionChanged(AccessibilityObjectAtspi& atspiObject) const
+{
+    for (const auto& observer : m_notificationObservers.values())
+        observer(atspiObject, "AXMenuItemSelected", nullptr);
+}
+
 void AccessibilityAtspi::notifyTextChanged(AccessibilityObjectAtspi& atspiObject) const
 {
     for (const auto& observer : m_notificationObservers.values())

Modified: trunk/Source/WebCore/accessibility/atspi/AccessibilityAtspi.h (288811 => 288812)


--- trunk/Source/WebCore/accessibility/atspi/AccessibilityAtspi.h	2022-01-31 13:29:25 UTC (rev 288811)
+++ trunk/Source/WebCore/accessibility/atspi/AccessibilityAtspi.h	2022-01-31 14:16:59 UTC (rev 288812)
@@ -113,6 +113,7 @@
 #if ENABLE(DEVELOPER_MODE)
     void notifyStateChanged(AccessibilityObjectAtspi&, const char*, bool) const;
     void notifySelectionChanged(AccessibilityObjectAtspi&) const;
+    void notifyMenuSelectionChanged(AccessibilityObjectAtspi&) const;
     void notifyTextChanged(AccessibilityObjectAtspi&) const;
     void notifyTextCaretMoved(AccessibilityObjectAtspi&, unsigned) const;
     void notifyChildrenChanged(AccessibilityObjectAtspi&, AccessibilityObjectAtspi&, ChildrenChanged) const;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to