HTML Is Broken

Yes, HTML is broken (see title ↑). Anyone who has used HTML on a big project knows it.

Just the other day, I went to code a submit button for a form. Should be pretty straightforward. Well how come this is what I wrote, then?

<table>
  <td>
    <a class="submit">
      <img src="submit-image.bmp">
    </a>
  </td>
</table>

I've had complaints from users saying they "can't use this shit" and mean developer "friends" have pointed and laughed at me, like it's some sort of failing on my part.

But let's look at the facts:

  1. I have a degree in computer science
  2. I literally probably have a really high IQ. That stands to reason.
  3. I live in San Francisco
  4. That's where Silicon Valley is. Ever heard of it??

I may have majored in computer science, but I minored in rationalist scientific enquiry. I say minored; it was more of a hobby. Anyway, given the FACTS provided above, if I see myself writing shit code I can only draw one logical conclusion:

It's not me who's stupid, it's you. You stupidly designed the stupid thing I'm trying to use stupidly and it's all your fault. Stupid HTML standardista stupid bum faces.

I rest my case.

But if that isn't enough to convince you that HTML is trying to make me look bad, wait until you see just how poorly HTML deals with basic arithmetic! Consider the following code example:


<p> + <i>

Which of the following do you think the above code evaluates as? The answer may surprise you.

  1. <p><i>
  2. <pi>
  3. π
  4. IT JUST WRITES IT OUT THE SAME THEN COMPLAINS AT ME ABOUT MISSING CLOSING TAGS WHATEVER THEY ARE??1!!?1!

I can do basic arithmetic, HTML. Why can't you? Oh, you're a "markup language" are you? Well bully for you. I didn't learn about HTML in my Ivy League university of choice, so how could I know that?

Fine, whatever. When there's an international standard for formatting and transmitting digital information available, I'LL USE IT TO FUCKING WELL LOOK UP WHAT HTML IS, HOW ABOUT THAT?


Idea for this article from @petervangrieken.

If you're struggling with the finer points of writing accessible markup, I have a new blog called Inclusive Components which explores the inclusive design of web interfaces.