Home

This website ain't broken

When website like mine is visited by regular NPC then question "is this website broken?" is inevitable. If you ensure your reader that indeed everything is fine then you will get followup question "why it is so ugly?". The shock that plain HTML has on the viewer is strong. So let me tell you why I want it that way.

American Psycho Business Card meme

tl;dr

Focus on text

Text is my weapon of choice. It would NOT make any sense for artist to maintain website with strong emphasis on text content. But it works for me.

Further I use text based browsers. For example the EWW (Emacs Web Wowser). There are few widely known TUI solutions like: w3m, Lynx and Links. Using any of those might be your choice or reality. Either way such software displays mostly monospace text. Maintaining design becomes pointless. Good structure and semantics of HTML document is all that matters. You are quickly being reminded how important are the alt attributes in images when terminal text web browser is used. Also text (and sound) is the only think that blind person gets. So if you have good experience in text based browser then disabled person will have not troubles browsing your site.

screenshot
Blog post in Links terminal web browser

Whats more. In current world people don't read that much. It got to the point that reading and writing feels like a super power again. Often when information on specific topic is available only in documentation or specification of some sort then it's almost like a secret knowledge accessible to selected few. I like to exercise this idea that text content is no longer readable to most.

Ease of maintenance

I'm lazy when it comes to managing dependencies. I did not wanted to use CMS software of any kind as sooner or later those demand your attention and require maintenance. I want to do as little as possible when hosting my website and when creating new blog entries. For those reasons I turned into plain HTML. You literally can't do less when creating a website.

Lack of CSS actually make website more lightweight, responsive and less broken in general. Case made by motherfuckingwebsite. It might seem strange for Web Developer to have a website with plain HTML but after working years with this stuff you just want to have a break and do as little as possible. Each post is a single plan HTML file with just few tags for links, paragraphs and headers. View page source to see for yourself.

The same can be said about JavaScript. There are even browsers and plugins that disable JS for security reasons. Some people will also disable JS for ideological reasons (free software, GNU, GPL etc.). Website that works without JavaScript is more accessible to those outsiders.

Plain HTML is more accessible

I already made a case for blind people and people that disables JavaScript in browser. My overall point is this: the less your website need to display content properly the more accessible it is. It will work on more devices in more software for more people.

Simple thing like zooming in and out can break many basic websites with just few lines of CSS. Change of colors to more subdued makes pages harder to read for person with sight problems or for device with poor display. Hover effects are almost unusable on touch screen devices. Using CMS make website easier to hack. Those are just a few examples of very simple and common thinks that are being done to websites making them less accessible reducing User Experience (UX).

And don't get me started on how fat websites are those days. Bigger size means worst accessibility for those with lesser internet connection. It almost seams like most of the internet is optimized for first class citizens only. But even their newest devices sweat at the thought of loading modern web pages. I'm still talking about websites, not web applications.

OFC it's possible to create beautiful site with CSS and JS that is not broken in any way and have most of the advantages that plain HTML has. Yet this is surprisingly difficult for most developers. It's not only the issue of skill. Often requirements from client or design is impossible to deliver without breaking website for someone. But the main reason is that very few people tries to make website that works for everyone. No one seams to care and most are ignorant by choice.

Repelling readers

In contrast to most I don't want to attract attention. Most websites are designed nicely, tries to be unique, be memorable, follow trends, try new things etc. I desire exact opposite. Because of that I'm making website as unattractive as possible. Similar to what Brutalist Websites are doing.

Also because of that I'm writing mostly on sites hosted using Gopher and Gemini protocols. Those are unknown and unfamiliar to general audience.

CSS still needed

Today I still use some CSS with no plans to join nocss.club any time soon. There are no default styles in browsers for dark mode which is very popular those days. I feel obligated to support that. The lack of constrain for lines width in text by default is also problematic because screen are very wide and it's common to run browsers full screen.

With plain HTML there is a problem with separation between page sections. Tags like header, main, article, section and footer are great for semantics but have no visual representation in default plain HTML. For example the <hr> tag should be used as semantic separation on paragraphs level and not as mean to display horizontal line.

From MDN <hr>: The Thematic Break (Horizontal Rule) element:

Historically, this has been presented as a horizontal rule or line. While it may still be displayed as a horizontal rule in visual browsers, this element is now defined in semantic terms, rather than presentational terms, so if you wish to draw a horizontal line, you should do so using appropriate CSS.

While it makes sense from modenr browse perspective this approach does not work in text web browsers. Tags like header, main and footer are simply ignored and using Horizontal Rule is the only way of separating content visually that differs from regular header tag.

There is still hope that one day it will be possible to host perfect website without any styles. For example Chrome has experimental flag chrome://flags/#enable-force-dark that can try to use dark mode on plain websites like mine. And as for the text max width. Most of the people browse internet from mobile phones. There is no need for max width limit on those devices. So maybe I will get ride of CSS one day. But this is not this day.