Something is not right just because it has been happening for a long time.
> It's up to the user agent to decide whether or not to run the code.
Yes, it should be.
The problem is that things are constructed so that that solution doesn't work because most people don't know how to do it and if you do it a lot of things break.
That forces people to let others take control over their computers when they may not actually want to do that.
If I let you control my computer, that should be because I want to, not because I'm forced to in order to be able to do what I need to do.