| Index: Source/modules/accessibility/AXTableCell.cpp
|
| diff --git a/Source/modules/accessibility/AXTableCell.cpp b/Source/modules/accessibility/AXTableCell.cpp
|
| index 306215b4391ecc746a0e4d5c204d56c878902912..f5a678d957dbc1eec2d777e1ba441ddf8efa5c69 100644
|
| --- a/Source/modules/accessibility/AXTableCell.cpp
|
| +++ b/Source/modules/accessibility/AXTableCell.cpp
|
| @@ -56,6 +56,18 @@ bool AXTableCell::isTableHeaderCell() const
|
| return node() && node()->hasTagName(thTag);
|
| }
|
|
|
| +bool AXTableCell::isRowHeaderCell() const
|
| +{
|
| + const AtomicString& scope = getAttribute(scopeAttr);
|
| + return equalIgnoringCase(scope, "row") || equalIgnoringCase(scope, "rowgroup");
|
| +}
|
| +
|
| +bool AXTableCell::isColumnHeaderCell() const
|
| +{
|
| + const AtomicString& scope = getAttribute(scopeAttr);
|
| + return equalIgnoringCase(scope, "col") || equalIgnoringCase(scope, "colgroup");
|
| +}
|
| +
|
| bool AXTableCell::computeAccessibilityIsIgnored() const
|
| {
|
| AXObjectInclusion decision = defaultObjectInclusion();
|
| @@ -113,10 +125,10 @@ AccessibilityRole AXTableCell::scanToDecideHeaderRole()
|
| return CellRole;
|
|
|
| // Check scope attribute first.
|
| - const AtomicString& scope = getAttribute(scopeAttr);
|
| - if (equalIgnoringCase(scope, "row"))
|
| + if (isRowHeaderCell())
|
| return RowHeaderRole;
|
| - if (equalIgnoringCase(scope, "col"))
|
| +
|
| + if (isColumnHeaderCell())
|
| return ColumnHeaderRole;
|
|
|
| // Check the previous cell and the next cell
|
|
|