I took a very bold decision and built a new version of the site using Astro https://astro.build/. It was HTML-first. Javascript existed, in web components, but only to progressively-enhance a website that worked perfectly fine without it.
My logic was thus:
This is a public service
It should work on every machine possible
It should work when connections are poor
The forms must never lose data once it is entered
…
The results? When we launched, the number of people completing the form doubled. The analytics people didn’t even know where these users were coming from. Of course, your javascript-based analytics package doesn’t see the users you are bouncing because of javascript failures. It was a flood! We also saw my “keep a backend session, never lose user data” approach pay off. In one case, someone completed a form a month after starting it.
considering that I run with noscript on permanently, if the site immediately breaks, I just close the tab. if the site generally works, I will take the time to consider if JS is warranted. thank you for making sites that dont break the web.
considering that I run with noscript on permanently, if the site immediately breaks, I just close the tab. if the site generally works, I will take the time to consider if JS is warranted. thank you for making sites that dont break the web.