[CSS2.1] Parsing Selectors with Brackets

While reviewing Gabriele Romanato's tests, I realized that we don't
seem to specify matching brackets etc. when parsing selectors.

http://www.w3.org/TR/CSS21/syndata.html#rule-sets

   # The selector (see also the section on selectors) consists of
   # everything up to (but not including) the first left curly brace ({).

And the only text about matching brackets that I can find is here:

http://www.w3.org/TR/CSS21/syndata.html#block

   # A block starts with a left curly brace ({) and ends with the
   # matching right curly brace (}). In between there may be any
   # tokens, except that parentheses (( )), brackets ([ ]) and
   # braces ({ }) must always occur in matching pairs and may be
   # nested. Single (') and double quotes (") must also occur in
   # matching pairs, and characters between them are parsed as a
   # string.

http://www.w3.org/TR/CSS21/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.

Neither of which includes selectors. Am I missing something?

~fantasai

Received on Thursday, 20 December 2007 21:34:27 UTC