Index: Source/modules/accessibility/AXTableColumn.cpp |
diff --git a/Source/modules/accessibility/AXTableColumn.cpp b/Source/modules/accessibility/AXTableColumn.cpp |
index aec01b26afaf5f8c9d650eb3077c88066c88ef92..3e23310bb28a1dd7b4eb2b79b1776415d975b3d5 100644 |
--- a/Source/modules/accessibility/AXTableColumn.cpp |
+++ b/Source/modules/accessibility/AXTableColumn.cpp |
@@ -72,7 +72,24 @@ void AXTableColumn::headerObjectsForColumn(AccessibilityChildrenVector& headers) |
return; |
RenderObject* renderer = m_parent->renderer(); |
- if (!renderer || !renderer->isTable()) |
+ if (!renderer) |
+ return; |
+ |
+ if (!m_parent->isAXTable()) |
+ return; |
+ |
+ if (toAXTable(m_parent)->isAriaTable()) { |
+ AccessibilityChildrenVector columnChildren = children(); |
+ unsigned childrenCount = columnChildren.size(); |
+ for (unsigned i = 0; i < childrenCount; i++) { |
+ AXObject* cell = columnChildren[i].get(); |
+ if (cell->roleValue() == ColumnHeaderRole) |
+ headers.append(cell); |
+ } |
+ return; |
+ } |
+ |
+ if (!renderer->isTable()) |
return; |
LayoutTable* table = toLayoutTable(renderer); |