2026-05-19
Link: https://hacktivis.me/articles/no-noscript-element
HN Discussion: 1 points, 0 comments
Every web developer has reached for <noscript> at some point, usually with the best intentions: "show this message to users who have JavaScript disabled." It feels like the obvious accessibility move, the polite fallback. This article argues that the element is actually a trap — one that does the opposite of what most developers think it does.
The core problem is a category error in how <noscript> is defined. The element doesn't ask "can this user run JavaScript?" It asks "is JavaScript currently enabled in the browser?" Those sound identical but they aren't. Consider the failure modes:
<noscript> fallback never renders. The user sees a broken page with no explanation.<noscript> sits silently in the DOM, suppressed.The piece likely walks through what to do instead. The standard recommendation is progressive enhancement done correctly: render the working HTML first, then let JavaScript enhance it. If your page needs JS to function at all, a <noscript> tag isn't going to save the experience for the small slice of users without it — and it actively hides failures from the much larger slice whose JS broke for some other reason.
There's also a subtler point worth flagging: <noscript> creates a false sense of robustness. Developers who add it feel they've handled the edge case and stop thinking about graceful degradation. That's worse than having no fallback, because no fallback at least forces honest design choices.
This is the kind of article that takes a piece of HTML folklore everyone has internalized and shows it was wrong the whole time. Short, sharp, and changes how you write markup — exactly the genre that does well on HN once it gets noticed.
