Index: includes/theme.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/theme.inc,v retrieving revision 1.337.2.3 diff -u -p -r1.337.2.3 theme.inc --- includes/theme.inc 11 Feb 2008 07:38:33 -0000 1.337.2.3 +++ includes/theme.inc 16 Feb 2008 05:08:39 -0000 @@ -766,17 +766,20 @@ function theme_table($header, $rows, $at // Format the table header: if (count($header)) { $ts = tablesort_init($header); - $output .= ' '; + // HTML requires that the thead tag has tr tags in it follwed by tbody + // tags. Using ternary operator to check and see if we have any rows. + $output .= (count($rows) ? ' ' : ' '); foreach ($header as $cell) { $cell = tablesort_header($cell, $header, $ts); $output .= _theme_table_cell($cell, TRUE); } - $output .= " \n"; + // Using ternary operator to close the tags based on whether or not there are rows + $output .= (count($rows) ? " \n" : "\n"); } // Format the table rows: - $output .= "\n"; if (count($rows)) { + $output .= "\n"; $flip = array('even' => 'odd', 'odd' => 'even'); $class = 'even'; foreach ($rows as $number => $row) { @@ -815,9 +818,10 @@ function theme_table($header, $rows, $at } $output .= " \n"; } + $output .= "\n"; } - $output .= "\n"; + $output .= "\n"; return $output; }