- From: Christophe Strobbe <christophe.strobbe@esat.kuleuven.be>
- Date: Wed, 09 Nov 2005 16:15:50 +0100
- To: w3c-wai-gl@w3.org
Hi, I tried to create an (incomplete) overview of W3C specifications to see which ones already require valid code. Some W3C specifications are about interaction between machines rather than with users, so not all specifications are relevant to our discussion about validity. The large majority of specifications listed below already require valid code. Curiously, I could not find an explicit statement in the HTML 4.01 specification that requires valid code (please correct me if I overlooked something), and this is the only exception in the HTML/XHTML family. I would conclude from this that developers (not just web developers but also developers of authoring tools) who generate invalid code are doing a bad job because they ignore an important requirement of the technologies they are using. The overview below contains three sections 1. W3C specs requiring valid code 2. W3C specifications that require other types of conformance 3. W3C specifications that don't explicitly require valid code W3C specifications requiring valid code - HTML 2 (IETF RFC November 1995): http://ftp.ics.uci.edu/pub/ietf/html/rfc1866.txt Section 1.2.1 states: <blockquote> A document is a conforming HTML document if: * It is a conforming SGML document, and it conforms to the HTML DTD (see 9.1, "HTML DTD"). [+ two other criteria] </blockquote> - HTML 3.2 (Recommendation 3.2): http://www.w3.org/TR/REC-html32#sgml : "As an SGML application, the syntax of conforming HTML 3.2 documents is defined by the combination of the SGML declaration and the document type definition (DTD)." - XHTML 1.0 (Recommendation January 2000, revised August 2002): http://www.w3.org/TR/xhtml1/#normative - XHTML Basic (Recommendation December 2000): http://www.w3.org/TR/xhtml-basic/#s2.1 - XHTML 1.1 (Recommendation May 2001): http://www.w3.org/TR/xhtml11/conformance.html#s_conform - XHTML 2 (May 2005 Working Draft): http://www.w3.org/TR/2005/WD-xhtml2-20050527/conformance.html#doccont - XHTML-Print (20 January 2004 Candidate Recommendation): http://www.w3.org/TR/2004/CR-xhtml-print-20040120/#s2.1 - An XHTML + MathML + SVG Profile (August 2002 Working Draft): http://www.w3.org/TR/XHTMLplusMathMLplusSVG/ - SVG 1.0 (Recommendation September 2001): http://www.w3.org/TR/2001/REC-SVG-20010904/conform.html#ConformingSVGStandAloneFiles - SVG 1.1 (Recommendation January 2003): http://www.w3.org/TR/SVG11/conform.html#ConformingSVGStandAloneFiles - Mobile SVG Profiles: SVG Tiny and SVG Basic (Recommendation January 2003): http://www.w3.org/TR/SVGMobile/#sec-conformance (in spite of typos: "supported D" and "supported E" should probably be replaced with "appendix D" and "appendix E", respectively, which contain the DTDs). - SVG Tiny 1.2 (April 2005 Working Draft): http://www.w3.org/TR/SVGMobile/#sec-conformance (- SVG Full 1.2 (April 2005 Working Draft): this will be a superset of SVG 1.2 Tiny, but it does not yet have a conformance section (or any other sections).) - XForms 1.0 (Recommendation October 2003: http://www.w3.org/TR/xforms/slice12.html#conform-desc-documents states (among other things) that "Individual XForms fragments must be schema-valid against the Schema for XForms". - XForms 1.0 (Proposed Edited Recommendation, October 2005): http://www.w3.org/TR/2005/PER-xforms-20051006/slice12.html#conform-desc-documents states (among other things) that "Individual XForms fragments must be schema-valid against the Schema for XForms". - XForms 1.0 Basic Profile (October 2003 Candidate Recommendation): http://www.w3.org/TR/2003/CR-xforms-basic-20031014/#id2606183 (strictly speaking only defines conformance for processors, which must meet the requirements for XForms 1.0). - SMIL 2.0 2nd edition (Recommendation January 2005): http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil20-profile.html#SMILProfileNS-ConformingDocuments . The DTDs are normative; the XSD schemas are informative. (The rules for SMIL host language and integration language conformance are different from SMIL Language Conformance: see http://www.w3.org/TR/SMIL/smil-modules.html#smilModulesNSSMILConformance .) - SMIL 2.1 (September 2005 Proposed Recommendation): http://www.w3.org/TR/2005/PR-SMIL2-20050927/smil21-profile.html#SMILProfileNS-LanguageConformance . (The rules for SMIL host language and integration language conformance are different from SMIL Language Conformance: see http://www.w3.org/TR/2005/PR-SMIL2-20050927/smil-modules.html#smilModulesNSSMILConformance .) - MathML 2.0 (Recommendation October 2003): http://www.w3.org/TR/2003/REC-MathML2-20031021/chapter7.html#id.7.2.1 states that "A valid MathML expression is an XML construct determined by the MathML DTD together with the additional requirements given in this specification." - VoiceXML 2.0 (Recommendation March 2004): http://www.w3.org/TR/2004/REC-voicexml20-20040316/#dmlAConformance - Speech Synthesis Markup Language 1.0 (Recommendation September 2004): http://www.w3.org/TR/speech-synthesis/#S2.2 - Speech Recognition Grammar Specification 1.0 (Recommendation March 2004): http://www.w3.org/TR/2004/REC-speech-grammar-20040316/#S5 - VoiceXML 2.1 (June 2005 Candidate Recommendation): http://www.w3.org/TR/2005/CR-voicexml21-20050613/#sec-conform W3C specifications that require other types of conformance - CSS Level 1 (Recommendation December 1996, revised January 1999) has a normative grammar (http://www.w3.org/TR/CSS1#appendix-b). - CSS Level 2 (Recommendation May 1998): http://www.w3.org/TR/CSS2/conform.html#conformance (especially the third point). - CSS Level 2 revision 1 (CSS 2.1) (June 2005 Working Draft; previous version was Proposed Recommendation): http://www.w3.org/TR/CSS21/conform.html#conformance (especially the third point). - CSS 3 consists of many modules, each of which has a "Conformance: Requirements and Recommendations" section; I have not checked these. (The place to start is http://www.w3.org/Style/CSS/current-work.) Some specifications define technologies that are used inside other technologies instead of on their own. These technologies are XML-based and usually depend on namespaces. The absence of an explicit requirement for valid code cannot be construed as a permission for invalid code. Examples include XLink, XML Events, and SVG's XML Binding Language (sXBL). - PNG 2nd edition (Recommendation November 2003; ISO/IEC 15948:2003) is a binary format; the specification defines conformance for datastreams, encoders, decoders and editors: http://www.w3.org/TR/PNG/#15ConformanceConf . W3C specifications that don't explicitly require valid code - HTML 4.01 (Recommendation December 1999): an HTML document is defined as "An HTML document is an SGML document that meets the constraints of this specification," (http://www.w3.org/TR/html4/conform.html#h-4.1) but I can't find which sections of the specification (especially the DTDs) are normative or informative. Conformance is only defined for user agents: http://www.w3.org/TR/html4/conform.html#conformance. User agents are allowed to render invalid documents, and there are notes on this specific issue: http://www.w3.org/TR/html4/appendix/notes.html#notes-invalid-docs. - XFrames (October 2005 Working Draft); but it has normative schemas in DTD, XSD and Relax NG: http://www.w3.org/TR/2005/WD-xframes-20051012/#a_module_definition. - SVG Print (July 2003 Working Draft) has no conformance section and the statements about its relation with other SVG specifications is not strong enough to count as a validity requirement. - SMIL 1.0 (Recommendation June 1998): http://www.w3.org/TR/REC-smil/#smil-dtd : has no conformance section, but the DTD is normative (only non-normative sections of the specification are explicitly marked, so I assume that the rest is normative). - MathML 1.0 (Recommendation 1997, revised 1999) has no conformance section. The section about parsing MathML (http://www.w3.org/TR/REC-MathML/appendixA.html) states that "MathML documents should be validated using the XML DTD below", so this is not an absolute requirement. - WebCGM 1.0 2nd release (Recommendation December 2001): http://www.w3.org/TR/REC-WebCGM/REC-01-CGM-Intro.html#webcgm_1_5 mentions validation in the context of conformance, but it is not obvious from that docment what validation means. Regards, Christophe Strobbe -- Christophe Strobbe K.U.Leuven - Departement of Electrical Engineering - Research Group on Document Architectures Kasteelpark Arenberg 10 - 3001 Leuven-Heverlee - BELGIUM tel: +32 16 32 85 51 http://www.docarch.be/ Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
Received on Wednesday, 9 November 2005 15:17:18 UTC