Part of the problem is that HTML and CSS alone are horribly outdated in terms of being able to provide a modern-looking UI outside the box.
Want a slider? Unfortunately the gods at W3C/Google/etc. don't believe in a <input type="slider"> tag. Want a toggle switch? No <input type="toggle">. Want a tabbed interface? No <tabs><tab></tab></tabs> infrastructure. Want a login button that doesn't look like it came out of an 80's discotheque? You're probably going to need Angular, Polymer, MDL or one of those frameworks, and then jQuery to deal with the framework itself. You're already looking at 70-80kb for most of this stuff alone.
Want your website to be mobile-friendly? Swipe gestures? Pull to refresh? Add another 30-40kb.
Commenting with "reactive design" just to make your users feel like their comments went through before they actually went through? 50kb.
Want to gather basic statistics about your users? Add another 10kb of analytics code.
Why would a static content need pull-to-refresh? Or comments? Or a slider?
Mobile-friendly is perfectly fine with CSS resolution rules. Or with sticking to the basics and letting content flow within boundaries.
Basic analytics can be done on server side, or, by sending a single request with resolution, etc. as POST or GET params, or even by parsing web server logs. It won't give you that much, but it will give you basics for certain. (See awstats and webalizer from the old days.)
Don't overcomplicate things, none of what you're talking about is needed for an article.
I took such a sharp intake of breath in readiness to fire back a flappy-jowled response that I almost sucked my computer screen onto my face.
However, some of your following points are valid and it would be nice if things were a little simpler without resorting to lots of JS.
There are a few available as Web Components.