Upgrade and Compromise

Published in Programming - 2 mins to read

As I'm sure you have noticed, today the site has an exciting new feature - colour! There is actually a slightly less obvious, but equally exciting, new feature that I have added today as well, which is a JavaScript file. I'd like to talk a bit about why I decided to add these two things to my site.

Both new additions actually have a common objective, that of improving accessibility. In my opinion, accessibility is overlooked by a very large number of web devs, and there isn't really a good excuse for it. All that is required to make a site accessible is some education and a tiny amount of time, and if a site is built with accessibility in mind, the extra effort is negligible.

The problem with my lovely CSS-only hamburger menus and accordions was that they were completely un-navigable with only a keyboard. Their current JavaScript-enhanced iterations aren't much better, but when I next have some time to work on the site, the improvements will allow full, and hopefully easy, keyboard navigation of the site.

My monochrome design choices may have fit my minimalist 【aesthetic】 but a lot of the greys had poor colour-contrast, and my link styles were confusing and inconsistent. Now, with only a primary and alternate colour, every link on the site should look the same and they are suitably different from regular text.

There is an element of compromise here - any JavaScript added will slow the performance of my site (although I have only added 15 or so lines so far, so the degradation will be infinitesimal), and I can no longer say the site is a no-JS-zone. With regards to the colours, I am not entirely sold on the actual hues I picked, at least not yet. It was a pretty tough decision, I wanted to pick ones that had solid contrast and were complementary, and avoid blue because everything on the internet is blue... Perhaps they will grow on me.

The next wave of upgrades for this site will be to make it compliant with the WCAG 2.0 AA standard. I am hopefully most of the way there already, but I am quite excited for the additional challenge, and I think I will learn a lot on the way.

I have made these changes to the site because I believe the web should be for everyone, and developers have a responsibility to cater for anyone who wants or needs to use their site.