Title: [285340] trunk/Source
Revision
285340
Author
carlo...@webkit.org
Date
2021-11-05 01:23:38 -0700 (Fri, 05 Nov 2021)

Log Message

AX: rename actionVerb() as localizedActionVerb()
https://bugs.webkit.org/show_bug.cgi?id=232711
<rdar://problem/85015496>

Reviewed by Andres Gonzalez.

Source/WebCore:

Since it's returning the localized name. In ATSPI there are two methods in the action interface GetName and
GetLocalizedName, so this patch also adds actionVerb() returning the unlocalized action name.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::localizedActionVerb const):
(WebCore::AccessibilityObject::actionVerb const):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::localizedActionVerb const):
* accessibility/AccessibilityObjectInterface.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::tabChildren):
(WebCore::AccessibilityRenderObject::actionVerb const): Deleted.
* accessibility/AccessibilityRenderObject.h:
* accessibility/atk/WebKitAccessibleHyperlink.cpp:
(webkitAccessibleHyperlinkActionGetName):
* accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
(webkitAccessibleActionGetName):
* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
* accessibility/isolatedtree/AXIsolatedObject.h:
* accessibility/isolatedtree/AXIsolatedTree.h:

Source/WebKitLegacy/win:

* AccessibleBase.cpp:
(AccessibleBase::get_accDefaultAction): Use localizedActionVerb().

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (285339 => 285340)


--- trunk/Source/WebCore/ChangeLog	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/ChangeLog	2021-11-05 08:23:38 UTC (rev 285340)
@@ -1,5 +1,35 @@
 2021-11-05  Carlos Garcia Campos  <cgar...@igalia.com>
 
+        AX: rename actionVerb() as localizedActionVerb()
+        https://bugs.webkit.org/show_bug.cgi?id=232711
+        <rdar://problem/85015496>
+
+        Reviewed by Andres Gonzalez.
+
+        Since it's returning the localized name. In ATSPI there are two methods in the action interface GetName and
+        GetLocalizedName, so this patch also adds actionVerb() returning the unlocalized action name.
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::localizedActionVerb const):
+        (WebCore::AccessibilityObject::actionVerb const):
+        * accessibility/AccessibilityObject.h:
+        (WebCore::AccessibilityObject::localizedActionVerb const):
+        * accessibility/AccessibilityObjectInterface.h:
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::tabChildren):
+        (WebCore::AccessibilityRenderObject::actionVerb const): Deleted.
+        * accessibility/AccessibilityRenderObject.h:
+        * accessibility/atk/WebKitAccessibleHyperlink.cpp:
+        (webkitAccessibleHyperlinkActionGetName):
+        * accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
+        (webkitAccessibleActionGetName):
+        * accessibility/isolatedtree/AXIsolatedObject.cpp:
+        (WebCore::AXIsolatedObject::initializeAttributeData):
+        * accessibility/isolatedtree/AXIsolatedObject.h:
+        * accessibility/isolatedtree/AXIsolatedTree.h:
+
+2021-11-05  Carlos Garcia Campos  <cgar...@igalia.com>
+
         [GTK][a11y] Embedded objects are not correctly handled by text interface with ATSPI
         https://bugs.webkit.org/show_bug.cgi?id=232622
 

Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (285339 => 285340)


--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp	2021-11-05 08:23:38 UTC (rev 285340)
@@ -1800,7 +1800,7 @@
 }
     
 #if ENABLE(ACCESSIBILITY)
-String AccessibilityObject::actionVerb() const
+String AccessibilityObject::localizedActionVerb() const
 {
 #if !PLATFORM(IOS_FAMILY)
     // FIXME: Need to add verbs for select elements.
@@ -1842,7 +1842,37 @@
     return nullAtom();
 #endif
 }
