Optimising your site for those without JavaScript

Continuing my goal of continue building websites that leverage progressive enhancement.

As the year draws to a close, I’ve taken a look back over the websites and applications I have created and have found pride in my work.

Twenty seventeen was the year I wanted to really push “the user” to the front of my thoughts with each site I helped to create or update. It was also the year I got to experience User Testing first hand at Web Usability.

A key thread I’ve found in these projects, was my use of progressive enhancement and creating user experiences that do not require JavaScript by default.

There is some good research into the number of users who do not see your website with JavaScript. As GOV.UK does a great job explaining, it is not only those users who have actively denied JavaScript execution in their browser who we need to consider. There are users on slow network connection or slow devices that are unable to download or parse JavaScript. We need to consider the web experience for all of these users. They should not be denied access to content simply because of the developer’s laziness or the project manager’s deadlines.

The applications I helped to build this year include a number of blogs and data websites, some basic CRUD applications and a integrated forms solution. All of these could have benefited if we had gone “JavaScript required” — but all are better services for being functional without requiring JavaScript.

There are certainly cases for single-page applications where JavaScript is a must. But I would wager the majority of web work that is completed today requiring JavaScript, could provide an excellent user experience for those without it if the developers considered them.

My resolution for next year is to continue to work on progressively enhanced applications, and continue to improve my websites with JavaScript, rather than require it for all users.