<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>13479</bug_id>
          
          <creation_ts>2011-07-30 20:37:26 +0000</creation_ts>
          <short_desc>Document conformance/validity has to be stable over the time</short_desc>
          <delta_ts>2012-08-21 21:48:04 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>LC1 HTML5 spec</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>http://www.w3.org/Bugs/Public/show_bug.cgi?id=12854</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WGDecision</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jirka Kosek">jirka</reporter>
          <assigned_to name="Travis Leithead [MSFT]">travil</assigned_to>
          <cc>annevk</cc>
    
    <cc>ian</cc>
    
    <cc>julian.reschke</cc>
    
    <cc>kennyluck</cc>
    
    <cc>mike</cc>
    
    <cc>pcotton</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>rubys</cc>
    
    <cc>travil</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>51835</commentid>
    <comment_count>0</comment_count>
    <who name="Jirka Kosek">jirka</who>
    <bug_when>2011-07-30 20:37:26 +0000</bug_when>
    <thetext>On several places conformance of document relies on external registry which is not versioned -- it can add or remove any value at any time. This means that for frozen document its validity can change. This is unacceptable for many reasons.

Each edition of HTML spec should include snapshot of such registries which can easily change over time to create more stable grounds for document conformance.

This includes rel values, extensions of metadata names and extensions to pragma directives.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51854</commentid>
    <comment_count>1</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2011-07-31 07:53:22 +0000</bug_when>
    <thetext>I strongly disagree with this. Since implementations can vary over time, conformance should vary over time too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51864</commentid>
    <comment_count>2</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-07-31 14:39:17 +0000</bug_when>
    <thetext>I agree with the original commenter.  The point of document conformance is to encourage authors to do the right thing by letting them claim their page is conforming, as a reward for good behavior.  If authors go to the effort of making a page conforming, they should be rewarded by having the page conform indefinitely.  If authors do all that work and then overnight their pages retroactively become invalid due to some spec writers deciding some feature isn&apos;t a good idea anymore, they&apos;re going to become demoralized and not want to make their pages valid.

Specifically, I propose the following approach to versioning for authoring conformance.  Every X years (say two or four), declare a snapshot version of authoring requirements, maybe call it HTML 2012 or whatever.  Anytime a page that was previously valid is made invalid by a spec or registry change, note in the spec or registry that it&apos;s still valid HTML 2012 (or whatever), but not later.  Anytime a page that was previous invalid is made valid, make pages retroactively valid too, so authors don&apos;t have to rewrite their pages to use new features and remain valid.  Then have the validator say &quot;This is valid HTML 2012, but not HTML latest&quot; or something.

Examples:

1) In 2012, we take a snapshot of author conformance requirements.  In 2013, we decide that &lt;a name&gt; should be made invalid.  Then we change the spec to say something like: &quot;The name attribute on the a element is not conforming in versions of HTML later than 2012.  For HTML 2012 and earlier, conformance checkers must treat a nonempty name attribute on an a element as obsolete but conforming.&quot;  When this spec change is made, validators will no longer say (e.g.) &quot;This page is fully valid HTML&quot;, but instead something like &quot;This page is valid HTML 2012&quot;, with a link you can click to see what stops it from being valid HTML.

2) In 2012, we take a snapshot of author conformance requirements.  In 2017, we add a new &lt;jack&gt; element to support new hardware that allows users with appropriate neural implants to control their computer telekinetically, a feature that proprietary application APIs had for a few years but which was only just stable enough to add to the web platform.  Pages that were already valid HTML 2012 but use the new element are still valid HTML 2012.

We&apos;d have to make sure all the registries take the same approach, making sure that they don&apos;t outright remove things but instead just mark them as being only in the appropriate old version.

All this isn&apos;t urgent, though, since HTML5 is still new and imposes lots of authoring conformance changes, and not many authors seem to be tracking it yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51867</commentid>
    <comment_count>3</comment_count>
    <who name="Julian Reschke">julian.reschke</who>
    <bug_when>2011-07-31 14:51:29 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; ...

I agree with most Aryeh said.

However, versioning registries may be tricky and overkill. Furthermore, registries aren&apos;t supposed to *remove* entries anyway -- at least not in the case of &quot;we don&apos;t like this anymore&quot;.

A simpler approach to deal with registries is not to make validity depend on them. It&apos;s fine to issue a warning for unregistered values, but it shouldn&apos;t be a conformance violation.

Also note that having unstable conformance criteria should prevent the IESG from accepting the specification as a description of the text/html media type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51872</commentid>
    <comment_count>4</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2011-07-31 20:23:47 +0000</bug_when>
    <thetext>I disagree. If something is harmful, it should affect conformance retroactively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51873</commentid>
    <comment_count>5</comment_count>
    <who name="Jirka Kosek">jirka</who>
    <bug_when>2011-07-31 20:37:11 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; I disagree. If something is harmful, it should affect conformance
&gt; retroactively.

I disagree. 

But to move forward. On assumption that registries in question will be reasonably managed it is very unlikely that such situation will ever appear.

But it is bad in principle if conformance is depending on external resource which can constantly change and there is no trusted gatekeeper for this registry. So I still think that each published edition of HTML5 should either include snapshot of those registries or release relevant conformance criteria to allow any values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51997</commentid>
    <comment_count>6</comment_count>
    <who name="Aryeh Gregor">ayg</who>
    <bug_when>2011-08-02 16:15:32 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; I disagree. If something is harmful, it should affect conformance
&gt; retroactively.

If something was originally valid but become invalid, in most cases that should mean that it wasn&apos;t harmful originally but became harmful later, perhaps because better alternatives became reliably supported.  E.g., a page written in 1996 using &lt;font&gt; was written according to best practices at the time, and it&apos;s harmless to leave it as-is.  Authors should be encouraged to avoid &lt;font&gt; in all new pages, but there&apos;s no reason to encourage them to remove it from old pages that are already stable, especially since that&apos;s extremely burdensome if you have lots of pages.

This is especially true because one major use of conformance checking is to gauge how knowledgeable the page author was.  People who make assumptions about the quality of a page based on its conformance will be misled if it became non-conforming retroactively.  You might argue that this is misuse of conformance checking, but I&apos;d disagree: whether the author bothered to use a validator tells you something about them.

Of course, none of this is to say that conformance requirements have to be absolutely set in stone.  If there are outright bugs or serious oversights, those can be applied retroactively.  But not stuff like &quot;you shouldn&apos;t be doing X anymore now that there are better ways to do it&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53951</commentid>
    <comment_count>7</comment_count>
    <who name="Michael[tm] Smith">mike</who>
    <bug_when>2011-08-04 05:34:46 +0000</bug_when>
    <thetext>mass-move component to LC1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60820</commentid>
    <comment_count>8</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-12-02 19:03:00 +0000</bug_when>
    <thetext>EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: The spec itself shouldn&apos;t be versioned, let alone the registries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60824</commentid>
    <comment_count>9</comment_count>
    <who name="Julian Reschke">julian.reschke</who>
    <bug_when>2011-12-02 19:07:53 +0000</bug_when>
    <thetext>I believe that basing document conformance on out-of-band information is a bad idea; if others agree with this we should make this as TrackerIssue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60837</commentid>
    <comment_count>10</comment_count>
    <who name="Jirka Kosek">jirka</who>
    <bug_when>2011-12-02 20:36:26 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; I believe that basing document conformance on out-of-band information is a bad
&gt; idea; if others agree with this we should make this as TrackerIssue.

I agree. Julian could you please make TrackerIssue. I don&apos;t have experience with this and honestly too busy now for investigating it.

Thanks,

