&gt; warns people<p>That can be an acceptable solution (or at least a workaround). It is always important to provide usable error messages when writing software. It is reasonable for some things to not work without JS.<p>That&#x27;s the whole point behind progressive enhancement, which is really just defensive programming. You never assume things worked, for the same reason you should always be checking return values for errors. How you respond to an error is something the programmer has to decide because sometimes you can simply continue without some feature, while other times making sure the user sees an error message is important.