diff options
Diffstat (limited to 'WebCore/accessibility/AccessibilityTableCell.cpp')
-rw-r--r-- | WebCore/accessibility/AccessibilityTableCell.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/WebCore/accessibility/AccessibilityTableCell.cpp b/WebCore/accessibility/AccessibilityTableCell.cpp index 4d7cf5a..7674cb8 100644 --- a/WebCore/accessibility/AccessibilityTableCell.cpp +++ b/WebCore/accessibility/AccessibilityTableCell.cpp @@ -67,7 +67,7 @@ AccessibilityObject* AccessibilityTableCell::parentTable() const if (!m_renderer || !m_renderer->isTableCell()) return false; - return axObjectCache()->getOrCreate(static_cast<RenderTableCell*>(m_renderer)->table()); + return axObjectCache()->getOrCreate(toRenderTableCell(m_renderer)->table()); } bool AccessibilityTableCell::isTableCell() const @@ -92,7 +92,7 @@ void AccessibilityTableCell::rowIndexRange(pair<int, int>& rowRange) if (!m_renderer || !m_renderer->isTableCell()) return; - RenderTableCell* renderCell = static_cast<RenderTableCell*>(m_renderer); + RenderTableCell* renderCell = toRenderTableCell(m_renderer); rowRange.first = renderCell->row(); rowRange.second = renderCell->rowSpan(); @@ -122,7 +122,7 @@ void AccessibilityTableCell::columnIndexRange(pair<int, int>& columnRange) if (!m_renderer || !m_renderer->isTableCell()) return; - RenderTableCell* renderCell = static_cast<RenderTableCell*>(m_renderer); + RenderTableCell* renderCell = toRenderTableCell(m_renderer); columnRange.first = renderCell->col(); columnRange.second = renderCell->colSpan(); } @@ -134,8 +134,14 @@ AccessibilityObject* AccessibilityTableCell::titleUIElement() const // case when the table is not appearing as an AXTable.) if (isTableCell() || !m_renderer || !m_renderer->isTableCell()) return 0; + + // Table cells that are th cannot have title ui elements, since by definition + // they are title ui elements + Node* node = m_renderer->node(); + if (node && node->hasTagName(thTag)) + return 0; - RenderTableCell* renderCell = static_cast<RenderTableCell*>(m_renderer); + RenderTableCell* renderCell = toRenderTableCell(m_renderer); // If this cell is in the first column, there is no need to continue. int col = renderCell->col(); |