- From: olivier Thereaux <ot@w3.org>
- Date: Mon, 24 Jul 2006 14:42:44 +0900
- To: Peter Zhelezniakov <Peter.Zhelezniakov@Sun.COM>
- Cc: QA Dev <public-qa-dev@w3.org>, Bert Bos <bert@w3.org>
Hi Peter, I'm responding to that part of your mail in the mailing-list too, and copying Bert Bos, who you probably know as the W3C's staff contact on all things CSS. On Jul 13, 2006, at 19:28 , Peter Zhelezniakov wrote: > I'm currently looking into Validator bug #2344 and come up with a > question. There is a warning if for a selector a color is defined > but no > background-color. Why is this warning? This has indeed been discussed in several occasions, notably in [1], and I think you can find quite a few threads on the topic in the CSS validator's mailing-list [2]. [1] http://www.w3.org/Bugs/Public/show_bug.cgi?id=2421 [2] http://www.w3.org/Search/Mail/Public/advanced_search? keywords=background+transparent&index-type=t&type-index=www-validator- css&resultsperpage=100&sortby=date > I think this is a common case when background is defined once for the > whole document (e.g. for <body>), and background for other page > elements > is left transparent by default. Is this not recommended? Are we > motivating CSS authors to always define both color and background- > color? I think you've touched the crux of the matter here indeed. As you certainly have guessed, the warning here does not come from the CSS specification itself (or at least, not as far as I know) but is present for accessibility reasons, to avoid cascading situations when the text color becomes the same, or too close to, the background color. But indeed, I'm leaning toward the side of people who find it annoying that the validator would throw warnings when I use background: transparent or no background-color with a color, *because I know what I'm doing*. I suspect that our parser is not smart enough (I actually had a discussion with Yves telling me the other day that one of the things that would be good to re-write is the passing of context), but I would like to see: * warnings when color and background-color within a specific context are too close (in luminance or chrominance) right now the following does raise a warning: p { color: #ffffff; background-color: #ffffff; } but not the following p { color: #ffffff; background-color: #fffffe; } * much smarter cascading engine. See for instance the rather "simple" following case: p { color: #ffffff; background-color: #000000; } p.thatsok { color: #ae12FF } p.thatsnot { color: #000000 } The warnings issued are * Line : 2 (Level : 1) You have no background-color with your color : p.thatsok -> there should perhaps NOT be a warning * Line : 3 (Level : 1) You have no background-color with your color : p.thatsnot -> this is not necessary since we have the warning below * Line : 3 (Level : 1) Same colors for color and background- color in two contexts p and p.thatsnot -> THIS is good So far our parser is fairly clever. That's good. Now let's see the following: http://www.w3.org/People/olivier/stuff/test-cascading.html it's the same problem, except that the stylesheet only defines colors for p, then for .thatsok and .thatsnot. A rather smart parser would recognize that <p class="thatsnot"> is problematic. I don't exactly know how feasible that would be, but that's the kind of behavior that would be much more useful than the current systematic warning on background: transparent. Thoughts? olivier -- olivier Thereaux - W3C - http://www.w3.org/People/olivier/ W3C Open Source Software: http://www.w3.org/Status
Received on Monday, 24 July 2006 05:42:22 UTC