Contact page is completed. How I deal with Javascript disabled

fullstackdevpw.addEventListener('stageComplete', function(e) {
    if (e.stage === 1) alert('Contact page is complete!');

Hey, both of my readers!

I just made my contact form work. It was a first point in the development roadmap.

It took some time, because I wanted to protect my inbox from spam, and still keep my contact form convenient for user. I am user too. For me convenience means no "spead breakers" like captcha. So any checks against form bots should be done invisibly for humans. But then the question raised: I had some ideas how to do this check with Javascript, but what if a user disabled it in his browser? Such type of users wont be able to fill the form :(


Should I consider users with disabled Javascript?

I deceided to restrict some functionality for them. Yes, I know that for some people there may be a lot of reasons to keep javascript disabled. I have my opinion on each one.


Their main concern is privacy. So I'm concerned about my privacy as well. Personal site may expose some private details that owner would like to hide from online crawlers but keep open for human users. Think of your email or phone number. I just have no ideas how to acomplish this task without some data processing and page modifications in a browser window.

The basic idea is that the form bot is unlikely to use a JS, read a page through a screen or click with hardware pointer device. Though some of these targets are possible with browsers in a headless mode, but combined they do provide basic protection against automatic form fillers.

That said, I honor reader's privacy, thus any details shared by my users will never neither be stored on the server nor forwarded to third parties or abused in any other way. May be I'll add some Disclaimer and Privacy Policy later. I don't even use cookies, except those default used by CMS for user authorization.

What about other concerns?


I had bad experience with sites too heavy for my devices. I never owned a hi-end or latest hardware, so I know what I'm talking about. But instead of turning JS off for all websites, I just avoid using those badly designed...

The machine I use for developing is not hi-end too. It's a laptop desined for portability. So I'm not just sensitive to web sites performance, I'm able to detect performance affection before it hurts a user's experience. UPD: at some moment it started holding me back, so I aquired a powerful machine

To minimize performance drawbacks I avoid using third-party libraries, which were most usefull in the past, when every browser had it's own "standard" for web technologies. These days [when IE<9 era irrevesibly passed] it's safe to use plain Javascript.

I also always use strict mode, which has good impact on performance.

And finally, my use of JS is minimal. My bigger concern about performance is use of css animations and transitions. That's why I'm not very happy about my homepage. I'll address this soon.


A user named heylem, an author of the choosen answer from the post linked above, complains about some web applications "refreshing the world every 15 seconds or so for no good reason". I have never seen such apps. Even accepting that the author used exaggeration to emphesize the importance of keeping traffic as low as possible, the blamed AJAX was invented exactly for this purpose: refreshing only a part of the page, sending a form content to a server, placing an item to a shopping cart etc. etc. I don't imaging a case when this is more hungry on bandwidth then reload of the whole page, especially with it's media. So this particular blame sounds completely ridiculous for me. I'm wondering why such people are using computers and electricity in general, if they fiercely resist to such convenient technologies.


Currently doesn't contain any valuable information for general public, so I didn't specifically targeted disabled people. But this is the area I have to dive into in a future and get accustomed with the ARIA technologies. For now my JS doesn't block or hide any information from the reader, regardless of one's abilities.

To sum it up. Who are those people without JS? They are motley public (positively) of online professionals and just users, who are satisfied with server-generated content and are very concerned about online privacy and safety, thus unlikely any of them would hire a frontend developer, or even just contact him, revealing his email, let alone paying him online... Verdict: not my customers :)

Of course, I do not ignore such people completely. They are able to navigate and read the content with no restrictions, and are awared of limitations with <noscript> tag.


Finally, every message sent by the form will land right to my telegram, which is perfect messenger for syncing messages across your devices and is very humble on resources among other advantages.

Also I made non-standard popups with messages for interaction with the user. You are welcome to check my contact form out :)