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.

26 December 2018 - The 'hidden' Attribute - Finally a way to 'abuse' INPUT safely
By Jason M. Knight (aka Deathshadow)

For a while now as we've transitioned from using JavaScript for things like menus and modals to CSS using pseudo-classes such as :checked, there has been the problem that for non-CSS users you end up with a empty unassociated checkbox and label in the markup. This could be considered bad accessibility and confusing to users who do not get your screen media layout.

But now the W3C has added the hidden attribute to the HTML specification:


By using it all modern UA's are supposed to ignore the element as if it does not exist. Whilst this doesn't help in older user agents, it is a step in the right direction and is supported by Gecko, Blink, and Chakra... meaning support is surprisingly far along. No shock really though, since it's basically treated as display:none; -- just even screen readers and CSS disabled it is supposed to be obeyed.

20 December 2018 - Elementals 3.7.0 Final, and Future Roadplan
By Jason M. Knight (aka Deathshadow)


It has been three quarters of a year since the last update. This release -- version 3.7 -- will be the last of the 3.x branch pending a code audit, addition of some 'essential' functionality for modern site construction, and removal of some legacy support.

The biggest thing planned to be removed are the polyfills needed for IE 8/earlier support. Whilst when the original elementals library was created these were an essential tool, this is 2018 not 2008. Since any well written website should have a fallback for if scripting doesn't load, I have come to the conclusion that the best plan for supporting older versions of IE is to simply bomb out completely and not given them scripting at all.


  • 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