- From: Benjamin Hawkes-Lewis <bhawkeslewis@googlemail.com>
- Date: Sun, 08 Feb 2009 17:44:06 +0000
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
Received on Sunday, 8 February 2009 09:44:06 UTC