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/20a website post about websites9 min read

You know, every­one on Neocities loves talk­ing about the old web. Not nec­es­sar­ily as in, like, the old pre-every­thing-be­com­ing-con­sol­i­dated-into-the-same-three-sites webs, but even be­fore that, the Geocities and Angelfires of the world. It was bet­ter, you see, be­cause web pages were sim­pler. This is I guess true, in­so­far as peo­ple were less likely to use javascript for dumb and bad rea­sons, but I have a few coun­ter­points to this.

For one, it’s pretty un­de­ni­able that there were still peo­ple us­ing javascript for dumb and bad rea­sons. The whole rea­son I re­mem­ber get­ting all my im­me­di­ate friends and fam­ily mem­bers to switch to Firefox, when I was 12, was be­cause it could block pop­ups, and good god almighty were there a lot of those. Even dis­con­nected from that, be­cause there were far fewer rules on what a web­page could, the­o­ret­i­cally, do, be­fore peo­ple agreed it was hos­tile, it re­sulted in sig­nif­i­cantly dumber things you’d get upon en­ter­ing any given site.

The num­ber of times a web­page would try to block you from right click­ing, in par­tic­u­lar, is a level of nui­sance that even some­thing as dogshit as Facebook would strug­gle to live up to. The idea, os­ten­si­bly, was that it dis­al­lowed peo­ple from, like, right click­ing on im­ages? Except it was com­i­cally easy to by­pass it, so all it did was make nav­i­gat­ing your web­site worse, be­cause now all the other things in your right click menu were locked away.

But, per­haps more im­por­tantly, web pages were not ac­tu­ally sim­pler, in terms of how they were coded, and the qual­ity-of-life changes to web de­vel­op­ment that would even­tu­ally lead to the in­ter­net get­ting worse were, on the con­trary, ac­tively her­alded as bet­ter for every­one, even new­bies, be­cause un­like how so many old web­sites worked, they gen­uinely were far, far sim­pler.

If you don’t be­lieve me, ask your­self this: why is it that de­spite be­ing so much about the old web, a ma­jor­ity of all Neocities pages refuse to use <table> tags?

In case you’re won­der­ing, a <table> tag does ex­actly what it sounds like; it makes a table, not un­like the ones you’d use for like, charts, and dis­play­ing stats, and shit. People in the old web loved this tag, be­cause af­ter all, what is your av­er­age web page, with a side­bar and a header, if not some­thing that looks kind of like a table? It’s ba­si­cally per­fect!

Surely, every­one here would rather use that, and not some­thing 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 try­ing to use it as some­thing that must be very de­cid­edly non-table-like, you are putting in an un­rea­son­able amount of el­bow grease for some­thing that, more of­ten than not, still looks ugly as shit. It won’t fit every web page, out­side of the ex­act res­o­lu­tion you set it to, it ru­ins ba­si­cally any chance of some­one with a screen reader hav­ing even the slight­est clue how your web­site’s meant to be laid out, and don’t even try men­tion­ing to an older web de­vel­oper what that code looked like, be­cause it makes the hell­ish tag-soup of <divs> look gor­geous by com­par­i­son.

Even for as early as the 2000’s, you had bet­ter so­lu­tions to this, al­beit clunky ones. Now, you don’t even have to deal with the clunk, be­cause throw­ing display: grid or display: flex with a cou­ple of set­tings will just do all the work for you. To this day, any form of web­dev doc­u­men­ta­tion will still have a sec­tion, for the rare event that you’re old enough to have been do­ing that sort of thing in 1997, that ba­si­cally amounts to “please do not”.

Once upon a time, a baby Miti un­der­stood this. She saw ar­ti­cle af­ter ar­ti­cle from web de­vel­op­ment blog­gers beg­ging, on their hands and knees, for peo­ple get­ting into web de­vel­op­ment to never, ever do that. Baby Miti, a re­spon­si­ble girl, did not.

This, uh, posed a prob­lem, as it turned out.

I had a class in high school that was called some­thing like Computer Tech, clum­sily named be­cause “tech”, to a rural Ontario school board per­ma­nently 20 years in the past, could seem­ingly mean any­thing from car me­chan­ics to wood­work­ing, and every­thing in it was a re­minder that I was in a place where the idea of an in­ter­net con­nec­tion faster than non-func­tion­ing DSL was novel, and thus every­thing was an­cient by re­quire­ment. When it was just about, like, learn­ing to mix au­dio in Audacity, or mak­ing Powerpoint pre­sen­ta­tions with code in them, or what­ever, this was fine; I could tell things were weird, and there were things be­ing talked about that had­n’t been rel­e­vant in ages, but noth­ing was of­fen­sively bad for the 2013-ish era I was in.

