Skip to content
Permalink
Browse files
2010-02-26 Joanmarie Diggs <joanmarie.diggs@gmail.com>
        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=35418
        [Gtk] Every table, including layout tables, should be exposed as a table

        This patch exposes layout tables as tables. (Addressing the problematic table
        hierarchy remains to be done.)

        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (AccessibilityObject::accessibilityPlatformIncludesObject):
        * accessibility/AccessibilityRenderObject.cpp:
        (AccessibilityRenderObject::determineAccessibilityRole):

Canonical link: https://commits.webkit.org/46598@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@55297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
eseidel committed Feb 26, 2010
1 parent 938d975 commit 1abf25d2ccd9bcd0cd6a1a372c0ef584ba2a1bea
Showing 3 changed files with 32 additions and 2 deletions.
@@ -1,3 +1,18 @@
2010-02-26 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=35418
[Gtk] Every table, including layout tables, should be exposed as a table

This patch exposes layout tables as tables. (Addressing the problematic table
hierarchy remains to be done.)

* accessibility/gtk/AccessibilityObjectAtk.cpp:
(AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/AccessibilityRenderObject.cpp:
(AccessibilityRenderObject::determineAccessibilityRole):

2010-02-26 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.
@@ -2726,7 +2726,16 @@ AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole()

if (node && (node->hasTagName(rpTag) || node->hasTagName(rtTag)))
return AnnotationRole;


#if PLATFORM(GTK)
// Gtk ATs expect all tables, data and layout, to be exposed as tables.
if (node && node->hasTagName(tdTag))
return CellRole;

if (node && node->hasTagName(tableTag))
return TableRole;
#endif

if (m_renderer->isBlockFlow() || (node && node->hasTagName(labelTag)))
return GroupRole;

@@ -50,8 +50,14 @@ AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformI
if (parent->isPasswordField() || parent->isTextControl())
return IgnoreObject;

AccessibilityRole role = roleValue();

// Include all tables, even layout tables. The AT can decide what to do with each.
if (role == CellRole || role == TableRole)
return IncludeObject;

// The object containing the text should implement AtkText itself.
if (roleValue() == StaticTextRole)
if (role == StaticTextRole)
return IgnoreObject;

return DefaultBehavior;

0 comments on commit 1abf25d

Please sign in to comment.