W3C home > Mailing lists > Public > www-validator@w3.org > May 2002

Re: Possible bug in validator: noscript

From: Jim Ley <jim@jibbering.com>
Date: Fri, 10 May 2002 10:49:39 -0000
Message-ID: <011b01c1f810$6259c4e0$ca969dc3@emedia.co.uk>
To: "Will Woodhull" <willw@wizzards.net>, <www-validator@w3.org>
"Will Woodhull" <willw@wizzards.net>
> I've joined because I believe there may be a bug in the W3C HTML
validator:
> when I use a <noscript>...</noscript> construction in the head of a
> document, I get a cascade of errors on all meta tags and link tags that
> follow it-- these are all reported as not being in the right place.

That is because they are not.

The HEAD element cannot contain noscript, it must go in the BODY, because
of that the validator has assumed your HEAD element has finished when it
sees the noscript, therefore, all the META, and LINK elements which are
illegal in the BODY cause errors.

> I've put up a short web page that demonstrates this, and also shows the
> utility of <noscript> and why I would like to see the problem addressed
> asap:
>
>       http://bbd.thornhenge.net/test401trans.html

You say on this page:

"Yes, this is urgent. I found the technique shown in this header to be
effective at directing browsers that cannot handle DHTML to an alternate
page, and I want to publicize this technique. Ideally I would like the
validator fixed before I publish. "

I would urge you not to publicise the technique, it's a very poor one
indeed.  meta-refresh is not supported by many user agents (and IE,
Opera, Mozilla etc. all allow users to disable it, those that do are also
likely to be those that disable script.) Also there have been many
reports of browsers executing both script and noscript portions of pages
which will incorrectly redirect people (see groups.google.com - this is
an older browser issue.)

Your "// this excludes NN4 and all browsers less than v3 "  is also
wrong, it doesn't and window.location.href is known to fail
(location='...' is safer, but obviously is no guarantee that the
navigation is followed.)

My assumption in your check, is that you'll have no further checks in the
page - there are a very large number of javascript browsers which get
past that construction but can't do any DHTML including early Opera's and
Ant Fresco's which do so purely to fool that detection.

It's best to make every page work with or without javascript, Object
detection
http://developer.apple.com/internet/javascript/objectdetection.html
combined with well structured HTML is the way to do this.

Jim.
Received on Friday, 10 May 2002 06:50:18 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 25 April 2012 12:14:03 GMT