Fragment identifiers and 'ID' attribute values: case matters

The following comments apply to all developing CSS documents: 
modules, profiles, test suites, and miscellany.  (Well, they also apply to 
finalized documents, but there is little that we can do about those.)

HTML4 has an SGML declaration that specifies that names fold to upper 
case.  Consequently, an 'ID' attribute value specification of "AnElement" 
produces the attribute value "ANELEMENT".  Consequently, the correct 
fragment identifier in a URI reference for an element with that 'ID' 
attribute value specification is "#ANELEMENT", not "#AnElement".

The solutions for CSS documents written in HTML4 are two.  The 
documents could use 'ID' values keyed in upper case or the documents 
could enter new versions as XHTML.

Arguably, the whole notion that HTML is SGML is false, but to conform 
to the Recommendations of the W3C itself, something must change.

-- 
Etan Wexler <mailto:ewexler@stickdog.com>

Received on Friday, 24 May 2002 21:25:36 UTC