- From: Ian Hickson <ian@hixie.ch>
- Date: Tue, 29 Jun 2010 08:48:56 +0000 (UTC)
- To: "L. David Baron" <dbaron@dbaron.org>
- Cc: public-html@w3.org
On Mon, 28 Jun 2010, L. David Baron wrote: > > Was it intended that the specification not have this type of > requirement? Yes. > I was looking through the specification this evening trying to form an > argument about whether certain behavior was conformant, and I found > myself having trouble finding some user-agent conformance requirements > that I expected to find in the specification. If there are concrete examples of things that are apparently conforming that shouldn't be, please let me know. > In particular, I was looking for requirements that said that certain > information must be irrelevant past a certain point in the process. > > An example of such a conformance requirement is in HTML 4.01: > # A user agent must ensure that rendering is unchanged by the > # presence or absence of start tags and end tags when the HTML DTD > # indicates that these are optional. > -- http://www.w3.org/TR/1999/REC-html401-19991224/conform.html#conformance This requirement is over-restrictive and is in fact ignored by several user agents, including Firefox -- for example, the "view source" feature of Firefox clearly parses HTML, and is therefore a user agent subject to parsing rules for conformance, but it _does_ change its rendering based on the presence or absence of start and end tags -- and it doing so is indeed an integral part of the feature; not doing so would be a serious UI bug (and one that Firefox has in the past had, in fact). > For example, while the parsing algorithm describes how to construct a > DOM tree, I couldn't find conformance requirements restricting > differences in other behavior to differences that are present in the DOM > tree. There are a number of behaviours that are dependent on differences that are not in the DOM tree, for example differences in user preferences, in output of the parser that can't be represented in the DOM (such as the quirks mode flag or the form control associations), the purpose of the user agent, various hardware limitations, etc. Generally speaking, making blanket statements of non-conformance based on behaviour relating to an infinite set (everything except foo) is extremely difficult to do without writing statements that end up either ignored in certain cases, or end up essentially being trivial requirements. I try to just describe the constrained behaviours completely, to avoid the problem. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Tuesday, 29 June 2010 08:49:23 UTC