- From: Lachlan Hunt <lachlan.hunt@lachy.id.au>
- Date: Wed, 20 Jan 2010 11:35:10 +0100
- To: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
- Cc: "public-html@w3.org" <public-html@w3.org>
Leif Halvard Silli wrote: > Tab Atkins Jr., Sun, 17 Jan 2010 10:25:08 -0800: >> The "applicable specification" clause ensures that the extension is >> accepted by a large enough group of people to make the validator >> authors recognize it, which is a reasonable minimum quality bar. > > We don't really know how the "applicable spec" mechanism will work. But > I don't think we'll simply hand it over to the validator team to tell > what it is. As far as HTML5 is concerned, a specification is an applicable specification when its requirements are recognised as applicable by the person checking the conformance of a document. "When someone applying this specification to their activities decides that they will recognise the requirements of such an extension specification, it becomes an applicable specification for the purposes of conformance requirements in this specification." I understand that the implications of this can be difficult to grasp since it's so different from the previous approaches, such as using DTDs and/or versioning, but this has been done for good reasons that I will try to explain. The first thing to understand is that such a specification could be written and published anywhere at all. There is no requirement that an extension specification be published and formally endorsed by the W3C, nor, technically, any other standards body. Standards bodies do, however, still have a useful role to fulfil, but I'll get to that later. The point is that neither where a spec is published nor who officially endorses it is inherently relevant to the question of whether or not a document can conform with its requirements. All that is relevant is whether or not the person, or software, checking the document's conformance chooses to recognise and adhere to the requirements of such a specification. For example, if you choose to recognise the content of specification X, whatever that may be, and meet its requirements, then you can claim that your document conforms to HTML5 plus specification X. This does not, however, inherently mean that everyone needs to recognise specification X. If you publish that document and someone else looks at it who chooses not to recognise (or doesn't know about) specification X, they may also claim that the document is non-conforming HTML5. Both claims would be right. This can occur because HTML5 doesn't define any way for documents to declare what they conform to, which is by design. Previous editions of HTML allowed authors to explicitly associate their documents with custom DTDs which provided limited means by which a document could declare and be machine-checked against some additional conformance requirements, but this approach has been, and should remain, abandoned. Henri Sivonen has previously explained why this is so [1]: "DTDs pollute the document with schema-specific syntax. Since the document itself declares the rules, the question answered by DTD validation is not the question that should be asked. DTD validation answers the question “Does this document conform to the rules it declares itself?” The interesting question is “Does this document conform to these rules?” when the person who asks the question chooses the rules the question is about." Note that it's still possible to use custom schemas to validate your documents if you like. Validator.nu even provides UI for it [2]. But there is no reason for such schemas to be explicitly linked with your document by, e.g. using a custom DOCTYPE or other schema specific syntax. So, for example, you may choose to recognise the extensions being specified by the HTML+RDFa spec as conforming for your documents. You may also produce a custom schema that can be used with the validator to assist with conformance checks. I, on the other hand, choose to regard that specification as irrelevant and will regard those extensions as non-conforming in my documents. With it now possible to make a conformance claim for a document with regards to any specification, I want to make it clear that I'm not suggesting that authors can get away with pretty much anything just by writing their own spec and claiming it's applicable. This would completely ignore the goal of interoperability and the benefits of widespread review and support. It's important to separate the idea of a conformance claim from the idea of what is considered widely supported and interoperable. HTML5's concept of an applicable specification is not concerned with the latter. But in practice, authors and implementers should be. This is where standards bodies and industry groups become relevant, although they are not essential in all cases. They provide the platform for widespread review and industry support that is usually needed to achieve interoperability, which can lead to widespread recognition. This allows people to reach agreements about what they will consider conforming and what they won't, rather than having everyone claiming conformance to and publishing documents using whatever extensions they like, which would be a complete mess. Although this model tends to naturally centralise itself, it is effectively a model controlled by the market, as opposed to ivory tower spec writers. This is a good thing and the result of this is that simply having a spec published by a standards organisation does not inherently mean widespread recognition and support; rather, such support must be built from the bottom up, ideally during the spec's development. This is why the ideas about distributed extensibility (ISSUE-41) are bad. Such extensibility actively encourages extensions without attaining widespread support or interoperability. The idea of using the profile attribute as a way to declare extensions, and other ideas to provide versioning (ISSUE-4 DOCTYPE versioning), not only fails for this reason, but also miss the point of not allowing documents to make self-conformance claims. This is why I believe both ISSUE-4 and ISSUE-41 should both be closed with no spec changes. [1] http://about.validator.nu/#faq [2] http://about.validator.nu/#details -- Lachlan Hunt - Opera Software http://lachy.id.au/ http://www.opera.com/
Received on Wednesday, 20 January 2010 10:35:45 UTC