WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
wcore-ax-action-name.diff (text/plain), 13.03 KB, created by
Carlos Garcia Campos
on 2021-11-04 06:51:08 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Carlos Garcia Campos
Created:
2021-11-04 06:51:08 PDT
Size:
13.03 KB
patch
obsolete
>diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 990e99c35b3d..079295be2135 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,33 @@ >+2021-11-04 Carlos Garcia Campos <cgarcia@igalia.com> >+ >+ AX: rename actionVerb() as localizedActionVerb() >+ https://bugs.webkit.org/show_bug.cgi?id=232711 >+ <rdar://problem/85015496> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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-04 Carlos Garcia Campos <cgarcia@igalia.com> > > [GTK][a11y] Add implementation of hypertext interface when building with ATSPI >diff --git a/Source/WebCore/accessibility/AccessibilityObject.cpp b/Source/WebCore/accessibility/AccessibilityObject.cpp >index 132efbcffc44..276d91a138bd 100644 >--- a/Source/WebCore/accessibility/AccessibilityObject.cpp >+++ b/Source/WebCore/accessibility/AccessibilityObject.cpp >@@ -1800,7 +1800,7 @@ const String AccessibilityObject::defaultLiveRegionStatusForRole(AccessibilityRo > } > > #if ENABLE(ACCESSIBILITY) >-String AccessibilityObject::actionVerb() const >+String AccessibilityObject::localizedActionVerb() const > { > #if !PLATFORM(IOS_FAMILY) > // FIXME: Need to add verbs for select elements. >@@ -1842,6 +1842,36 @@ String AccessibilityObject::actionVerb() const > 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 >diff --git a/Source/WebCore/accessibility/AccessibilityObject.h b/Source/WebCore/accessibility/AccessibilityObject.h >index 4c06e6bb6f5b..d563817b84e3 100644 >--- a/Source/WebCore/accessibility/AccessibilityObject.h >+++ b/Source/WebCore/accessibility/AccessibilityObject.h >@@ -441,6 +441,7 @@ public: > 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; } >@@ -827,6 +828,7 @@ private: > > #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() { } >diff --git a/Source/WebCore/accessibility/AccessibilityObjectInterface.h b/Source/WebCore/accessibility/AccessibilityObjectInterface.h >index e8216814879f..6927f84f0e97 100644 >--- a/Source/WebCore/accessibility/AccessibilityObjectInterface.h >+++ b/Source/WebCore/accessibility/AccessibilityObjectInterface.h >@@ -1189,6 +1189,7 @@ public: > 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. >diff --git a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp >index 24ac0154edee..28eb99ea0de0 100644 >--- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp >+++ b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp >@@ -3728,40 +3728,7 @@ void AccessibilityRenderObject::tabChildren(AccessibilityChildrenVector& result) > 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 >diff --git a/Source/WebCore/accessibility/AccessibilityRenderObject.h b/Source/WebCore/accessibility/AccessibilityRenderObject.h >index c9d3062615cb..7b94b6341a88 100644 >--- a/Source/WebCore/accessibility/AccessibilityRenderObject.h >+++ b/Source/WebCore/accessibility/AccessibilityRenderObject.h >@@ -134,7 +134,6 @@ public: > int textLength() const override; > String selectedText() const override; > String accessKey() const override; >- String actionVerb() const override; > > bool isWidget() const override; > Widget* widget() const override; >diff --git a/Source/WebCore/accessibility/atk/WebKitAccessibleHyperlink.cpp b/Source/WebCore/accessibility/atk/WebKitAccessibleHyperlink.cpp >index c40f72c2c973..8dde624df0b4 100644 >--- a/Source/WebCore/accessibility/atk/WebKitAccessibleHyperlink.cpp >+++ b/Source/WebCore/accessibility/atk/WebKitAccessibleHyperlink.cpp >@@ -111,7 +111,7 @@ static const gchar* webkitAccessibleHyperlinkActionGetName(AtkAction* action, gi > 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(); > } > >diff --git a/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceAction.cpp b/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceAction.cpp >index 14eb579886a2..636e585011a6 100644 >--- a/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceAction.cpp >+++ b/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceAction.cpp >@@ -91,7 +91,7 @@ static const gchar* webkitAccessibleActionGetName(AtkAction* action, gint) > 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) >diff --git a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp b/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp >index 73aefaec734b..755d59bd193f 100644 >--- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp >+++ b/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp >@@ -201,6 +201,7 @@ void AXIsolatedObject::initializeAttributeData(AXCoreObject& object, bool isRoot > 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()); >diff --git a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h b/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h >index 4d7bb803e24e..2f26bd3b206e 100644 >--- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h >+++ b/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h >@@ -290,6 +290,7 @@ private: > 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); } >diff --git a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h b/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h >index bf6cea123cbf..630caf29d60a 100644 >--- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h >+++ b/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h >@@ -237,6 +237,7 @@ enum class AXPropertyName : uint16_t { > LiveRegionAtomic, > LiveRegionRelevant, > LiveRegionStatus, >+ LocalizedActionVerb, > MathFencedOpenString, > MathFencedCloseString, > MathLineThickness, >diff --git a/Source/WebKitLegacy/win/AccessibleBase.cpp b/Source/WebKitLegacy/win/AccessibleBase.cpp >index ed3776b0c01b..ac02f552a101 100644 >--- a/Source/WebKitLegacy/win/AccessibleBase.cpp >+++ b/Source/WebKitLegacy/win/AccessibleBase.cpp >@@ -717,7 +717,7 @@ HRESULT AccessibleBase::get_accDefaultAction(VARIANT vChild, __deref_opt_out BST > if (FAILED(hr)) > return hr; > >- if (*action = BString(childObj->actionVerb()).release()) >+ if (*action = BString(childObj->localizedActionVerb()).release()) > return S_OK; > return S_FALSE; > } >diff --git a/Source/WebKitLegacy/win/ChangeLog b/Source/WebKitLegacy/win/ChangeLog >index 482f7b173d3e..53318be4e228 100644 >--- a/Source/WebKitLegacy/win/ChangeLog >+++ b/Source/WebKitLegacy/win/ChangeLog >@@ -1,3 +1,14 @@ >+2021-11-04 Carlos Garcia Campos <cgarcia@igalia.com> >+ >+ AX: rename actionVerb() as localizedActionVerb() >+ https://bugs.webkit.org/show_bug.cgi?id=232711 >+ <rdar://problem/85015496> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * AccessibleBase.cpp: >+ (AccessibleBase::get_accDefaultAction): Use localizedActionVerb(). >+ > 2021-10-11 Chris Dumez <cdumez@apple.com> > > DOMTimeStamp is now EpochTimeStamp
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
Flags:
andresg_22
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 232711
: 443301