[html5] r3378 - [ac] (0) Change the transition approach from 'downplayed error' to 'conforming w [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Jul 8 01:21:42 PDT 2009


Author: ianh
Date: 2009-07-08 01:21:40 -0700 (Wed, 08 Jul 2009)
New Revision: 3378

Modified:
   index
   source
Log:
[ac] (0) Change the transition approach from 'downplayed error' to 'conforming with warning'.

Modified: index
===================================================================
--- index	2009-07-08 07:00:50 UTC (rev 3377)
+++ index	2009-07-08 08:21:40 UTC (rev 3378)
@@ -1015,13 +1015,16 @@
      <li><a href=#selectors><span class=secno>11.8.1 </span>Selectors</a></ol></ol></li>
  <li><a href=#obsolete-features><span class=secno>12 </span>Obsolete features</a>
   <ol>
-   <li><a href=#self-contained-features><span class=secno>12.1 </span>Self-contained features</a>
+   <li><a href=#conforming-but-obsolete-features><span class=secno>12.1 </span>Conforming but obsolete features</a>
     <ol>
-     <li><a href=#the-applet-element><span class=secno>12.1.1 </span>The <code>applet</code> element</a></li>
-     <li><a href=#the-marquee-element-0><span class=secno>12.1.2 </span>The <code>marquee</code> element</a></li>
-     <li><a href=#frames><span class=secno>12.1.3 </span>Frames</a></ol></li>
-   <li><a href=#other-elements,-attributes-and-apis><span class=secno>12.2 </span>Other elements, attributes and APIs</a></li>
-   <li><a href=#conformance-checkers-0><span class=secno>12.3 </span>Conformance checkers</a></ol></li>
+     <li><a href=#warnings-for-obsolete-but-conforming-features><span class=secno>12.1.1 </span>Warnings for obsolete but conforming features</a></ol></li>
+   <li><a href=#non-conforming-features><span class=secno>12.2 </span>Non-conforming features</a></li>
+   <li><a href=#requirements-for-implementations><span class=secno>12.3 </span>Requirements for implementations</a>
+    <ol>
+     <li><a href=#the-applet-element><span class=secno>12.3.1 </span>The <code>applet</code> element</a></li>
+     <li><a href=#the-marquee-element-0><span class=secno>12.3.2 </span>The <code>marquee</code> element</a></li>
+     <li><a href=#frames><span class=secno>12.3.3 </span>Frames</a></li>
+     <li><a href=#other-elements,-attributes-and-apis><span class=secno>12.3.4 </span>Other elements, attributes and APIs</a></ol></ol></li>
  <li><a href=#no><span class=secno>13 </span>Things that you can't do with this specification because
   they are better handled using other technologies that are further
   described herein</a>
@@ -11066,10 +11069,10 @@
     <ul class=brief><li>the <code><a href=#script>script</a></code> element has a <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute and its value is
      the empty string, or</li>
 
-     <li>the <code><a href=#script>script</a></code> element has no <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute but it has a <code title=attr-script-language>language</code> attribute and
+     <li>the <code><a href=#script>script</a></code> element has no <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute but it has a <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute and
      <em>that</em> attribute's value is the empty string, or</li>
 
-     <li>the <code><a href=#script>script</a></code> element has neither a <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute nor a <code title=attr-script-language>language</code> attribute, then</li>
+     <li>the <code><a href=#script>script</a></code> element has neither a <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute nor a <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute, then</li>
 
     </ul><p>...let <var><a href="#the-script-block's-type">the script block's type</a></var> for this
     <code><a href=#script>script</a></code> element be "<code title="">text/javascript</code>".</p>
@@ -11078,13 +11081,13 @@
     script block's type</a></var> for this <code><a href=#script>script</a></code> element be
     the value of that attribute.</p>
 
-    <p>Otherwise, the element has a non-empty <code title=attr-script-language>language</code> attribute; let
+    <p>Otherwise, the element has a non-empty <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute; let
     <var><a href="#the-script-block's-type">the script block's type</a></var> for this <code><a href=#script>script</a></code>
-    element be the concatenation of the string "<code title="">text/</code>" followed by the value of the <code title=attr-script-language>language</code> attribute.</p> <!--
+    element be the concatenation of the string "<code title="">text/</code>" followed by the value of the <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute.</p> <!--
     user agents already support, e.g., type="text/javascript1.3", so
     we don't have to support that separately. -->
 
-    <p class=note>The <code title=attr-script-language>language</code> attribute is never
+    <p class=note>The <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute is never
     conforming, and is always ignored if there is a <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute present.</p>
 
    </li>
@@ -61218,18 +61221,49 @@
    <dt>A DOCTYPE token</dt>
    <dd>
 
-    <p>If the DOCTYPE token's <code title="">name</code> is not a
-    <a href=#case-sensitive>case-sensitive</a> match for the string "<code title="">html</code>", or if the token's public identifier is not
-    missing, or if the token's system identifier is neither missing
-    nor a <a href=#case-sensitive>case-sensitive</a> match for the string
-    "<code>about:legacy-compat</code>", then there is a <a href=#parse-error>parse
-    error</a> (this is the <dfn id=doctype-parse-error>DOCTYPE parse
-    error</dfn>). Conformance checkers may, instead of reporting this
-    error, switch to a conformance checking mode for another language
-    (e.g. based on the DOCTYPE token a conformance checker could
-    recognize that the document is an HTML4-era document, and defer to
-    an HTML4 conformance checker.)</p>
+    <p>If the DOCTYPE token's name is not a
+    <a href=#case-sensitive>case-sensitive</a> match for the string "<code title="">html</code>", or the token's public identifier is not
+    missing, or the token's system identifier is neither missing nor a
+    <a href=#case-sensitive>case-sensitive</a> match for the string
+    "<code>about:legacy-compat</code>", and none of the sets of
+    conditions in the following list are matched, then there is a
+    <a href=#parse-error>parse error</a>. If one of the sets of conditions in the
+    following list is matched, then there is an <dfn id=obsolete-permitted-doctype>obsolete
+    permitted DOCTYPE</dfn>.</p>
 
+    <ul><!-- only things that trigger no-quirks mode and were valid in
+     some other spec are allowed in this list --><li>The DOCTYPE token's name is an <a href=#ascii-case-insensitive>ASCII
+     case-insensitive</a> match for the string "<code title="">HTML</code>", the token's public identifier is the
+     <a href=#case-sensitive>case-sensitive</a> string "<code title="">-//W3C//DTD HTML 4.0//EN</code>", and the
+     token's system identifier is either missing or the
+     <a href=#case-sensitive>case-sensitive</a> string "<code title="">http://www.w3.org/TR/REC-html40/strict.dtd</code>".</li>
+
+     <li>The DOCTYPE token's name is an <a href=#ascii-case-insensitive>ASCII
+     case-insensitive</a> match for the string "<code title="">HTML</code>", the token's public identifier is the
+     <a href=#case-sensitive>case-sensitive</a> string "<code title="">-//W3C//DTD HTML 4.01//EN</code>", and the
+     token's system identifier is either missing or the
+     <a href=#case-sensitive>case-sensitive</a> string "<code title="">http://www.w3.org/TR/html4/strict.dtd</code>".</li>
+
+     <li>The DOCTYPE token's name is an <a href=#ascii-case-insensitive>ASCII
+     case-insensitive</a> match for the string "<code title="">HTML</code>", the token's public identifier is the
+     <a href=#case-sensitive>case-sensitive</a> string "<code title="">-//W3C//DTD XHTML 1.0 Strict//EN</code>",
+     and the token's system identifier is the
+     <a href=#case-sensitive>case-sensitive</a> string "<code title="">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</code>".</li>
+
+     <li>The DOCTYPE token's name is an <a href=#ascii-case-insensitive>ASCII
+     case-insensitive</a> match for the string "<code title="">HTML</code>", the token's public identifier is the
+     <a href=#case-sensitive>case-sensitive</a> string "<code title="">-//W3C//DTD XHTML 1.1//EN</code>", and the
+     token's system identifier is the <a href=#case-sensitive>case-sensitive</a>
+     string "<code title="">http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd</code>".</li>
+
+    </ul><p>Conformance checkers may, based on the values (including
+    presence or lack thereof) of the DOCTYPE token's name, public
+    identifier, or system identifier, switch to a conformance checking
+    mode for another language (e.g. based on the DOCTYPE token a
+    conformance checker could recognize that the document is an
+    HTML4-era document, and defer to an HTML4 conformance
+    checker.)</p>
+
     <p>Append a <code>DocumentType</code> node to the
     <code>Document</code> node, with the <code title="">name</code>
     attribute set to the name given in the DOCTYPE token, or the empty
@@ -69805,13 +69839,91 @@
 
   <h2 id=obsolete-features><span class=secno>12 </span>Obsolete features</h2>
 
-  <p>Authors and documents must not use the features listed in this
-  section. <span class=impl>They are documented to enable user
-  agents to support legacy content in an interoperable
-  fashion.</span></p>
+  <h3 id=conforming-but-obsolete-features><span class=secno>12.1 </span>Conforming but obsolete features</h3>
 
-  <p>The following elements are entirely obsolete:</p>
+  <p>Features listed in this section will trigger warnings in
+  conformance checkers.</p>
 
+  <p>Authors should not specify an <code title=attr-meta-http-equiv><a href=#attr-meta-http-equiv>http-equiv</a></code> attribute in the
+  <a href=#attr-meta-http-equiv-content-language title=attr-meta-http-equiv-content-language>Content
+  Language</a> state on a <code><a href=#meta>meta</a></code> element. The <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute should be used instead.</p>
+
+  <p>Authors should not specify a <code title=attr-img-border><a href=#attr-img-border>border</a></code> attribute on an
+  <code><a href=#the-img-element>img</a></code> element if its value is the string "<code title="">0</code>". CSS should be used instead.</p>
+
+  <p>Authors should not specify a <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute on a
+  <code><a href=#script>script</a></code> element. If the attribute is present, its value
+  must be an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string
+  "<code title="">JavaScript</code>" and either the <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute must be omitted or
+  its value must be an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for
+  the string "<code title="">text/javascript</code>". The attribute
+  should be entirely omitted instead (with the value "<code title="">JavaScript</code>", it has no effect), or replaced with use
+  of the <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute.</p>
+
+  <p>Authors should not specify the <code title=attr-a-name><a href=#attr-a-name>name</a></code> attribute on <code><a href=#the-a-element>a</a></code>
+  elements. If the attribute is present, its value must not be the
+  empty string. The <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute should
+  be used instead.</p>
+
+  <p>Authors should not specify the <code title=attr-a-name><a href=#attr-a-name>name</a></code> attribute on <code><a href=#the-a-element>a</a></code>
+  elements. If the attribute is present, its value must not be the
+  empty string. The <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute should
+  be used instead.</p>
+
+  <p>Authors should not specify the <dfn id=attr-table-summary title=attr-table-summary><code>summary</code></dfn> attribute on
+  <code><a href=#the-table-element>table</a></code> elements. <!-- 2.65% pages --> The
+  <code><a href=#the-caption-element>caption</a></code> element or one of the other <a href=#table-descriptions>techniques</a> described in the
+  <code><a href=#the-table-element>table</a></code> section should be used instead.</p>
+
+
+  <div class=impl>
+
+  <h4 id=warnings-for-obsolete-but-conforming-features><span class=secno>12.1.1 </span>Warnings for obsolete but conforming features</h4>
+
+  <p>To ease the transition from HTML4 Transitional documents to the
+  language defined in <em>this</em> specification, and to discourage
+  certain features that are only allowed in very few circumstances,
+  conformance checkers are required to warn the user when the
+  following features are used in a document. These are generally old
+  obsolete features that have no effect, and are allowed only to
+  distinguish between likely mistakes (regular conformance errors) and
+  mere vestigial markup or unusual and discouraged practices (these
+  warnings).</p>
+
+  <p>The following features must be categorized as described
+  above:</p>
+
+  <ul><!-- downplayed list --><li><p>The presence of an <a href=#obsolete-permitted-doctype>obsolete permitted
+   DOCTYPE</a>.</li>
+
+   <li><p>The presence of a <code><a href=#meta>meta</a></code> element with an <code title=attr-meta-http-equiv><a href=#attr-meta-http-equiv>http-equiv</a></code> attribute in the
+   <a href=#attr-meta-http-equiv-content-language title=attr-meta-http-equiv-content-language>Content
+   Language</a> state.</li>
+
+   <li><p>The presence of a <code title=attr-img-border><a href=#attr-img-border>border</a></code> attribute on an
+   <code><a href=#the-img-element>img</a></code> element if its value is the string "<code title="">0</code>".</li>
+
+   <li><p>The presence of a <code title=attr-script-language><a href=#attr-script-language>language</a></code> attribute on a
+   <code><a href=#script>script</a></code> element if its value is an <a href=#ascii-case-insensitive>ASCII
+   case-insensitive</a> match for the string "<code title="">JavaScript</code>" and if there is no <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute or there is and its
+   value is an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the
+   string "<code title="">text/javascript</code>".</li>
+
+   <li><p>The presence of a <code title=attr-a-name><a href=#attr-a-name>name</a></code>
+   attribute on an <code><a href=#the-a-element>a</a></code> element, if its value is not the
+   empty string.</li>
+
+   <li><p>The presence of a <code title=attr-table-summary><a href=#attr-table-summary>summary</a></code> attribute on a
+   <code><a href=#the-table-element>table</a></code> element.</li> <!-- 2.65% pages -->
+
+  </ul></div>
+
+
+  <h3 id=non-conforming-features><span class=secno>12.2 </span>Non-conforming features</h3>
+
+  <p>Elements in the following list are entirely obsolete, and must
+  not be used by authors:</p>
+
   <dl><!-- alphabetical by first element in the group, except CSS goes last --><dt><code><a href=#the-applet-element>applet</a></code></dt>
    <dd><p>Use <code><a href=#the-embed-element>embed</a></code> or <code><a href=#the-object-element>object</a></code> instead.</dd>
 
@@ -69846,7 +69958,7 @@
    <dd><p>Use CSS instead.</dd>
 
   </dl><hr><p>The following attributes are obsolete (though the elements are
-  still part of the language):</p>
+  still part of the language), and must not be used by authors:</p>
 
   <dl><!-- alphabetical by element then attribute of first item in group, except CSS goes last --><dt><dfn id=attr-a-charset title=attr-a-charset><code>charset</code></dfn> on <code><a href=#the-a-element>a</a></code> elements</dt>
    <dt><dfn id=attr-link-charset title=attr-link-charset><code>charset</code></dfn> on <code><a href=#the-link-element>link</a></code> elements</dt>
@@ -69862,7 +69974,7 @@
    attribute instead, with an opposite term. (For example, instead of
    <code title="">rev="made"</code>, use <code title="">rel="author"</code>.)</dd>
 
-   <dt><dfn id=attr-a-name title=attr-a-name><code>name</code></dfn> on <code><a href=#the-a-element>a</a></code> elements</dt>
+   <dt><dfn id=attr-a-name title=attr-a-name><code>name</code></dfn> on <code><a href=#the-a-element>a</a></code> elements (except as noted in the previous section)</dt>
    <dt><dfn id=attr-img-name title=attr-img-name><code>name</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
    <dd><p>Use the <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute instead.</dd>
 
@@ -69911,10 +70023,9 @@
    <dd><p>Use the <code title=attr-param-name><a href=#attr-param-name>name</a></code> and <code title=attr-param-value><a href=#attr-param-value>value</a></code> attributes without declaring
    value types.</dd>
 
-   <dt><dfn id=attr-table-summary title=attr-table-summary><code>summary</code></dfn> on <code><a href=#the-table-element>table</a></code> elements</dt>
-   <dd><p>Use the <code><a href=#the-caption-element>caption</a></code> element instead or one of the
-   other <a href=#table-descriptions>techniques</a> described in the
-   <code><a href=#the-table-element>table</a></code> section.</p>
+   <dt><dfn id=attr-script-language title=attr-script-language><code>language</code></dfn> on <code><a href=#script>script</a></code> elements (except as noted in the previous section)</dt>
+   <dd><p>Use the <code title=attr-script-type><a href=#attr-script-type>type</a></code> attribute
+   instead.</dd>
 
    <dt><dfn id=attr-td/th-abbr title=attr-td/th-abbr><code>abbr</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
    <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that.</p>
@@ -69949,7 +70060,7 @@
    <dt><dfn id=attr-iframe-scrolling title=attr-iframe-scrolling><code>scrolling</code></dfn> on <code><a href=#the-iframe-element>iframe</a></code> elements</dt>
    <dt><dfn id=attr-input-align title=attr-input-align><code>align</code></dfn> on <code><a href=#the-input-element>input</a></code> elements</dt>
    <dt><dfn id=attr-img-align title=attr-img-align><code>align</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
-   <dt><dfn id=attr-img-border title=attr-img-border><code>border</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
+   <dt><dfn id=attr-img-border title=attr-img-border><code>border</code></dfn> on <code><a href=#the-img-element>img</a></code> elements (except as noted in the previous section)</dt>
    <dt><dfn id=attr-img-hspace title=attr-img-hspace><code>hspace</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
    <dt><dfn id=attr-img-vspace title=attr-img-vspace><code>vspace</code></dfn> on <code><a href=#the-img-element>img</a></code> elements</dt>
    <dt><dfn id=attr-legend-align title=attr-legend-align><code>align</code></dfn> on <code><a href=#the-legend-element>legend</a></code> elements</dt>
@@ -69994,9 +70105,9 @@
 
   </dl><div class=impl>
 
-  <h3 id=self-contained-features><span class=secno>12.1 </span>Self-contained features</h3>
+  <h3 id=requirements-for-implementations><span class=secno>12.3 </span>Requirements for implementations</h3>
 
-  <h4 id=the-applet-element><span class=secno>12.1.1 </span>The <dfn><code>applet</code></dfn> element</h4>
+  <h4 id=the-applet-element><span class=secno>12.3.1 </span>The <dfn><code>applet</code></dfn> element</h4>
 
   <p>The <code><a href=#the-applet-element>applet</a></code> element is a Java-specific variant of the
   <code><a href=#the-embed-element>embed</a></code> element. The <code><a href=#the-applet-element>applet</a></code> element is now
@@ -70039,7 +70150,7 @@
   DOM attribute must <a href=#reflect>reflect</a> the <code title=attr-applet-codebase>codebase</code> content attribute.</p>
 
 
-  <h4 id=the-marquee-element-0><span class=secno>12.1.2 </span>The <dfn><code>marquee</code></dfn> element</h4>
+  <h4 id=the-marquee-element-0><span class=secno>12.3.2 </span>The <dfn><code>marquee</code></dfn> element</h4>
 
   <p>The <code><a href=#the-marquee-element-0>marquee</a></code> element is a presentational element that
   animates content. CSS transitions and animations are a more
@@ -70226,7 +70337,7 @@
   attribute.</p>
 
 
-  <h4 id=frames><span class=secno>12.1.3 </span>Frames</h4>
+  <h4 id=frames><span class=secno>12.3.3 </span>Frames</h4>
 
   <p>The <dfn id=frameset><code>frameset</code></dfn> element acts as <a href=#the-body-element-0>the
   body element</a> in documents that use frames.</p>
@@ -70390,7 +70501,7 @@
 
 
 
-  <h3 id=other-elements,-attributes-and-apis><span class=secno>12.2 </span>Other elements, attributes and APIs</h3> <!-- alphabetical by name and attribute -->
+  <h4 id=other-elements,-attributes-and-apis><span class=secno>12.3.4 </span>Other elements, attributes and APIs</h4> <!-- alphabetical by name and attribute -->
 
   <pre class=idl>[Supplemental] interface <a href=#htmlanchorelement>HTMLAnchorElement</a> {
            attribute DOMString <a href=#dom-a-coords title=dom-a-coords>coords</a>;
@@ -70963,85 +71074,10 @@
   violation is motivated by a desire for compatibility with legacy
   content. <a href=#refsECMA262>[ECMA262]</a></p>
 
+  </div>
 
 
 
