Re: [CSS21] Normative reference to HTML4

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.

> 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.

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.

~fantasai

Received on Monday, 25 October 2010 22:56:29 UTC