Re: [CSS21] Normative reference to HTML4

On Mon, Oct 25, 2010 at 3:55 PM, fantasai <fantasai.lists@inkedblade.net> wrote:
> On 10/25/2010 03:06 PM, Tab Atkins Jr. wrote:
>>
>> CSS 2.1 currently has a normative reference to HTML4.  This is bad,
>> because HTML4 is obsolete and incorrect in some areas.  We should
>> instead be referencing HTML5, which actually specifies current
>> practice.
>
> I disagree here. The areas where we normatively interact with HTML
> specifically are quite limited, and whether we reference HTML5 or
> HTML4 makes no practical difference.
>
> The areas of concern are, specifically:
>  - The list of HTML preshint attributes.
>  - The special behavior of the BODY tag.
>  - Calculation of <table> widths wrt including the border.
>  - Class selector notation
> and these are worded to apply to all versions of HTML and XHTML.
>
> Every reference to HTML 4 specifically is informative only: used for
> background information (e.g. bidi), historical information (e.g.
> table model), or examples (e.g. sample style sheet).
>
>> The specific issue that brought this up is the handling of attribute
>> selectors and the attr() function when an HTML boolean attribute is
>> minimized (that is, used without an explicit value in the markup, like
>> <audio controls>).  According to HTML4's DTD, the value of the
>> attribute is the name of the attribute, which is what should be used
>> for matching in attribute selectors and returned by the attr()
>> function.  In actual browsers, and as specified by HTML5, the value is
>> the empty string.
>
> This is an issue with the test testing something that is out-of-scope
> for a CSS2.1 test suite. That is, testing that boolean attributes are
> expanded per HTML4 rules is out-of-scope for the CSS2.1 test suite.
> (And it's actually an error in the build system and not the test writer's
> fault.)
>
> We probably need an HTML-CSS interaction test suite that fully
> explores the boundary between the two technologies, but that's a
> separate issue.

That would be fine with me.  I don't necessarily agree that it's out
of scope, but not testing it at all right now is infinitely better
than an incorrect test.  Putting together a separate css/html
interaction test suite would be fine as well.


>> Officially, CSS2.1 should only have normative references to things in
>> PR or REC status.  In reality, of our 18 normative references, only 4
>> are PR or REC.  If we're okay with referencing those 14 other
>> documents, we should presumably be okay with referencing HTML5, which
>> is a much more mature and correct specification than HTML4 ever was,
>> regardless of its official classification in the W3C standards track.
>
> I'm not sure where you're getting those numbers. Of the W3C specifications
> we normatively reference in CSS2.1, 3/3 are W3C REC.

Sure, of the W3C specs.  On <http://www.w3.org/TR/CSS2/refs.html> we
list 18 total specs that we reference.  The fact that 14 of them
(everything but HTML4, PNG, UAAG, and XML) aren't W3C specs doesn't
seem relevant.  They're also not PR or REC, and yet we have them
listed as normative references.


> In short, I see no practical benefit to use updating our reference to
> HTML5. I only see process difficulties in doing so.
>
> If there's some concern about normatively referencing HTML4, I would
> suggest instead recategorizing the reference as informative rather
> than normative.

Changing it to an informative reference would also be fine.

So, we need to either:

1. Ensure that no 2.1 tests are testing minimized attributes, since
HTML4's explanation of how to treat them is incorrect.
2. Update HTML4's reference status to "informative" rather than "normative".

Or:

1. Ensure that any 2.1 tests that are using minimized attributes test
correctly for the fact that the attribute's value is the empty string.
2. Change our HTML reference from HTML4 to HTML5.

~TJ

Received on Monday, 25 October 2010 23:34:02 UTC