Re: Possible bug in CSS Validator

Douglas Perreault CPA* CITP wrote:

> You note below that the URL in the first instance is
> "images/Richland_College.jpg;",
>
> However, it is my understanding that the semicolon is a reserved
> character.

Even if it were, a CSS checker, or "validator", shouldn't really be expected 
to check URL syntax. URL specifications are external to CSS specifications 
and might change any day, from the CSS perspective.

> Therefore, for this to have been a valid URL it would have
> to have had the semicolon encoded. See
> http://www.faqs.org/rfcs/rfc1738.html, Section 2.2. It notes:
>
> ------
> Thus, only alphanumerics, the special characters "$-_.+!*'(),", and
> reserved characters used for their reserved purposes may be used
> unencoded within a URL.

First, what makes you think ";" would not appear in reserved purpose here?

Second, RFC 1738, in matters of generic URL syntax, was obsoleted in 1998 by 
RFC 2396, which in turn was obsoleted by RFC 3986 (STD 66) in 2005.

> If that is the case, then the first scenario is not correct. The URL
> cannot end in a semicolon, so it would be an error in semantics that
> the validator should pick up (at a minimum, as a warning).

Wrong. If it were an error, it would be a syntactic error, not semantic.

> This is
> something that I could see someone spending hours trying to correct
> why the image doesn't show without realizing the problem where a
> simple warning from the validator would save hours of frustration.

It's not a validator's job to check your URLs. You could it know that you 
meant "Foo" when you typed "foo"?

> I can't imagine anyone naming a file with a semicolon as the last
> character in the filename,

I have not problems in imagining that. Besides, URLs are not filenames.

>  so it seems fairly obvious that this was
> intended to go outside of the parentheses as a terminator, not inside
> as a part of the URL.

It might be obvious to a human reader, especially one that does not know the 
details of URL syntax (who really does?), but such guesswork often produces 
wrong guesses.

-- 
Yucca, http://www.cs.tut.fi/~jkorpela/ 

Received on Friday, 19 February 2010 18:40:51 UTC