COMMIT_MESSAGE

 12010-09-17 Mario Sanchez Prada <msanchez@igalia.com>
 2
 3 Reviewed by NOBODY (OOPS!).
 4
 5 [Gtk] Incorrect exposure of list items whose children are elements
 6 https://bugs.webkit.org/show_bug.cgi?id=45383
 7
 8 Set ATK_ROLE_LIST_ITEM looking for the role of the parent object
 9
 10 * accessibility/gtk/AccessibilityObjectAtk.cpp:
 11 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
 12 Always include objects with ListItemRole in accessibility for GTK.
 13 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
 14 (getInterfaceMaskFromObject): Add some specific code to handle the
 15 special case of list markers by implementing AtkText when needed.

WebCore/ChangeLog

 12010-09-17 Mario Sanchez Prada <msanchez@igalia.com>
 2
 3 Reviewed by NOBODY (OOPS!).
 4
 5 [Gtk] Incorrect exposure of list items whose children are elements
 6 https://bugs.webkit.org/show_bug.cgi?id=45383
 7
 8 Set ATK_ROLE_LIST_ITEM looking for the role of the parent object
 9
 10 * accessibility/gtk/AccessibilityObjectAtk.cpp:
 11 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
 12 Always include objects with ListItemRole in accessibility for GTK.
 13 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
 14 (getInterfaceMaskFromObject): Add some specific code to handle the
 15 special case of list markers by implementing AtkText when needed.
 16
1172010-09-14 Kwang Yul Seo <skyul@company100.net>
218
319 Reviewed by Kent Tamura.

WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp

@@AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesO
7373 if (role == StaticTextRole)
7474 return IgnoreObject;
7575
 76 // Include all list items, regardless they have or not inline children
 77 if (roleValue() == ListItemRole)
 78 return IncludeObject;
 79
7680 // Bullets/numbers for list items shouldn't be exposed as AtkObjects.
7781 if (roleValue() == ListMarkerRole)
7882 return IgnoreObject;

WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp

@@static guint16 getInterfaceMaskFromObject(AccessibilityObject* coreObject)
20262026 interfaceMask |= 1 << WAI_TEXT;
20272027 if (!coreObject->isReadOnly())
20282028 interfaceMask |= 1 << WAI_EDITABLE_TEXT;
2029  } else if (role != TableRole && static_cast<AccessibilityRenderObject*>(coreObject)->renderer()->childrenInline())
2030  interfaceMask |= 1 << WAI_TEXT;
 2029 } else {
 2030 AccessibilityRenderObject* axRenderObject = static_cast<AccessibilityRenderObject*>(coreObject);
 2031 if (role != TableRole && axRenderObject->renderer()->childrenInline())
 2032 interfaceMask |= 1 << WAI_TEXT;
 2033 else if (role == ListItemRole) {
 2034 // Add the TEXT interface for list items whose
 2035 // first accessible child has a text renderer
 2036 AccessibilityObject* axRenderChild = axRenderObject->firstChild();
 2037 while (axRenderChild && axRenderChild->accessibilityIsIgnored())
 2038 axRenderChild = static_cast<AccessibilityRenderObject*>(axRenderChild->nextSibling());
 2039 if (axRenderChild)
 2040 interfaceMask |= getInterfaceMaskFromObject(axRenderChild);
 2041 }
 2042 }
20312043
20322044 // Image
20332045 if (coreObject->isImage())