How to fix empty table header on WooCommerce
Add descriptive text to every table header cell (`<th>`) so that screen readers can announce what each column or row represents.
Steps for WooCommerce
- Empty table headers in WooCommerce most commonly appear in product attribute tables, variation tables, or shortcode-generated content in page builders.
- For theme template files: in your WordPress admin go to Appearance → Theme File Editor (or use an FTP client). Locate templates such as `single-product/tabs/additional-information.php` or `loop/price.php` in your active (child) theme.
- Search those files for `<th` with no inner content and add descriptive text or `aria-label` attributes.
- For content inside the WordPress block editor or classic editor: open the Product or Page, switch to the 'Code editor' view (three-dot menu → Code editor in the block editor, or the 'Text' tab in the classic editor), find the `<th>` tags, and add labels.
- Use the 'WP Accessibility' plugin (by Joe Dolson) to perform an ongoing site-wide accessibility scan.
- Re-test with the WAVE browser extension or axe DevTools after saving.
<th scope="col">Price (USD)</th>
<!-- Visually hidden label for a decorative/spacer corner cell -->
<th scope="col" aria-label="Product thumbnail"></th>
<!-- Icon-only header with aria-label -->
<th scope="col" aria-label="Add to cart"></th>What is empty table header?
A table header cell (`<th>`) is the label that sits at the top of a column or the start of a row in an HTML table — it tells everyone what kind of data that column or row contains (e.g., "Product Name," "Price," "Quantity"). An "empty table header" means one or more of those label cells exists in your page's code but contains no readable text. The cell may look fine visually (perhaps it's a decorative spacer or uses an icon), but it has nothing for a screen reader to announce. Screen readers rely on header text to describe a table's structure, so when a header is blank, users who are blind or have low vision lose the context they need to understand the data.
**Accessibility & legal risk:** Empty table headers violate WCAG 2.1 Success Criterion 1.3.1 (Info and Relationships), which is the benchmark used in accessibility lawsuits and regulatory audits (ADA, EN 301 549, EAA 2025). A single empty header in a product-comparison or pricing table can make that entire table unusable for customers who rely on assistive technology — costing you sales and exposing you to legal liability. **SEO:** Search engines also use table structure to understand tabular content; properly labelled headers improve the semantic clarity of your pages, which can contribute to better crawlability and richer structured understanding of your data. **Conversions:** Accessible, well-labelled product or size tables are easier for all customers to scan, reducing the friction that causes shoppers to abandon a purchase.
See the complete Empty table header guide for every platform and the full background.
Not sure if your WooCommerce store has this?
Run a free SEOLZ audit — we’ll find empty table header and every other issue across your whole site.
Scan my site free