bool AXARIAGrid::addTableCellChild(AXObject* child, HashSet<AXObject*>& appendedRows, unsigned& columnCount) { if (!child || !child->isTableRow() || child->ariaRoleAttribute() != RowRole) return false; AXTableRow* row = toAXTableRow(child); if (appendedRows.contains(row)) return false; // store the maximum number of columns unsigned rowCellCount = row->children().size(); if (rowCellCount > columnCount) columnCount = rowCellCount; row->setRowIndex((int)m_rows.size()); m_rows.append(row); // Try adding the row if it's not ignoring accessibility, // otherwise add its children (the cells) as the grid's children. if (!row->accessibilityIsIgnored()) m_children.append(row); else m_children.appendVector(row->children()); appendedRows.add(row); return true; }