If Joe or Jane developer of Acme Demolition Inc. names a Javascript file `ad_main.js`, the burden of resolving the my-ad-blocker-is-blocking-this-file problem is not on them.
This is why I've yet to find an ad blocker that I would recommend to anyone without web development knowledge.
People will bend the Web to suit their goals. You as a web dev with a need for ads revenue focus on that. Me as a web user with a need for information and pathological hatred of anything distracting, focus on my needs. Users with visual and motor disabilities (I support a community of same) are quite actively thwarted by many revenue-positive factors.
My fix for a bunch of Web gunk is to have a default set of client-side CSS that kills, well, a bunch of crap. Flyovers, modals, interstitials, fixed header/footer elements, and a slew of other stuff. Ello's front-end guy pretty understandably said it voided my warranty for the World Wide Web. And he's not wrong.
But man does it make things suck ever so much less.
Which gets to the point: much of the stylesheet is glob-match patterns on descriptors that are frequently annoying as fuck-all. Which was why I'd showed it to him. That sheet, or others like it, are going to be in the client world, and soon, and if you're putting flyover and modal keywords in your selectors, they're going to get blocked.
Yes, it's an iterative arms race. Your turn.
(And: ultimately the solution is to fix the revenue/compensation model for published works. Online and elsewhere. That'll take a while, but it'll also fix very nearly everything wrong with the present iteration of the Web.)
The whole of html is full of these. Let's be blunt: it's a terrible platform, just as JavaScript's DOM API is terrible. Everything about the web is bad, but we make it good thanks to the combined might of the computing industry.
JavaScript's a mediocre language being used to pave over the weaknesses of a layout engine that can't centre things vertically and can't navigate without slow server interactions unless you want to confuse the user with one long page full of #anchors.
Robots and the disabled.
Bots include major search engines -- Google, Bing, DDG, etc. And yes, they may parse some JS, but it's quite spotty. But there are also a bazillion custom Web scrapers (not everything's APId, scraping is MVP) which harvest information for purposes good and otherwise.
The disabled use screen-readers or text-to-speech to render content for those who cannot see your pixel-perfect design.
I'm leaning to a "plaintext first" school of Web design. First plan a plaintext page, then mobile, then full desktop. See where that gets you.
Ten years ago, web dev was all about getting your page to work on all platforms. But today we have hundreds of possible combinations of OS x Browser x Extensions, so it's just impossible.
I try to only use browser features that are three years old and "standard". But not even that works.
Phone/Ipad browsers are the biggest offenders of breaking stuff.
A) What search hotkey to use if not '/'
B) Why does your JS load slow? Did you fix that part?
I build web-apps and try to think "JS second". I've noticed that my customers like fast loading, consistent pages. These "magpie" like decisions harm the customer experience.