Skip to main content

HTML Guide

Free site validation

Find out what web pages on your sites are affected by HTML issues.

The element “h1” must not appear as a descendant of the “th” element.

To fix the W3C HTML Validator issue stating that a heading element like h1, h2, h3, h4, h5 or h6 must not appear as a descendant of the th element, you need to ensure that the HTML structure follows the specifications where a heading element (h1 to h6) is not placed within a table cell element like th.

Here’s an example of what might be causing the issue and how you can correct it:

Incorrect HTML:

<table>
  <tr>
    <th>Month</th>
    <th><h1>Revenue</h1></th> <!-- Incorrect placement of h1 inside th -->
  </tr>
  <tr>
    <td>January</td>
    <td>$500</td>
  </tr>
</table>

Corrected HTML:

<h1>Revenue per month</h1>
<table>
  <tr>
    <th>Month</th>
    <th>Revenue</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$500</td>
  </tr>
</table>

In the corrected example, the issue is fixed by removing the h1 element from the th element. If you need to style the text inside the th element differently, you can achieve that via CSS without nesting heading elements inside table cell elements.

Learn more:

Related W3C validator issues