Vote down?

noscript is rendered when JavaScript is not disabled. It doesn’t render when JavaScript is available. So it becomes a problem when JavaScript realises that the browser does not support the necessary objects/methods to actually run the application we’ve built. So its a case of “browser not good enough” – in these cases the noscript is not rendered, so a graceful degradation is not possible if critical markup that’s needed is inside the noscript element.

A common occurrance of this case is a browser with JavaScript enabled, that uses a third party firewall to remove suspicious javascript. The browser doesn’t know JavaScript has been stripped out – so it won’t render the noscript.