+
+String AccessibilityObject::actionVerb() const
+{
+#if !PLATFORM(IOS_FAMILY)
+    // FIXME: Need to add verbs for select elements.
+    switch (roleValue()) {
+    case AccessibilityRole::Button:
+    case AccessibilityRole::ToggleButton:
+        return "press"_s;
+    case AccessibilityRole::TextField:
+    case AccessibilityRole::TextArea:
+        return "activate"_s;
+    case AccessibilityRole::RadioButton:
+        return "select"_s;
+    case AccessibilityRole::CheckBox:
+    case AccessibilityRole::Switch:
+        return isChecked() ? "uncheck"_s : "check"_s;
+    case AccessibilityRole::Link:
+    case AccessibilityRole::WebCoreLink:
+        return "jump"_s;
+    case AccessibilityRole::PopUpButton:
+    case AccessibilityRole::MenuListPopup:
+    case AccessibilityRole::ListItem:
+        return "select"_s;
+    default:
+        break;
+    }
 #endif
+    return { };
+}
+#endif
 
 bool AccessibilityObject::ariaIsMultiline() const
 {

Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.h (285339 => 285340)


--- trunk/Source/WebCore/accessibility/AccessibilityObject.h	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.h	2021-11-05 08:23:38 UTC (rev 285340)
@@ -441,6 +441,7 @@
     VisibleSelection selection() const override { return VisibleSelection(); }
     String selectedText() const override { return String(); }
     String accessKey() const override { return nullAtom(); }
+    String localizedActionVerb() const override;
     String actionVerb() const override;
 
     bool isWidget() const override { return false; }
@@ -824,6 +825,7 @@
 
 #if !ENABLE(ACCESSIBILITY)
 inline const AccessibilityObject::AccessibilityChildrenVector& AccessibilityObject::children(bool) { return m_children; }
+inline String AccessibilityObject::localizedActionVerb() const { return emptyString(); }
 inline String AccessibilityObject::actionVerb() const { return emptyString(); }
 inline int AccessibilityObject::lineForPosition(const VisiblePosition&) const { return -1; }
 inline void AccessibilityObject::updateBackingStore() { }

Modified: trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h (285339 => 285340)


--- trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h	2021-11-05 08:23:38 UTC (rev 285340)
@@ -1189,6 +1189,7 @@
     virtual VisibleSelection selection() const = 0;
     virtual String selectedText() const = 0;
     virtual String accessKey() const = 0;
+    virtual String localizedActionVerb() const = 0;
     virtual String actionVerb() const = 0;
 
     // Widget support.

Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (285339 => 285340)


--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2021-11-05 08:23:38 UTC (rev 285340)
@@ -3728,40 +3728,7 @@
             result.append(child);
     }
 }
-    
-String AccessibilityRenderObject::actionVerb() const
-{
-#if !PLATFORM(IOS_FAMILY)
-    // FIXME: Need to add verbs for select elements.
-    static NeverDestroyed<const String> buttonAction(AXButtonActionVerb());
-    static NeverDestroyed<const String> textFieldAction(AXTextFieldActionVerb());
-    static NeverDestroyed<const String> radioButtonAction(AXRadioButtonActionVerb());
-    static NeverDestroyed<const String> checkedCheckBoxAction(AXUncheckedCheckBoxActionVerb());
-    static NeverDestroyed<const String> uncheckedCheckBoxAction(AXUncheckedCheckBoxActionVerb());
-    static NeverDestroyed<const String> linkAction(AXLinkActionVerb());
 
-    switch (roleValue()) {
-    case AccessibilityRole::Button:
-    case AccessibilityRole::ToggleButton:
-        return buttonAction;
-    case AccessibilityRole::TextField:
-    case AccessibilityRole::TextArea:
-        return textFieldAction;
-    case AccessibilityRole::RadioButton:
-        return radioButtonAction;
-    case AccessibilityRole::CheckBox:
-        return isChecked() ? checkedCheckBoxAction : uncheckedCheckBoxAction;
-    case AccessibilityRole::Link:
-    case AccessibilityRole::WebCoreLink:
-        return linkAction;
-    default:
-        return nullAtom();
-    }
-#else
-    return nullAtom();
-#endif
-}
-    
 void AccessibilityRenderObject::setAccessibleName(const AtomString& name)
 {
     // Setting the accessible name can store the value in the DOM

Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h (285339 => 285340)


--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h	2021-11-05 08:23:38 UTC (rev 285340)
@@ -134,7 +134,6 @@
     int textLength() const override;
     String selectedText() const override;
     String accessKey() const override;
-    String actionVerb() const override;
 
     bool isWidget() const override;
     Widget* widget() const override;

Modified: trunk/Source/WebCore/accessibility/atk/WebKitAccessibleHyperlink.cpp (285339 => 285340)


--- trunk/Source/WebCore/accessibility/atk/WebKitAccessibleHyperlink.cpp	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/atk/WebKitAccessibleHyperlink.cpp	2021-11-05 08:23:38 UTC (rev 285340)
@@ -111,7 +111,7 @@
         return nullptr;
 
     auto& coreObject = webkitAccessibleGetAccessibilityObject(accessibleHyperlink->priv->hyperlinkImpl);
-    accessibleHyperlink->priv->actionName = coreObject.actionVerb().utf8();
+    accessibleHyperlink->priv->actionName = coreObject.localizedActionVerb().utf8();
     return accessibleHyperlink->priv->actionName.data();
 }
 