Jirka</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60840</commentid>
    <comment_count>11</comment_count>
    <who name="Julian Reschke">julian.reschke</who>
    <bug_when>2011-12-02 20:43:11 +0000</bug_when>
    <thetext>(In reply to comment #10)
&gt; I agree. Julian could you please make TrackerIssue. I don&apos;t have experience
&gt; with this and honestly too busy now for investigating it.

Actually, we start with TrackerRequest (adding the keyword now).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60896</commentid>
    <comment_count>12</comment_count>
    <who name="Paul Cotton">pcotton</who>
    <bug_when>2011-12-03 19:05:18 +0000</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; I believe that basing document conformance on out-of-band information is a bad
&gt; &gt; idea; if others agree with this we should make this as TrackerIssue.
&gt; I agree. Julian could you please make TrackerIssue. I don&apos;t have experience
&gt; with this and honestly too busy now for investigating it.
&gt; Thanks,
&gt; Jirka

Can you please &quot;suggest title and text for the tracker issue&quot;?

/paulc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60909</commentid>
    <comment_count>13</comment_count>
    <who name="Jirka Kosek">jirka</who>
    <bug_when>2011-12-04 10:23:28 +0000</bug_when>
    <thetext>Hi Paul, would that work:

Title: Document conformance has to be stable over the time

On several places conformance of document relies on external registry which is
not versioned -- it can add or remove any value at any time. This means that
for frozen document its validity can change.

Each edition of HTML spec should include snapshot of registries that can
easily change over the time to create more stable grounds for assessing document conformance. 

Thanks,

Jirka</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60910</commentid>
    <comment_count>14</comment_count>
    <who name="Julian Reschke">julian.reschke</who>
    <bug_when>2011-12-04 12:10:48 +0000</bug_when>
    <thetext>Raised as &lt;https://www.w3.org/html/wg/tracker/issues/187&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62461</commentid>
    <comment_count>15</comment_count>
    <who name="Julian Reschke">julian.reschke</who>
    <bug_when>2012-01-10 10:29:27 +0000</bug_when>
    <thetext>Jirka, see &lt;http://lists.w3.org/Archives/Public/public-html/2011Dec/0037.html&gt;: A change proposal is due next weekend. Are you planning to write one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62462</commentid>
    <comment_count>16</comment_count>
    <who name="Jirka Kosek">jirka</who>
    <bug_when>2012-01-10 10:39:03 +0000</bug_when>
    <thetext>Julian, I&apos;m extremely bussy now, so if you have time to write one it would be perfect. If not, I will try to do my best.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62463</commentid>
    <comment_count>17</comment_count>
    <who name="Julian Reschke">julian.reschke</who>
    <bug_when>2012-01-10 10:41:42 +0000</bug_when>
    <thetext>(In reply to comment #16)
&gt; Julian, I&apos;m extremely bussy now, so if you have time to write one it would be
&gt; perfect. If not, I will try to do my best.

Jirka, I&apos;ve got another one to take care of. You may want to ask the chairs for an extension then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65834</commentid>
    <comment_count>18</comment_count>
    <who name="Sam Ruby">rubys</who>
    <bug_when>2012-03-20 15:15:50 +0000</bug_when>
    <thetext>WG Decision: 

  http://lists.w3.org/Archives/Public/public-html/2012Mar/0556.html

Change Proposal: 

  http://www.w3.org/html/wg/wiki/ISSUE-187-CP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70400</commentid>
    <comment_count>19</comment_count>
    <who name="">contributor</who>
    <bug_when>2012-07-18 07:25:36 +0000</bug_when>
    <thetext>This bug was cloned to create bug 17969 as part of operation convergence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72517</commentid>
    <comment_count>20</comment_count>
    <who name="Travis Leithead [MSFT]">travil</who>
    <bug_when>2012-08-21 21:48:04 +0000</bug_when>
    <thetext>[HTML5 ISSUE_187] Working Group Decision applied 

Relaxing rules for conformance checkers, so that they don&apos;t have to fail
when MetaExtensions not enumerated in the current spec are encountered.

Please see the diff for details:
https://github.com/w3c/html/commit/c2bc33702feb6c47fd96fcf9ce85042df2e4ba1b</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>