Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
To learn any programming language is to learn to debug. But a malformed command in Python usually returns an error message that prevents the code from running, not something that fails brilliantly but monstrously, exceeding the intentions of its creators. With HTML, we are all Doctor Frankenstein.
One of my all time favorite sites is the Embroidery Troubleshooting Guide. These days it is only available via the Internet Archiveunless you (like me) have a local copy. At the top, it looks like a typical, if somewhat outdated, small business website. But when you look down, you immediately notice something strange. The text, all aligned to the center in alternating red and blue Arial, gradually becomes larger and larger, with sentences forced to wrap lines or reach the edge in mid-sentence, filling the screen like Alice who try to squeeze through smaller and smaller doors in Wonderland. .
When you see the source code (do you have any other program made it as easy to see the source as a website?), quickly find out what is wrong. Each line of centered text begins with
On its own, the Embroidery Troubleshooting Guide would be a pretty clever piece of found concept art. But by seeing the source, downloading the file, and replacing the instructions to solve common sewing problems with any text you like, you can make the work of art your own. I like to put in my favorite poetry, decontextualizing it and forcing me to read it with new eyes.
“Broken” sites like these upend the great success of semantic HTML. As it developed, semantic HTML increasingly separated structure from presentation: Instead of tags, which specify strictly that a text be presented in italics, we use tag to identify the focus (or tags for book or movie titles, etc.). These elements may be presented as italic on the computer screen, but be read with a different intonation by a screen reader. The Embroidery Troubleshooting Guide hijacks a semantic tag and presents something unexpected. The same building blocks that allow a single website to be displayed responsively on a tiny cell phone or a huge television screen can make a website fundamentally undisplayable. This is delicious.
I appreciate the utility of content management systems and complex sites that generate HTML dynamically, but there is joy in building sites from simple HTML files that you can edit by hand. I always edit my own website this way, ordering it so I can see every tag, section and paragraph. I also enjoy editing my own ebooks, turning PDFs into well-formatted HTML-based EPUB files that are never published to anyone: my own private library of stand-alone websites. During the height of the pandemic, editing these files and their style sheets by hand was a balm.
Ultimately, even as HTML has become the province of professionals, it cannot be looked at. This is what makes so many programmers so anxious about the web, and sometimes pathetically desperate to maintain the all-too-real walls they have erected between software engineers and web developers. But people who write HTML know that hierarchies are meant to be broken. All it takes is a tag that doesn’t close where you expect it to.
What other programmers might say disdain is something HTML lovers embrace: Anyone can do it. Whether we’re using complex frameworks or very simple tools, the promise of HTML is that we can build, make, code and to do everything we want.