Modified: trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceAction.cpp (285339 => 285340)


--- trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceAction.cpp	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceAction.cpp	2021-11-05 08:23:38 UTC (rev 285340)
@@ -91,7 +91,7 @@
     auto* accessible = WEBKIT_ACCESSIBLE(action);
     returnValIfWebKitAccessibleIsInvalid(accessible, nullptr);
 
-    return webkitAccessibleCacheAndReturnAtkProperty(accessible, AtkCachedActionName, core(action)->actionVerb().utf8());
+    return webkitAccessibleCacheAndReturnAtkProperty(accessible, AtkCachedActionName, core(action)->localizedActionVerb().utf8());
 }
 
 void webkitAccessibleActionInterfaceInit(AtkActionIface* iface)

Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp (285339 => 285340)


--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2021-11-05 08:23:38 UTC (rev 285340)
@@ -201,6 +201,7 @@
     setProperty(AXPropertyName::ValueAutofillButtonType, static_cast<int>(object.valueAutofillButtonType()));
     setProperty(AXPropertyName::URL, object.url().isolatedCopy());
     setProperty(AXPropertyName::AccessKey, object.accessKey().isolatedCopy());
+    setProperty(AXPropertyName::LocalizedActionVerb, object.localizedActionVerb().isolatedCopy());
     setProperty(AXPropertyName::ActionVerb, object.actionVerb().isolatedCopy());
     setProperty(AXPropertyName::ReadOnlyValue, object.readOnlyValue().isolatedCopy());
     setProperty(AXPropertyName::AutoCompleteValue, object.autoCompleteValue().isolatedCopy());

Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h (285339 => 285340)


--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h	2021-11-05 08:23:38 UTC (rev 285340)
@@ -290,6 +290,7 @@
     void ariaTreeItemContent(AccessibilityChildrenVector& children) override { fillChildrenVectorForProperty(AXPropertyName::ARIATreeItemContent, children); }
     URL url() const override { return urlAttributeValue(AXPropertyName::URL); }
     String accessKey() const override { return stringAttributeValue(AXPropertyName::AccessKey); }
+    String localizedActionVerb() const override { return stringAttributeValue(AXPropertyName::LocalizedActionVerb); }
     String actionVerb() const override { return stringAttributeValue(AXPropertyName::ActionVerb); }
     String readOnlyValue() const override { return stringAttributeValue(AXPropertyName::ReadOnlyValue); }
     String autoCompleteValue() const override { return stringAttributeValue(AXPropertyName::AutoCompleteValue); }

Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h (285339 => 285340)


--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h	2021-11-05 08:23:38 UTC (rev 285340)
@@ -237,6 +237,7 @@
     LiveRegionAtomic,
     LiveRegionRelevant,
     LiveRegionStatus,
+    LocalizedActionVerb,
     MathFencedOpenString,
     MathFencedCloseString,
     MathLineThickness,

Modified: trunk/Source/WebKitLegacy/win/AccessibleBase.cpp (285339 => 285340)


--- trunk/Source/WebKitLegacy/win/AccessibleBase.cpp	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebKitLegacy/win/AccessibleBase.cpp	2021-11-05 08:23:38 UTC (rev 285340)
@@ -717,7 +717,7 @@
     if (FAILED(hr))
         return hr;
 
-    if (*action = ""
+    if (*action = ""
         return S_OK;
     return S_FALSE;
 }

Modified: trunk/Source/WebKitLegacy/win/ChangeLog (285339 => 285340)


--- trunk/Source/WebKitLegacy/win/ChangeLog	2021-11-05 08:22:39 UTC (rev 285339)
+++ trunk/Source/WebKitLegacy/win/ChangeLog	2021-11-05 08:23:38 UTC (rev 285340)
@@ -1,3 +1,14 @@
+2021-11-05  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        AX: rename actionVerb() as localizedActionVerb()
+        https://bugs.webkit.org/show_bug.cgi?id=232711
+        <rdar://problem/85015496>
+
+        Reviewed by Andres Gonzalez.
+
+        * AccessibleBase.cpp:
+        (AccessibleBase::get_accDefaultAction): Use localizedActionVerb().
+
 2021-10-11  Chris Dumez  <cdu...@apple.com>
 
         DOMTimeStamp is now EpochTimeStamp
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to