123456789101112131415161718192021222324 |
- import isValidRole from '../aria/is-valid-role';
- /**
- * Determine if a `HTMLTableCellElement` is a data cell
- * @method isDataCell
- * @memberof axe.commons.table
- * @instance
- * @param {HTMLTableCellElement} node The table cell to test
- * @return {Boolean}
- */
- function isDataCell(cell) {
- // @see http://www.whatwg.org/specs/web-apps/current-work/multipage/tables.html#empty-cell
- if (!cell.children.length && !cell.textContent.trim()) {
- return false;
- }
- const role = cell.getAttribute('role');
- if (isValidRole(role)) {
- return ['cell', 'gridcell'].includes(role);
- } else {
- return cell.nodeName.toUpperCase() === 'TD';
- }
- }
- export default isDataCell;
|