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