This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 12401 - "The noscript element must not be used in XML documents." "[...] it has no effect in the XHTML syntax." Why is this? Is this to intentionally confuse or restrict web developers into using a particular habit? There is no fathomable functionally practical r
Summary: "The noscript element must not be used in XML documents." "[...] it has no ef...
Status: RESOLVED WONTFIX
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML5 spec (show other bugs)
Version: unspecified
Hardware: Other other
: P3 normal
Target Milestone: ---
Assignee: Ian 'Hixie' Hickson
QA Contact: HTML WG Bugzilla archive list
URL: http://www.whatwg.org/specs/web-apps/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-30 14:51 UTC by contributor
Modified: 2011-08-04 05:36 UTC (History)
6 users (show)

See Also:


Attachments

Description contributor 2011-03-30 14:51:58 UTC
Specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html
Section: http://www.whatwg.org/specs/web-apps/current-work/#the-noscript-element

Comment:
"The noscript element must not be used in XML documents." "[...] it has no
effect in the XHTML syntax." Why is this? Is this to intentionally confuse or
restrict web developers into using a particular habit? There is no fathomable
functionally practical reasoning behind this decisison. There isn't even an
issue of syntactical stability here. This is, frankly, a very stupid decision.

Posted from: 199.36.15.4
User agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16
Comment 1 Boris Zbarsky 2011-03-30 14:58:21 UTC
It doesn't affect the syntax because XML parsers have no provision for randomly ignoring tags completely inside some element, which is what <noscript> does in HTML syntax.

So it's not a "decision" so much as a description of a fundamental limitation of XML parsing.
Comment 2 Aryeh Gregor 2011-04-01 15:51:59 UTC
You could still say that UAs with scripting enabled should set noscript { display: none } or equivalent.  Then it would be like <video> fallback, basically.  The resulting DOM would be different from text/html, and in some cases it would cause issues, but there's no reason it can't work for common things like

<noscript><p>This is a JavaScript game, so it will not work in browsers without scripting support.</noscript>
Comment 3 Ian 'Hixie' Hickson 2011-06-10 22:28:15 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: People do things like this:

   <noscript> ... <input name=x> ... </noscript>

...and display:none isn't going to stop that from being submitted. Or, similarly:

   <noscript> <meta name=refresh content='...'> </noscript>

There are plenty of better ways of doing this (like having script delete the contents you don't want when scripts are enabled).
Comment 4 Michael[tm] Smith 2011-08-04 05:36:29 UTC
mass-move component to LC1