[whatwg] [html5] Rendering of interactive content

Benjamin Hawkes-Lewis bhawkeslewis at googlemail.com
Sun Feb 8 09:44:06 PST 2009

On 8/2/09 13:18, Giovanni Campagna wrote:
> 2009/2/8 Benjamin Hawkes-Lewis <bhawkeslewis at googlemail.com
> <mailto:bhawkeslewis at googlemail.com>>
>     On 7/2/09 20:07, Giovanni Campagna wrote:
>         Yes, but what properties should I query for?
>     In order to find out what, precisely?
> What to reset, for example (see the first Ian email on this topic)

I don't follow. What to reset when in order to achieve what?

>     Their values depend on user agent defaults (which may be anything),
>     user preferences (which may be anything), user stylesheets (which
>     may be anything), and publisher styles (which may be anything), as
>     per the CSS cascade:
> I am the author, so at least those values are known.

Well, that's more-or-less true although in practice you don't know what 
CSS properties and values the UA implements, so you don't know which it 
actually would apply even without a user stylesheet.

> So the only properties I may find useful to know the values
> are UA default, that should be consistent across different platform and
> browser.

I disagree that they "should" be consistent, though obviously there are 
market pressures towards making them so and it's helpful to have a 
specification for mimicking common presentation.

>     http://www.w3.org/TR/CSS21/cascade.html#cascade
>     In other words, the values cannot be known for sure until you query
>     them.
>     Even if you mandated precise user agent defaults, the values still
>     could not be known for sure until you queried them, because of user
>     preferences, user stylesheets, and publisher styles.
> If you mandate strict UA default, and the publisher (I repeat, I am the
> author, I know what I write) overrides them, he may be sure that: either
> it will look as no default style applied at all, or any additional
> property that applies has been set by the user (so it is not my problem,
> he wanted all the <a>s to be purple on yellow background, even if it
> looks horrible to me)

That's true (except for the practical support problem mentioned above), 
but that's different to knowing the applied value.

>     There's a recursion problem there.
>     User agents may derive the effects of "appearance" from user-agent
>     default stylesheets:
>     http://www.w3.org/TR/css3-ui/#appearance
> UA must derive the appearance effects from the user agent skin, widgets
> theme or native platform widgets (ie the common controls on win or the
> Gtk / Qt themes in Linux). Those settings are not part of the UA default
> style sheet, are not necessarily expressed in CSS, and do not take part
> in the cascade.

The draft specification for "appearance" says:

"This specification does not define the term 'platform'.

"For example, it could be the native graphical rendering engine of the 
operating system, or it could be a user-agent-specific skin."

As far as I can see, there's nothing in the spec to prevent the 
"user-agent-specific skin" being expressed as a user-agent default 
stylesheet, or to prevent a user-agent developer interpreting "platform" 
as equivalent to the user-agent default stylesheet.

If there is something, please cite it.

>         HTML5 should not mandate the UA present <a>s in blue, but it should
>         mandate the UA present <a>s like links (appearance:hyperlink).
>     How would you test whether a UA complied with that requirement or
>     not? Purely by testing the value of the appearance property applied
>     to the element with a default configuration?
> 1) you test the conformance to HTML5 by testing the value of appearance
> and the semantics of the element (it must be an hyper-link, if you want
> normative rendering or not)
> 2) you test the conformance to CSS3 UI by testing the look and feel of
> the elements, and comparing it to the standard look and feel for that
> platform, skin, them, etc.

I think the lack of definition of "platform" probably makes (2) 
untestable, and that undermines the value of (1).

Benjamin Hawkes-Lewis

More information about the whatwg mailing list