Changeset 68023 in webkit


Ignore:
Timestamp:
Sep 22, 2010 12:49:34 AM (14 years ago)
Author:
commit-queue@webkit.org
Message:

2010-09-22 Mario Sanchez Prada <msanchez@igalia.com>

Reviewed by Chris Fleizach.

[Gtk] Incorrect exposure of list items whose children are elements
https://bugs.webkit.org/show_bug.cgi?id=45383

Check that list items will be always exposed like that for GTK

  • platform/gtk/accessibility/list-items-always-exposed-expected.txt: Added.
  • platform/gtk/accessibility/list-items-always-exposed.html: Added.

2010-09-22 Mario Sanchez Prada <msanchez@igalia.com>

Reviewed by Chris Fleizach.

[Gtk] Incorrect exposure of list items whose children are elements
https://bugs.webkit.org/show_bug.cgi?id=45383

Set ATK_ROLE_LIST_ITEM looking for the role of the parent object

Test: platform/gtk/accessibility/list-items-always-exposed.html

  • accessibility/gtk/AccessibilityObjectAtk.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Always include objects with ListItemRole in accessibility for GTK.
  • accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (getInterfaceMaskFromObject): Add some specific code to handle the special case of list markers by implementing AtkText when needed.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r68021 r68023  
     12010-09-22  Mario Sanchez Prada  <msanchez@igalia.com>
     2
     3        Reviewed by Chris Fleizach.
     4
     5        [Gtk] Incorrect exposure of list items whose children are elements
     6        https://bugs.webkit.org/show_bug.cgi?id=45383
     7
     8        Check that list items will be always exposed like that for GTK
     9
     10        * platform/gtk/accessibility/list-items-always-exposed-expected.txt: Added.
     11        * platform/gtk/accessibility/list-items-always-exposed.html: Added.
     12
    1132010-09-22  Michael Saboff  <msaboff@apple.com>
    214
  • trunk/WebCore/ChangeLog

    r68022 r68023  
     12010-09-22  Mario Sanchez Prada  <msanchez@igalia.com>
     2
     3        Reviewed by Chris Fleizach.
     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        Test: platform/gtk/accessibility/list-items-always-exposed.html
     11
     12        * accessibility/gtk/AccessibilityObjectAtk.cpp:
     13        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
     14        Always include objects with ListItemRole in accessibility for GTK.
     15        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
     16        (getInterfaceMaskFromObject): Add some specific code to handle the
     17        special case of list markers by implementing AtkText when needed.
     18
    1192010-09-22  Dirk Schulze  <krit@webkit.org>
    220
  • trunk/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp

    r67383 r68023  
    7474        return IgnoreObject;
    7575
     76    // Include all list items, regardless they have or not inline children
     77    if (role == ListItemRole)
     78        return IncludeObject;
     79
    7680    // Bullets/numbers for list items shouldn't be exposed as AtkObjects.
    77     if (roleValue() == ListMarkerRole)
     81    if (role == ListMarkerRole)
    7882        return IgnoreObject;
    7983
  • trunk/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp

    r67435 r68023  
    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            RenderObject* renderer = axRenderObject->renderer();
     2032            if (role != TableRole && renderer && renderer->childrenInline())
     2033                interfaceMask |= 1 << WAI_TEXT;
     2034            else if (role == ListItemRole) {
     2035                // Add the TEXT interface for list items whose
     2036                // first accessible child has a text renderer
     2037                AccessibilityObject::AccessibilityChildrenVector children = axRenderObject->children();
     2038                if (children.size()) {
     2039                    AccessibilityObject* axRenderChild = children.at(0).get();
     2040                    interfaceMask |= getInterfaceMaskFromObject(axRenderChild);
     2041                }
     2042            }
     2043        }
    20312044
    20322045    // Image
Note: See TracChangeset for help on using the changeset viewer.