[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