W3C home > Mailing lists > Public > www-validator-css@w3.org > November 2008

Re: Warnings for non-applicable properties

From: Paul Arzul <paul.arzul@gmail.com>
Date: Mon, 10 Nov 2008 08:53:31 +0200
Message-ID: <423830b0811092253l701ab43o8d3513e791149ae6@mail.gmail.com>
To: www-validator-css@w3.org
Cc: whatwg@lists.whatwg.org

(whatwg, please see last bit.)

2008/11/9 Jukka K. Korpela <jkorpela@cs.tut.fi>:
> Benjamin Hawkes-Lewis wrote:
>> Paul Arzul wrote:
>>> CSS defines when properties are applicable (see the Applies column:
>>> <http://www.w3.org/TR/CSS21/propidx.html>)
>>> Should we generate warnings when properties are not applicable? For
>>> example: p
>>> {
>>>    border-collapse : collapse;
>>> }
>>> We could warn about the paragraph not being a table or inline-table
>>> element. (I get no warnings with Warnings set to All.)
>> That would only be reliable if one could assume default CSS for HTML
>> and that p was an HTML element rather than an element in some random
>> XML dialect - but you can't assume either from the raw CSS.

i thought you could with css namespaces: http://www.w3.org/TR/css3-namespace/

please don't loose sight of the most common use case - an html file
with some css. are the css validator's web logs public? what do they
have to say? i'd love to know:

* how much css is validated off non-xhtml xml and how much is (x)html?
* how much traction css namespaces are getting

> Even in that case, the assumptions might fail because the document has
> intentionally been written or styled against your expectations.

i wasn't making assumptions. i was expecting the validator to check
against a running total (computed) value and not a static list which
is but a starting point for default values.

> But you _could_ issue warnings that are solely based on applicability
> statements made within CSS specs. For example, you could check whether the
> display property has the value table and if not, issue a non-applicability
> warning about border-collapse. Of course this means that you would need to
> include some assumed default browser style sheet, so that you know (or think
> you know) the default values for the display property of different elements,
> for example.

we could use the "Default style sheet for HTML 4":

some research against common browsers's user agent stylesheets should
be done to check for any serious discrepancies.

> Besides, you cannot really know the properties of an element by analyzing
> one style sheet only, even if you assume that the document is HTML. Any
> other style sheet (that will be used when rendering the document, along with
> the style sheet being analyzed) might assign display: table, making
> border-collapse applicable.

(i suggested a warning, not an error.) as always the cascade applies,
but it is still useful to know that a single css file is generating
warnings since someone else might decide to include it without
following your imports. we could also recommend validating from the
root/base html or css due to cascade implications.

>> The validator could include additional UI (e.g. checkboxes to indicate
>> that this CSS if for HTML and the valiator should assume the suggested
>> default CSS from CSS 2.1) that would mitigate those problems.
> I have no specific objections, but who is going to define what is and what
> is not applicable to different elements then?

is it unfortunate that the html4 stylesheet is only informative?
perhaps html5 could then consider giving us a normative default user
agent stylesheet - or at least a normative version with only display

- p
Received on Monday, 10 November 2008 06:54:06 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:40:45 UTC