Title: [287425] trunk
- Revision
- 287425
- Author
- [email protected]
- Date
- 2021-12-24 02:50:26 -0800 (Fri, 24 Dec 2021)
Log Message
[GTK][a11y] Expose live region attributes with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234637
Reviewed by Adrian Perez de Castro.
Source/WebCore:
* accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::attributes const):
Tools:
* WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (287424 => 287425)
--- trunk/Source/WebCore/ChangeLog 2021-12-24 10:48:46 UTC (rev 287424)
+++ trunk/Source/WebCore/ChangeLog 2021-12-24 10:50:26 UTC (rev 287425)
@@ -1,5 +1,15 @@
2021-12-24 Carlos Garcia Campos <[email protected]>
+ [GTK][a11y] Expose live region attributes with ATSPI
+ https://bugs.webkit.org/show_bug.cgi?id=234637
+
+ Reviewed by Adrian Perez de Castro.
+
+ * accessibility/atspi/AccessibilityObjectAtspi.cpp:
+ (WebCore::AccessibilityObjectAtspi::attributes const):
+
+2021-12-24 Carlos Garcia Campos <[email protected]>
+
[GTK][a11y] Expose the right roles for math elements with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234634
Modified: trunk/Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp (287424 => 287425)
--- trunk/Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp 2021-12-24 10:48:46 UTC (rev 287424)
+++ trunk/Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp 2021-12-24 10:50:26 UTC (rev 287425)
@@ -1030,6 +1030,27 @@
else if (m_coreObject->isMathMultiscriptObject(AccessibilityMathMultiscriptObjectType::PostSuperscript) || m_coreObject->isMathMultiscriptObject(AccessibilityMathMultiscriptObjectType::PostSubscript))
map.add("multiscript-type", "post");
+ if (auto* liveContainer = m_coreObject->liveRegionAncestor(false)) {
+ auto liveStatus = liveContainer->liveRegionStatus();
+ map.add("container-live", liveStatus);
+ auto relevant = liveContainer->liveRegionRelevant();
+ map.add("container-relevant", relevant);
+ bool isAtomic = liveContainer->liveRegionAtomic();
+ if (isAtomic)
+ map.add("container-atomic", "true");
+ const String& liveRole = roleString.isEmpty() ? computedRoleString : roleString;
+ if (!liveRole.isEmpty())
+ map.add("container-live-role", liveRole);
+
+ if (liveContainer == m_coreObject) {
+ map.add("live", liveStatus);
+ map.add("relevant", relevant);
+ if (isAtomic)
+ map.add("atomic", "true");
+ } else if (!isAtomic && m_coreObject->liveRegionAtomic())
+ map.add("atomic", "true");
+ }
+
return map;
}
Modified: trunk/Tools/ChangeLog (287424 => 287425)
--- trunk/Tools/ChangeLog 2021-12-24 10:48:46 UTC (rev 287424)
+++ trunk/Tools/ChangeLog 2021-12-24 10:50:26 UTC (rev 287425)
@@ -1,3 +1,15 @@
+2021-12-24 Carlos Garcia Campos <[email protected]>
+
+ [GTK][a11y] Expose live region attributes with ATSPI
+ https://bugs.webkit.org/show_bug.cgi?id=234637
+
+ Reviewed by Adrian Perez de Castro.
+
+ * WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
+ (WTR::AccessibilityUIElement::stringAttributeValue):
+ (WTR::AccessibilityUIElement::boolAttributeValue):
+ (WTR::AccessibilityUIElement::isAttributeSupported):
+
2021-12-23 Wenson Hsieh <[email protected]>
Modal container control classifier fails on some neutral controls that contain multiplication symbols
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp (287424 => 287425)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp 2021-12-24 10:48:46 UTC (rev 287424)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp 2021-12-24 10:50:26 UTC (rev 287425)
@@ -371,6 +371,10 @@
value = checkElementState(m_element.get(), WebCore::Atspi::State::InvalidEntry) ? "true" : "false";
return OpaqueJSString::tryCreate(value).leakRef();
}
+ if (attributeName == "AXARIALive")
+ return OpaqueJSString::tryCreate(attributes.get("live")).leakRef();
+ if (attributeName == "AXARIARelevant")
+ return OpaqueJSString::tryCreate(attributes.get("relevant")).leakRef();
return JSStringCreateWithCharacters(nullptr, 0);
}
@@ -469,6 +473,8 @@
return m_element->interfaces().contains(WebCore::AccessibilityObjectAtspi::Interface::Table);
if (attributeName == "AXInterfaceTableCell")
return m_element->interfaces().contains(WebCore::AccessibilityObjectAtspi::Interface::TableCell);
+ if (attributeName == "AXARIAAtomic")
+ return m_element->attributes().get("atomic") == "true";
return false;
}
@@ -539,6 +545,16 @@
return attributes.contains("setsize");
if (attributeName == "AXARIAPosInSet")
return attributes.contains("posinset");
+ if (attributeName == "AXARIALive") {
+ auto value = attributes.get("live");
+ return !value.isEmpty() && value != "off";
+ }
+ if (attributeName == "AXARIARelevant")
+ return attributes.contains("relevant");
+ if (attributeName == "AXARIAAtomic")
+ return attributes.contains("atomic");
+ if (attributeName == "AXElementBusy")
+ return true;
return false;
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes