[CSS21] pseudo-elements and generated content - editorial issues

There appear to be some areas of the spec in which the use of the term
"elements" should include pseudo-elements and generated content.


Issue 1.

In 3.2 (UA Conformance) it says:[1]

   # 4. For each element in a document tree, it must assign a value for
   # every property according to the property's definition and the rules
   # of cascading and inheritance.

and in 6.1 (Specified, computed, and actual values) it says:[2]

   # Once a user agent has parsed a document and constructed a document
   # tree, it must assign, for every element in the tree, a value to
   # every property that applies to the target media type.

Should pseudo-elements not be mentioned in these sections?


Note that in 5.10 (Pseudo-elements and pseudo-classes) it says:[3]

   # In CSS 2.1, style is normally attached to an element based on its
   # position in the document tree. [...]
   #
   # CSS introduces the concepts of pseudo-elements and pseudo-classes to
   # permit formatting based on information that lies outside the
   # document tree.

whilst in 5.12.1 (The :first-line pseudo-element) it says:[4]

   # The following properties apply to a :first-line pseudo-element:
   # [...]. UAs may apply other properties as well.

and in 5.12.2 (The :first-letter pseudo-element) it says:[5]

   # These are the properties that apply to :first-letter
   # pseudo-elements: [...]. UAs may apply other properties as well.

Certainly, all property definitions and surrounding description uses
"elements" when pseudo-elements and generated content could often
(depending on the property) equally be the subject.  Perhaps this could
be made explicit?


Issue 2.

In 9.2.1 (Block-level elements and block boxes) it says:[6]

   # Block-level elements (...) generate a principal block box that
   # contains either only block boxes or only inline boxes. The
   # principal block box establishes the containing block for descendant
   # boxes and generated content and is also the box involved in any
   # positioning scheme. Principal block boxes participate in a block
   # formatting context.

(which fantasai suggests replacing with

   | Block-level elements generate a principal block-level box that
   | contains descendant boxes and generated content and is also
   | the box involved in any positioning scheme.
   |
   | [...]
   |
   | Except for 'table' elements, which are described in a later chapter,
   | and replaced elements, the principal block-level box is also a
   | <dfn>block container box</dfn>.[...]

in [7]).

Either way, is some generated content itself capable of generating a
principle block box, depending on its display type?  My impression is
that it isn't capable of doing so, but note that in 12.1 (The :before
and :after pseudo-elements) it says:[8]

   # The :before and :after pseudo-elements elements interact with other
   # boxes, such as run-in boxes, as if they were real elements inserted
  # just inside their associated element.

(Side note: there's a glitch there with "pseudo-elements elements", right?)

If generated content is set to be block-level, is the corresponding box
a principal block(-level) box or an anonymous block(-level) box?


[1] http://www.w3.org/TR/CSS2/conform.html#conformance
[2] http://www.w3.org/TR/CSS2/cascade.html#value-stages
[3] http://www.w3.org/TR/CSS2/selector.html#pseudo-elements
[4] http://www.w3.org/TR/CSS2/selector.html#first-line-pseudo
[5] http://www.w3.org/TR/CSS2/selector.html#first-letter
[6] http://www.w3.org/TR/CSS2/visuren.html#block-boxes
[7] http://lists.w3.org/Archives/Public/www-style/2010Jul/0383.html
[8] http://www.w3.org/TR/CSS2/generate.html#before-after-content

Cheers,
Anton Prowse
http://dev.moonhenge.net

Received on Sunday, 25 July 2010 12:26:41 UTC