[CSS2.1] Chapter 4: Syntax and basic data types

Self-Contradiction
==================

These two sentences are in conflict:

S4.1.3 <http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#q6>:
#  In CSS 2.1, identifiers... cannot start with a hyphen or a digit.

S4.1.2 <http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#q4>:
# In CSS2.1, identifiers may begin with '-' (dash) or '_' (underscore).

Terminology
===========

S4.1.7 <http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#q10>:
# A rule set (also called "rule") consists of a selector followed by
# a declaration block.

What you're saying here is that a "rule" is also a "set of rules".
The construct should be either singular /or/ plural, not both at the
same time. Please pick *one*. (And make sure its use is consistent.)

# A declaration-block (also called a {}-block in the following text)
# starts with a left curly brace ({) and ends with the matching right
# curly brace (}).

Is there a particular reason why "declaration-blocks" are not defined in
terms of "blocks" (as defined in the previous section)?

And don't call it a {}-block. @media rules have braces-delimited blocks,
too. Just call it a declaration block. It's a nice, unambiguous term;
there's nothing wrong with it.

Missing Comments
================

S4.1.9<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#comments>:
# CSS also allows the SGML comment delimiters ("<!--" and "-->") in
# certain places, but they do not delimit CSS comments. They are
# permitted so that style rules appearing in an HTML source document
# (in the STYLE element) may be hidden from pre-HTML 3.2 user agents.
# See the HTML 4.0 specification ([HTML40]) for more information.

It says SGML comment delimiters are allowed "in certain places". Very
mysterious-like, especially considering the amount of detail about
HTML. Why not say where exactly?
And why is the definitive CSS document referring to the HTML 4.0 spec
for details about CSS syntax? Or is the "more information" more
information about hiding from pre-HTML 3.2 user agents, not "more
information" about, like, where the comment delimiters may be placed?

Unexpected Errors
=================

S4.2<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#parsing-errors>:
# Malformed declarations. User agents must handle unexpected tokens
# encountered while parsing a declaration by reading until the end
# of the declaration, while observing the rules for matching pairs
# of (), [], {}, "", and '', and correctly handling escapes.

What happens if there's a mismatched bracket?
   elem {pro[perty: value; }

or a string with an unescaped newline?
   elem {prop: "string }

I can't seem to find "the rules for matching pairs of (), [],
}, "", and ''".

Actual Values
=============

S4.3.2<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#length-units>:
#  In cases where the computed length cannot be supported, user agents
#  must approximate it in the actual value.
                               ^^^^^^^^^^^^

Actual values haven't been defined at this point. Maybe link to the
appropriate section?

Mismatched Colors
=================

S4.3.6<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#color-units>:
# The format of an RGB value in the functional notation is 'rgb('
# followed by a comma-separated list of three numerical values (either
# three integer values or three percentage values) followed by ')'.

Is rgb(255, 0, 50%) invalid, then?

~fantasai

Received on Monday, 6 October 2003 20:23:57 UTC