When we got to the part about mak­ing web­sites, it was less fine. My teacher was, as it turned out, a huge <table>-enjoyer, and he made sure we all un­der­stood that. Immediately, I was be­ing told to do all the things that ac­tual web de­vel­op­ers were say­ing I should never, ever do. Note that at this point, I had al­ready been con­sid­er­ing do­ing that shit for, like, ac­tual money. I could­n’t be show­ing up to places I’d want to work at with ta­bles! That’s like show­ing up to a job in­ter­view in a 2am con­ve­nience store run getup!

Fuck no, if I’m do­ing this, I’m do­ing it the right way—and it was right around this time that the whole CSS3 up­date was hap­pen­ing, so I had a lot of ex­cit­ing new op­tions. My goal was sim­ple: I’d do every sin­gle thing he asked, but us­ing only ba­sic <div> tags and CSS. I’d even bring in all those fancy web fonts I’d been hear­ing so much about, and it’d be COOL.

I did not con­sider the pos­si­bil­ity that, uh, my teacher might not ac­tu­ally know what CSS is. See, all the in­struc­tions he gave in­volved styling each tag within the tag, be­cause I guess the table tags weren’t un­read­able enough, and he never seemed to ac­tu­ally con­sider that you never had to do it like that. I gen­uinely think he as­sumed those were an in-tag thing only.

My very cool, ex­tremely clean and mod­ern site, with proper flex at­trib­utes and nicely con­trasted 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 in­lined. There is an ex­tremely likely chance that, be­cause he did not know what CSS was, and thus, did not know that I could sim­ply have a sec­ond file, he sim­ply as­sumed that even with the web­page ob­vi­ously work­ing, I must have just not ac­tu­ally made one.

That I did every sin­gle thing the as­sign­ment told me to do is sec­ondary to the fact that, from what he could com­pre­hend, I could­n’t have ac­tu­ally 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 side­bar, af­ter all. What the fuck is a “div”, any­ways?

Thus, I got a big fat goose egg. I spent dozens of hours learn­ing what made a good, mod­ern site looked like, and then got flunked for be­ing too op­ti­mal about it. I can’t blame him for it; in some sense, it’s my fault for for­get­ting that you had to treat the course that’s a decade in the past like the post-IE browser rev­o­lu­tion had­n’t hap­pened yet.

I think about that as­sign­ment con­stantly, not just in the sense that I’m still kind of an­noyed by it—and I am—but be­cause that was 11 years ago. There has been more time be­tween the cur­rent day I’m post­ing this, and that as­sign­ment, than there has been time be­tween that as­sign­ment and the last time <table>-based web­sites were con­sid­ered ac­cept­able.

In just the past month and a half of mak­ing this blog, I’ve been learn­ing so much about how there’s been sim­i­lar changes, ones that seem­ingly hap­pened when even the peo­ple build­ing the in­ter­net weren’t look­ing. We live in a world where I can ac­tu­ally choose my own CSS pri­or­ity, where I can prop­erly nest CSS and it just works, and I don’t even need div tags any­more!

That last one in par­tic­u­lar still sends me, and it’s seem­ingly so be­yond what peo­ple as­sume HTML has to be that I’m not re­ally sure if peo­ple even fully un­der­stand it; when I asked how com­mon knowl­edge it was, the only an­swer I got was an un­elab­o­rated ar­gu­ment that it causes ac­ces­si­bil­ity is­sues, some­thing that, by de­f­i­n­i­tion, would also ap­ply to to the very div tags it could re­place! I don’t blame them for mak­ing that point, be­cause I’m sure they did­n’t even re­mem­ber why it could be those things, be­cause, re­ally, when’s the last time some­one even pointed out this ex­ists?

I think es­pe­cially about how <table> tags are so, painfully ugly to look at when cod­ing, a com­plete ab­stract mess that’s im­pos­si­ble to de­ci­pher be­cause, right now, we ex­ist in a world where your av­er­age wrapped </div> tags are just as un­read­able, when you look at them from their lower halves. How many things are we not us­ing be­cause we’re stuck in worse ways? Just how many <table> tags are out there, wait­ing to be ob­so­leted for some­thing bet­ter, that re­main un­used, not be­cause the old way is bet­ter, but be­cause we’re en­ter­ing an age where the same, un­chang­ing se­nior web de­vel­op­ers are the ones get­ting work? by nomiti ityool 2024
CC BY-SA 4.0 unless marked otherwise
made with Eleventy v2.0.1

rss feed lives here
if you use this for AI i hope my dogshit sentence structure poisons it