Title: [288727] trunk/Tools
Revision
288727
Author
carlo...@webkit.org
Date
2022-01-27 23:01:55 -0800 (Thu, 27 Jan 2022)

Log Message

[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):

Modified Paths

Diff

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;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to