17 January 2019 - The TFOOT and TBODY order - W3C goes full Pakled
By Jason M. Knight (aka Deathshadow)

You never go full Pakled

My general disgust with some of the directions the WHATWG and W3C has gone with HTML 5 is pretty well known, but at the same time there are some things (like the new hidden attribute and reduced headers) that are overdue... but I just came across one that once again infuriates me in its outright stupidity.

It's something small, minor... shouldn't even be an issue, but it just proves the people now running things over there -- once again -- are unqualified to even be working on this specification!

They switched the order of TFOOT and TBODY in a TABLE, with the HTML 4/earlier rules now being invalid code! Herpafreakingderp. This is almost as ignorant and stupid as the (now defunct) HGROUP tag they tried to introduce.

Traditionally the valid structure of a TABLE was CAPTION, COLGROUP, THEAD, TFOOT, TBODY IN THAT ORDER!. Yes, TFOOT came before TBODY. Why? So that when printing output could be started before the entire table is loaded so that the TFOOT and THEAD can be printed on each and every page. That's part of what TFOOT is even for! To put it after just makes the UA (user-agent) have to work harder in those cases.

If they had simply loosened the structural rules to allow it after, I'd be ok with this, but to make the old way invalid just to move it after? Bullshit. Ignorant, petty, shortsighted bullshit... Just something else to heap on top of the train wrecks of pissing away two decades of progress under 4 Strict such as the allegedly structural tags or that aria role nonsense. What happened to trying to remove redundancies, clarify the rules, and shrink the specification to make it easier to work with?

It is much akin to the stupidity of making the validation service check for media targets, allowing only those on the currently approved list and throwing a warning about "projection", "tv", or "aural". A media target should be something UA makers are allowed to make their own, it's why it exists. Locking it down to a specific subset is for all intents and purposes stifling the possibility of innovation and missing a significant part of why the bloody attribute was created in the first place!

The more I deal with HTML 5, the more and more I get the feeling that the folks at the WhatWG were unqualified to create HTML 4 Strict's successor. The W3C was stupid to accept any of it since most everything in terms of tags, structural rules, and so forth defeat the point of HTML's existence.

Guess this one goes on my ever-growing list of warnings and errors I flat out ignore in the validation service now. Starting to think it's time for a new HTML specification that tells the WHATWG where to stick it. I know, how about one actually written for people who write websites instead of people who makes browsers! Here's an even crazier idea, make the entire specification authoritative -- you know, like an actual specification -- instead of documentative? How about that?


  • elementals.js
    A lightweight JavaScript library focusing on cross browser support, ECMAScript polyfills, and DOM manipulation.
  • eFlipper.js
    An image carousel script using elementals.js
  • eProgress.js
    A JavaScript controllable progress bar using elementals.js. Based on the nProgress project that relies on the much heavier jQuery library.


Browse code samples of people I've helped on various forums. These code snippets, images, and full rewrites of websites date back a decade or more, and are organized by the forum username of who I was helping. You'll find all sorts of oddball bits and pieces in here. You find any of it useful, go ahead, pick up the ball, and run with it.


Best Viewed With Eyeballs