-  <h3 id=conformance-checkers-0><span class=secno>12.3 </span>Conformance checkers</h3>
-
-  <p>To ease the transition from HTML4 Transitional documents to the
-  language defined in <em>this</em> specification, conformance
-  checkers are encouraged to categorize errors that represent usage of
-  old obsolete features that generally have no effect (as defined
-  below) into a separate part of their report, to allow authors to
-  distinguish between likely mistakes and mere vestigial markup.</p>
-
-  <p>The following errors may be categorized as described above:</p>
-
-  <ul><!-- downplayed list --><li>
-
-    <p>The <a href=#doctype-parse-error>DOCTYPE parse error</a>, if the DOCTYPE token's
-    <code title="">name</code> is an <a href=#ascii-case-insensitive>ASCII
-    case-insensitive</a> match for the string "<code title="">HTML</code>", and either:</p>
-
-    <ul><li>the token's public identifier is the
-     <a href=#case-sensitive>case-sensitive</a> string "<code title="">-//W3C//DTD HTML 4.0//EN</code>" and the
-     token's system identifier is either missing or the
-     <a href=#case-sensitive>case-sensitive</a> string "<code title="">http://www.w3.org/TR/REC-html40/strict.dtd</code>", or</li>
-
-     <li>the token's public identifier is the
-     <a href=#case-sensitive>case-sensitive</a> string "<code title="">-//W3C//DTD HTML 4.01//EN</code>" and the
-     token's system identifier is either missing or the
-     <a href=#case-sensitive>case-sensitive</a> string "<code title="">http://www.w3.org/TR/html4/strict.dtd</code>", or</li>
-
-     <li>the token's public identifier is the
-     <a href=#case-sensitive>case-sensitive</a> string "<code title="">-//W3C//DTD XHTML 1.0 Strict//EN</code>"
-     and the token's system identifier is the
-     <a href=#case-sensitive>case-sensitive</a> string "<code title="">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</code>",
-     or</li>
-
-     <li>the token's public identifier is the
-     <a href=#case-sensitive>case-sensitive</a> string "<code title="">-//W3C//DTD XHTML 1.1//EN</code>"
-     and the token's system identifier is the
-     <a href=#case-sensitive>case-sensitive</a> string "<code title="">http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd</code>".</li>
-
-    </ul><!-- only things that trigger no-quirks mode and were valid in
-    some other spec are allowed in this list --></li>
-
-   <li><p>The presence of a <code title=attr-head-profile><a href=#attr-head-profile>profile</a></code> attribute on the
-   <code><a href=#the-head-element>head</a></code> element, if its value is an <a href=#unordered-set-of-unique-space-separated-tokens>unordered set
-   of unique space-separated tokens</a> where the words are all
-   <a href=#valid-url title="valid URL">valid URLs</a>.</li>
-
-   <li><p>The presence of a <code><a href=#meta>meta</a></code> element with an <code title=attr-meta-http-equiv><a href=#attr-meta-http-equiv>http-equiv</a></code> attribute in the
-   <a href=#attr-meta-http-equiv-content-language title=attr-meta-http-equiv-content-language>Content
-   Language</a> state.</li>
-
-   <li><p>The presence of a <code title=attr-img-border><a href=#attr-img-border>border</a></code> attribute on an
-   <code><a href=#the-img-element>img</a></code> element if its value is the string "<code title="">0</code>".</li>
-
-   <li><p>The presence of a <code title=attr-img-longdesc><a href=#attr-img-longdesc>longdesc</a></code> attribute on an
-   <code><a href=#the-img-element>img</a></code> element, if its value is a <a href=#valid-url>valid
-   URL</a>.</li> <!-- 0.29% pages -->
-
-   <li><p>The presence of a <code title=attr-script-language>language</code> attribute on a
-   <code><a href=#script>script</a></code> element if its value is an <a href=#ascii-case-insensitive>ASCII
-   case-insensitive</a> match for the string "<code title="">JavaScript</code>".</li>
-
-   <li><p>The presence of a <code title=attr-a-name><a href=#attr-a-name>name</a></code>
-   attribute on an <code><a href=#the-a-element>a</a></code> element, if its value is not the
-   empty string.</li>
-
-   <li><p>The presence of a <code title=attr-table-summary><a href=#attr-table-summary>summary</a></code> attribute on a
-   <code><a href=#the-table-element>table</a></code> element.</li> <!-- 2.65% pages -->
-
-   <li><p>The presence of an <code title=attr-table-abbr>abbr</code>
-   attribute on a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code> element.</li>
-   <!-- 1.33% pages -->
-
-  </ul></div>
-
-
-
   <h2 id=no><span class=secno>13 </span>Things that you can't do with this specification because
   they are better handled using other technologies that are further
   described herein</h2>

Modified: source
===================================================================
--- source	2009-07-08 07:00:50 UTC (rev 3377)
+++ source	2009-07-08 08:21:40 UTC (rev 3378)
@@ -75095,19 +75095,68 @@
    <dt>A DOCTYPE token</dt>
    <dd>
 
-    <p>If the DOCTYPE token's <code title="">name</code> is not a
+    <p>If the DOCTYPE token's name is not a
     <span>case-sensitive</span> match for the string "<code
-    title="">html</code>", or if the token's public identifier is not
-    missing, or if the token's system identifier is neither missing
-    nor a <span>case-sensitive</span> match for the string
-    "<code>about:legacy-compat</code>", then there is a <span>parse
-    error</span> (this is the <dfn>DOCTYPE parse
-    error</dfn>). Conformance checkers may, instead of reporting this
-    error, switch to a conformance checking mode for another language
-    (e.g. based on the DOCTYPE token a conformance checker could
-    recognize that the document is an HTML4-era document, and defer to
-    an HTML4 conformance checker.)</p>
+    title="">html</code>", or the token's public identifier is not
+    missing, or the token's system identifier is neither missing nor a
+    <span>case-sensitive</span> match for the string
+    "<code>about:legacy-compat</code>", and none of the sets of
+    conditions in the following list are matched, then there is a
+    <span>parse error</span>. If one of the sets of conditions in the
+    following list is matched, then there is an <dfn>obsolete
+    permitted DOCTYPE</dfn>.</p>
 
+    <ul>
+
+     <!-- only things that trigger no-quirks mode and were valid in
+     some other spec are allowed in this list -->
+
+     <li>The DOCTYPE token's name is an <span>ASCII
+     case-insensitive</span> match for the string "<code
+     title="">HTML</code>", the token's public identifier is the
+     <span>case-sensitive</span> string "<code
+     title="">-//W3C//DTD HTML 4.0//EN</code>", and the
+     token's system identifier is either missing or the
+     <span>case-sensitive</span> string "<code
+     title="">http://www.w3.org/TR/REC-html40/strict.dtd</code>".</li>
+
+     <li>The DOCTYPE token's name is an <span>ASCII
+     case-insensitive</span> match for the string "<code
+     title="">HTML</code>", the token's public identifier is the
+     <span>case-sensitive</span> string "<code
+     title="">-//W3C//DTD HTML 4.01//EN</code>", and the
+     token's system identifier is either missing or the
+     <span>case-sensitive</span> string "<code
+     title="">http://www.w3.org/TR/html4/strict.dtd</code>".</li>
+
+     <li>The DOCTYPE token's name is an <span>ASCII
+     case-insensitive</span> match for the string "<code
+     title="">HTML</code>", the token's public identifier is the
+     <span>case-sensitive</span> string "<code
+     title="">-//W3C//DTD XHTML 1.0 Strict//EN</code>",
+     and the token's system identifier is the
+     <span>case-sensitive</span> string "<code
+     title="">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</code>".</li>
+
+     <li>The DOCTYPE token's name is an <span>ASCII
+     case-insensitive</span> match for the string "<code
+     title="">HTML</code>", the token's public identifier is the
+     <span>case-sensitive</span> string "<code
+     title="">-//W3C//DTD XHTML 1.1//EN</code>", and the
+     token's system identifier is the <span>case-sensitive</span>
+     string "<code
+     title="">http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd</code>".</li>
+
+    </ul>
+
+    <p>Conformance checkers may, based on the values (including
+    presence or lack thereof) of the DOCTYPE token's name, public
+    identifier, or system identifier, switch to a conformance checking
+    mode for another language (e.g. based on the DOCTYPE token a
+    conformance checker could recognize that the document is an
+    HTML4-era document, and defer to an HTML4 conformance
+    checker.)</p>
+
     <p>Append a <code>DocumentType</code> node to the
     <code>Document</code> node, with the <code title="">name</code>
     attribute set to the name given in the DOCTYPE token, or the empty
@@ -82316,13 +82365,113 @@
 
   <h2>Obsolete features</h2>
 
-  <p>Authors and documents must not use the features listed in this
-  section. <span class="impl">They are documented to enable user
-  agents to support legacy content in an interoperable
-  fashion.</span></p>
+  <h3>Conforming but obsolete features</h3>
 
-  <p>The following elements are entirely obsolete:</p>
+  <p>Features listed in this section will trigger warnings in
+  conformance checkers.</p>
 
+  <p>Authors should not specify an <code
+  title="attr-meta-http-equiv">http-equiv</code> attribute in the
+  <span title="attr-meta-http-equiv-content-language">Content
+  Language</span> state on a <code>meta</code> element. The <code
+  title="attr-lang">lang</code> attribute should be used instead.</p>
+
+  <p>Authors should not specify a <code
+  title="attr-img-border">border</code> attribute on an
+  <code>img</code> element if its value is the string "<code
+  title="">0</code>". CSS should be used instead.</p>
+
+  <p>Authors should not specify a <code
+  title="attr-script-language">language</code> attribute on a
+  <code>script</code> element. If the attribute is present, its value
+  must be an <span>ASCII case-insensitive</span> match for the string
+  "<code title="">JavaScript</code>" and either the <code
+  title="attr-script-type">type</code> attribute must be omitted or
+  its value must be an <span>ASCII case-insensitive</span> match for
+  the string "<code title="">text/javascript</code>". The attribute
+  should be entirely omitted instead (with the value "<code
+  title="">JavaScript</code>", it has no effect), or replaced with use
+  of the <code title="attr-script-type">type</code> attribute.</p>
+
+  <p>Authors should not specify the <code
+  title="attr-a-name">name</code> attribute on <code>a</code>
+  elements. If the attribute is present, its value must not be the
+  empty string. The <code title="attr-id">id</code> attribute should
+  be used instead.</p>
+
+  <p>Authors should not specify the <code
+  title="attr-a-name">name</code> attribute on <code>a</code>
+  elements. If the attribute is present, its value must not be the
+  empty string. The <code title="attr-id">id</code> attribute should
+  be used instead.</p>
+
+  <p>Authors should not specify the <dfn
+  title="attr-table-summary"><code>summary</code></dfn> attribute on
+  <code>table</code> elements. <!-- 2.65% pages --> The
+  <code>caption</code> element or one of the other <a
+  href="#table-descriptions">techniques</a> described in the
+  <code>table</code> section should be used instead.</p>
+
+
+  <div class="impl">
+
+  <h4>Warnings for obsolete but conforming features</h4>
+
+  <p>To ease the transition from HTML4 Transitional documents to the
+  language defined in <em>this</em> specification, and to discourage
+  certain features that are only allowed in very few circumstances,
+  conformance checkers are required to warn the user when the
+  following features are used in a document. These are generally old
+  obsolete features that have no effect, and are allowed only to
+  distinguish between likely mistakes (regular conformance errors) and
+  mere vestigial markup or unusual and discouraged practices (these
+  warnings).</p>
+
+  <p>The following features must be categorized as described
+  above:</p>
+
+  <ul><!-- downplayed list -->
+
+   <li><p>The presence of an <span>obsolete permitted
+   DOCTYPE</span>.</p></li>
+
+   <li><p>The presence of a <code>meta</code> element with an <code
+   title="attr-meta-http-equiv">http-equiv</code> attribute in the
+   <span title="attr-meta-http-equiv-content-language">Content
+   Language</span> state.</p></li>
+
+   <li><p>The presence of a <code
+   title="attr-img-border">border</code> attribute on an
+   <code>img</code> element if its value is the string "<code
+   title="">0</code>".</p></li>
+
+   <li><p>The presence of a <code
+   title="attr-script-language">language</code> attribute on a
+   <code>script</code> element if its value is an <span>ASCII
+   case-insensitive</span> match for the string "<code
+   title="">JavaScript</code>" and if there is no <code
+   title="attr-script-type">type</code> attribute or there is and its
+   value is an <span>ASCII case-insensitive</span> match for the
+   string "<code title="">text/javascript</code>".</p></li>
+
+   <li><p>The presence of a <code title="attr-a-name">name</code>
+   attribute on an <code>a</code> element, if its value is not the
+   empty string.</p></li>
+
+   <li><p>The presence of a <code
+   title="attr-table-summary">summary</code> attribute on a
+   <code>table</code> element.</p></li> <!-- 2.65% pages -->
+
+  </ul>
+
+  </div>
+
+
+  <h3>Non-conforming features</h3>
+
+  <p>Elements in the following list are entirely obsolete, and must
+  not be used by authors:</p>
+
   <dl><!-- alphabetical by first element in the group, except CSS goes last -->
 
    <dt><code>applet</code></dt>
@@ -82363,7 +82512,7 @@
   <hr>
 
   <p>The following attributes are obsolete (though the elements are
-  still part of the language):</p>
+  still part of the language), and must not be used by authors:</p>
 
   <dl><!-- alphabetical by element then attribute of first item in group, except CSS goes last -->
 
@@ -82382,7 +82531,7 @@
    <code title="">rev="made"</code>, use <code
    title="">rel="author"</code>.)</p></dd>
 
-   <dt><dfn title="attr-a-name"><code>name</code></dfn> on <code>a</code> elements</dt>
+   <dt><dfn title="attr-a-name"><code>name</code></dfn> on <code>a</code> elements (except as noted in the previous section)</dt>
    <dt><dfn title="attr-img-name"><code>name</code></dfn> on <code>img</code> elements</dt>
    <dd><p>Use the <code title="attr-id">id</code> attribute instead.</p></dd>
 
@@ -82435,10 +82584,9 @@
    title="attr-param-value">value</code> attributes without declaring
    value types.</p></dd>
 
-   <dt><dfn title="attr-table-summary"><code>summary</code></dfn> on <code>table</code> elements</dt>
-   <dd><p>Use the <code>caption</code> element instead or one of the
-   other <a href="#table-descriptions">techniques</a> described in the
-   <code>table</code> section.</p>
+   <dt><dfn title="attr-script-language"><code>language</code></dfn> on <code>script</code> elements (except as noted in the previous section)</dt>
+   <dd><p>Use the <code title="attr-script-type">type</code> attribute
+   instead.</p></dd>
 
    <dt><dfn title="attr-td/th-abbr"><code>abbr</code></dfn> on <code>td</code> and <code>th</code> elements</dt>
    <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that.</p>
@@ -82473,7 +82621,7 @@
    <dt><dfn title="attr-iframe-scrolling"><code>scrolling</code></dfn> on <code>iframe</code> elements</dt>
    <dt><dfn title="attr-input-align"><code>align</code></dfn> on <code>input</code> elements</dt>
    <dt><dfn title="attr-img-align"><code>align</code></dfn> on <code>img</code> elements</dt>
