BAD POSTS DOT BOO

the first time i ever made a website with css, i got a failing grade for it

this post about the ever-changing web contains no tables, 0/20

You know, everyone on Neocities loves talking about the old web. Not necessarily as in, like, the old pre-everything-becoming-consolidated-into-the-same-three-sites webs, but even before that, the Geocities and Angelfires of the world. It was better, you see, because web pages were simpler. This is I guess true, insofar as people were less likely to use javascript for dumb and bad reasons, but I have a few counterpoints to this.

For one, it’s pretty undeniable that there were still people using javascript for dumb and bad reasons. The whole reason I remember getting all my immediate friends and family members to switch to Firefox, when I was 12, was because it could block popups, and good god almighty were there a lot of those. Even disconnected from that, because there were far fewer rules on what a webpage could, theoretically, do, before people agreed it was hostile, it resulted in significantly dumber things you’d get upon entering any given site.

The number of times a webpage would try to block you from right clicking, in particular, is a level of nuisance that even something as dogshit as Facebook would struggle to live up to. The idea, ostensibly, was that it disallowed people from, like, right clicking on images? Except it was comically easy to bypass it, so all it did was make navigating your website worse, because now all the other things in your right click menu were locked away.

But, perhaps more importantly, web pages were not actually simpler, in terms of how they were coded, and the quality-of-life changes to web development that would eventually lead to the internet getting worse were, on the contrary, actively heralded as better for everyone, even newbies, because unlike how so many old websites worked, they genuinely were far, far simpler.

If you don’t believe me, ask yourself this: why is it that despite being so much about the old web, a majority of all Neocities pages refuse to use <table> tags?

In case you’re wondering, a <table> tag does exactly what it sounds like; it makes a table, not unlike the ones you’d use for like, charts, and displaying stats, and shit. People in the old web loved this tag, because after all, what is your average web page, with a sidebar and a header, if not something that looks kind of like a table? It’s basically perfect!

Surely, everyone here would rather use that, and not something as silly as a styled block tag, right? Tables don’t even need CSS styling to work!

Problem: it’s a table. That means it wants to work like a table, and it wants to move around and change shape like a table, and that means that, if you are trying to use it as something that must be very decidedly non-table-like, you are putting in an unreasonable amount of elbow grease for something that, more often than not, still looks ugly as shit. It won’t fit every web page, outside of the exact resolution you set it to, it ruins basically any chance of someone with a screen reader having even the slightest clue how your website’s meant to be laid out, and don’t even try mentioning to an older web developer what that code looked like, because it makes the hellish tag-soup of <divs> look gorgeous by comparison.

Even for as early as the 2000’s, you had better solutions to this, albeit clunky ones. Now, you don’t even have to deal with the clunk, because throwing display: grid or display: flex with a couple of settings will just do all the work for you. To this day, any form of webdev documentation will still have a section, for the rare event that you’re old enough to have been doing that sort of thing in 1997, that basically amounts to “please do not”.

Once upon a time, a baby Miti understood this. She saw article after article from web development bloggers begging, on their hands and knees, for people getting into web development to never, ever do that. Baby Miti, a responsible girl, did not.

This, uh, posed a problem, as it turned out.


I had a class in high school that was called something like Computer Tech, clumsily named because “tech”, to a rural Ontario school board permanently 20 years in the past, could seemingly mean anything from car mechanics to woodworking, and everything in it was a reminder that I was in a place where the idea of an internet connection faster than non-functioning DSL was novel, and thus everything was ancient by requirement. When it was just about, like, learning to mix audio in Audacity, or making Powerpoint presentations with code in them, or whatever, this was fine; I could tell things were weird, and there were things being talked about that hadn’t been relevant in ages, but nothing was offensively bad for the 2013-ish era I was in.

When we got to the part about making websites, it was less fine. My teacher was, as it turned out, a huge <table>-enjoyer, and he made sure we all understood that. Immediately, I was being told to do all the things that actual web developers were saying I should never, ever do. Note that at this point, I had already been considering doing that shit for, like, actual money. I couldn’t be showing up to places I’d want to work at with tables! That’s like showing up to a job interview in a 2am convenience store run getup!

Fuck no, if I’m doing this, I’m doing it the right way—and it was right around this time that the whole CSS3 update was happening, so I had a lot of exciting new options. My goal was simple: I’d do every single thing he asked, but using only basic <div> tags and CSS. I’d even bring in all those fancy web fonts I’d been hearing so much about, and it’d be COOL.

I did not consider the possibility that, uh, my teacher might not actually know what CSS is. See, all the instructions he gave involved styling each tag within the tag, because I guess the table tags weren’t unreadable enough, and he never seemed to actually consider that you never had to do it like that. I genuinely think he assumed those were an in-tag thing only.

My very cool, extremely clean and modern site, with proper flex attributes and nicely contrasted fonts and a good color scheme, was all done with a CSS file that, while linked in the same way a CSS file is meant to be linked, was also not inlined. There is an extremely likely chance that, because he did not know what CSS was, and thus, did not know that I could simply have a second file, he simply assumed that even with the webpage obviously working, I must have just not actually made one.

That I did every single thing the assignment told me to do is secondary to the fact that, from what he could comprehend, I couldn’t have actually done any of it. After all, if I did, he’d have seen a <table> tag when he opened up the HTML file in notepad! That’s how you add a sidebar, after all. What the fuck is a “div”, anyways?

Thus, I got a big fat goose egg. I spent dozens of hours learning what made a good, modern site looked like, and then got flunked for being too optimal about it. I can’t blame him for it; in some sense, it’s my fault for forgetting that you had to treat the course that’s a decade in the past like the post-IE browser revolution hadn’t happened yet.


I think about that assignment constantly, not just in the sense that I’m still kind of annoyed by it—and I am—but because that was 11 years ago. There has been more time between the current day I’m posting this, and that assignment, than there has been time between that assignment and the last time <table>-based websites were considered acceptable.

In just the past month and a half of making this blog, I’ve been learning so much about how there’s been similar changes, ones that seemingly happened when even the people building the internet weren’t looking. We live in a world where I can actually choose my own CSS priority, where I can properly nest CSS and it just works, and I don’t even need div tags anymore!

That last one in particular still sends me, and it’s seemingly so beyond what people assume HTML has to be that I’m not really sure if people even fully understand it; when I asked how common knowledge it was, the only answer I got was an unelaborated argument that it causes accessibility issues, something that, by definition, would also apply to to the very div tags it could replace! I don’t blame them for making that point, because I’m sure they didn’t even remember why it could be those things, because, really, when’s the last time someone even pointed out this exists?

I think especially about how <table> tags are so, painfully ugly to look at when coding, a complete abstract mess that’s impossible to decipher because, right now, we exist in a world where your average wrapped </div> tags are just as unreadable, when you look at them from their lower halves. How many things are we not using because we’re stuck in worse ways? Just how many <table> tags are out there, waiting to be obsoleted for something better, that remain unused, not because the old way is better, but because we’re entering an age where the same, unchanging senior web developers are the ones getting work?


RETURN TO TOP