Modified: trunk/Tools/ChangeLog (288726 => 288727)
--- trunk/Tools/ChangeLog 2022-01-28 07:00:55 UTC (rev 288726)
+++ trunk/Tools/ChangeLog 2022-01-28 07:01:55 UTC (rev 288727)
@@ -1,3 +1,26 @@
+2022-01-27 Carlos Garcia Campos <cgar...@igalia.com>
+
+ [GTK][a11y] WTR: add implementation for all relation APIs with ATSPI
+ https://bugs.webkit.org/show_bug.cgi?id=235702
+
+ Reviewed by Adrian Perez de Castro.
+
+ There's more API that is ATK only but should be implemented by ATSPI too.
+
+ * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
+ * WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
+ (WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
+ (WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):
+
2022-01-27 Megan Gardner <megan_gard...@apple.com>
DocumentContext gives empty rects for blank lines.
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h (288726 => 288727)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h 2022-01-28 07:00:55 UTC (rev 288726)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h 2022-01-28 07:01:55 UTC (rev 288727)
@@ -246,7 +246,7 @@
RefPtr<AccessibilityUIElement> ariaOwnsElementAtIndex(unsigned);
RefPtr<AccessibilityUIElement> ariaFlowToElementAtIndex(unsigned);
RefPtr<AccessibilityUIElement> ariaControlsElementAtIndex(unsigned);
-#if PLATFORM(COCOA) || USE(ATK)
+#if PLATFORM(COCOA) || USE(ATK) || USE(ATSPI)
RefPtr<AccessibilityUIElement> ariaDetailsElementAtIndex(unsigned);
RefPtr<AccessibilityUIElement> ariaErrorMessageElementAtIndex(unsigned);
#else
@@ -254,7 +254,7 @@
RefPtr<AccessibilityUIElement> ariaErrorMessageElementAtIndex(unsigned) { return nullptr; }
#endif
-#if USE(ATK)
+#if USE(ATK) || USE(ATSPI)
RefPtr<AccessibilityUIElement> ariaLabelledByElementAtIndex(unsigned);
RefPtr<AccessibilityUIElement> ariaDescribedByElementAtIndex(unsigned);
RefPtr<AccessibilityUIElement> ariaOwnsReferencingElementAtIndex(unsigned);
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp (288726 => 288727)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp 2022-01-28 07:00:55 UTC (rev 288726)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp 2022-01-28 07:01:55 UTC (rev 288727)
@@ -128,16 +128,71 @@
return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::NodeParentOf, index);
}
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaOwnsReferencingElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::NodeChildOf, index);
+}
+
RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaFlowToElementAtIndex(unsigned index)
{
return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::FlowsTo, index);
}
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaFlowToReferencingElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::FlowsFrom, index);
+}
+
RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaControlsElementAtIndex(unsigned index)
{
return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::ControllerFor, index);
}
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaControlsReferencingElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::ControlledBy, index);
+}
+
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaLabelledByElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::LabelledBy, index);
+}
+
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::LabelFor, index);
+}
+
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaDescribedByElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::DescribedBy, index);
+}
+
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::DescriptionFor, index);
+}
+
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaDetailsElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::Details, index);
+}
+
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaDetailsReferencingElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::DetailsFor, index);
+}
+
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaErrorMessageElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::ErrorMessage, index);
+}
+
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex(unsigned index)
+{
+ return elementForRelationAtIndex(m_element.get(), WebCore::Atspi::Relation::ErrorFor, index);
+}
+
RefPtr<AccessibilityUIElement> AccessibilityUIElement::disclosedRowAtIndex(unsigned index)
{
return nullptr;