Title: [287457] trunk/Source/WebCore
Revision
287457
Author
carlo...@webkit.org
Date
2021-12-26 23:38:42 -0800 (Sun, 26 Dec 2021)

Log Message

[GTK][a11y] Test accessibility/aria-inherits-presentational.html is failing with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=234685

Reviewed by Adrian Perez de Castro.

We are ignoring list items inheriting presentational role, but we need to expose its contents.

* accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::effectiveRole const): Use section as effective role of list items inheriting
presentational role.
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const): Include list items inheriting
presentational role.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (287456 => 287457)


--- trunk/Source/WebCore/ChangeLog	2021-12-27 07:37:13 UTC (rev 287456)
+++ trunk/Source/WebCore/ChangeLog	2021-12-27 07:38:42 UTC (rev 287457)
@@ -1,5 +1,20 @@
 2021-12-26  Carlos Garcia Campos  <cgar...@igalia.com>
 
+        [GTK][a11y] Test accessibility/aria-inherits-presentational.html is failing with ATSPI
+        https://bugs.webkit.org/show_bug.cgi?id=234685
+
+        Reviewed by Adrian Perez de Castro.
+
+        We are ignoring list items inheriting presentational role, but we need to expose its contents.
+
+        * accessibility/atspi/AccessibilityObjectAtspi.cpp:
+        (WebCore::AccessibilityObjectAtspi::effectiveRole const): Use section as effective role of list items inheriting
+        presentational role.
+        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const): Include list items inheriting
+        presentational role.
+
+2021-12-26  Carlos Garcia Campos  <cgar...@igalia.com>
+
         [GTK][a11y] Stop setting manages-descendants on web process root object with ATSPI
         https://bugs.webkit.org/show_bug.cgi?id=234663
 

Modified: trunk/Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp (287456 => 287457)


--- trunk/Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp	2021-12-27 07:37:13 UTC (rev 287456)
+++ trunk/Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp	2021-12-27 07:38:42 UTC (rev 287457)
@@ -1318,6 +1318,20 @@
         if (m_axObject->isMathToken())
             return Atspi::Role::Static;
         break;
+    case AccessibilityRole::ListItem: {
+        bool inheritsPresentationalRole = Accessibility::retrieveValueFromMainThread<bool>([this]() -> bool {
+            if (m_coreObject)
+                m_coreObject->updateBackingStore();
+
+            if (!m_coreObject)
+                return Atspi::Role::InvalidRole;
+
+            return m_coreObject->inheritsPresentationalRole();
+        });
+        if (inheritsPresentationalRole)
+            return Atspi::Role::Section;
+        break;
+    }
     default:
         break;
     }
@@ -1497,6 +1511,12 @@
     if (parent->isPasswordField() || parent->isTextControl())
         return AccessibilityObjectInclusion::IgnoreObject;
 
+    // List items inheriting presentational are ignored, but their content exposed.
+    // Since we expose text in the parent, we need to expose presentational list items
+    // with a different role (section).
+    if (roleValue() == AccessibilityRole::ListItem && inheritsPresentationalRole())
+        return AccessibilityObjectInclusion::IncludeObject;
+
     return AccessibilityObjectInclusion::DefaultBehavior;
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to