-   <dt><dfn title="attr-img-border"><code>border</code></dfn> on <code>img</code> elements</dt>
+   <dt><dfn title="attr-img-border"><code>border</code></dfn> on <code>img</code> elements (except as noted in the previous section)</dt>
    <dt><dfn title="attr-img-hspace"><code>hspace</code></dfn> on <code>img</code> elements</dt>
    <dt><dfn title="attr-img-vspace"><code>vspace</code></dfn> on <code>img</code> elements</dt>
    <dt><dfn title="attr-legend-align"><code>align</code></dfn> on <code>legend</code> elements</dt>
@@ -82522,7 +82670,7 @@
 
   <div class="impl">
 
-  <h3>Self-contained features</h3>
+  <h3>Requirements for implementations</h3>
 
   <h4>The <dfn><code>applet</code></dfn> element</h4>
 
@@ -83043,7 +83191,7 @@
 
 
 
-  <h3>Other elements, attributes and APIs</h3> <!-- alphabetical by name and attribute -->
+  <h4>Other elements, attributes and APIs</h4> <!-- alphabetical by name and attribute -->
 
   <pre class="idl">[Supplemental] interface <span>HTMLAnchorElement</span> {
            attribute DOMString <span title="dom-a-coords">coords</span>;
@@ -83736,108 +83884,6 @@
   violation is motivated by a desire for compatibility with legacy
   content. <a href="#refsECMA262">[ECMA262]</a></p>
 
-
-
-
-  <h3>Conformance checkers</h3>
-
-  <p>To ease the transition from HTML4 Transitional documents to the
-  language defined in <em>this</em> specification, conformance
-  checkers are encouraged to categorize errors that represent usage of
-  old obsolete features that generally have no effect (as defined
-  below) into a separate part of their report, to allow authors to
-  distinguish between likely mistakes and mere vestigial markup.</p>
-
-  <p>The following errors may be categorized as described above:</p>
-
-  <ul><!-- downplayed list -->
-
-   <li>
-
-    <p>The <span>DOCTYPE parse error</span>, if the DOCTYPE token's
-    <code title="">name</code> is an <span>ASCII
-    case-insensitive</span> match for the string "<code
-    title="">HTML</code>", and either:</p>
-
-    <ul>
-
-     <li>the token's public identifier is the
-     <span>case-sensitive</span> string "<code
-     title="">-//W3C//DTD HTML 4.0//EN</code>" and the
-     token's system identifier is either missing or the
-     <span>case-sensitive</span> string "<code
-     title="">http://www.w3.org/TR/REC-html40/strict.dtd</code>", or</li>
-
-     <li>the token's public identifier is the
-     <span>case-sensitive</span> string "<code
-     title="">-//W3C//DTD HTML 4.01//EN</code>" and the
-     token's system identifier is either missing or the
-     <span>case-sensitive</span> string "<code
-     title="">http://www.w3.org/TR/html4/strict.dtd</code>", or</li>
-
-     <li>the token's public identifier is the
-     <span>case-sensitive</span> string "<code
-     title="">-//W3C//DTD XHTML 1.0 Strict//EN</code>"
-     and the token's system identifier is the
-     <span>case-sensitive</span> string "<code
-     title="">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</code>",
-     or</li>
-
-     <li>the token's public identifier is the
-     <span>case-sensitive</span> string "<code
-     title="">-//W3C//DTD XHTML 1.1//EN</code>"
-     and the token's system identifier is the
-     <span>case-sensitive</span> string "<code
-     title="">http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd</code>".</li>
-
-    </ul>
-
-    <!-- only things that trigger no-quirks mode and were valid in
-    some other spec are allowed in this list -->
-
-   </li>
-
-   <li><p>The presence of a <code
-   title="attr-head-profile">profile</code> attribute on the
-   <code>head</code> element, if its value is an <span>unordered set
-   of unique space-separated tokens</span> where the words are all
-   <span title="valid URL">valid URLs</span>.</p></li>
-
-   <li><p>The presence of a <code>meta</code> element with an <code
-   title="attr-meta-http-equiv">http-equiv</code> attribute in the
-   <span title="attr-meta-http-equiv-content-language">Content
-   Language</span> state.</p></li>
-
-   <li><p>The presence of a <code
-   title="attr-img-border">border</code> attribute on an
-   <code>img</code> element if its value is the string "<code
-   title="">0</code>".</p></li>
-
-   <li><p>The presence of a <code
-   title="attr-img-longdesc">longdesc</code> attribute on an
-   <code>img</code> element, if its value is a <span>valid
-   URL</span>.</p></li> <!-- 0.29% pages -->
-
-   <li><p>The presence of a <code
-   title="attr-script-language">language</code> attribute on a
-   <code>script</code> element if its value is an <span>ASCII
-   case-insensitive</span> match for the string "<code
-   title="">JavaScript</code>".</p></li>
-
-   <li><p>The presence of a <code title="attr-a-name">name</code>
-   attribute on an <code>a</code> element, if its value is not the
-   empty string.</p></li>
-
-   <li><p>The presence of a <code
-   title="attr-table-summary">summary</code> attribute on a
-   <code>table</code> element.</p></li> <!-- 2.65% pages -->
-
-   <li><p>The presence of an <code title="attr-table-abbr">abbr</code>
-   attribute on a <code>td</code> or <code>th</code> element.</p></li>
-   <!-- 1.33% pages -->
-
-  </ul>
-
   </div>
 
 




More information about the Commit-Watchers mailing list