A number of issues have been raised concerning :first-line and
:first-letter.
The current text still contains only some examples rather than a
specification.
It isn't clear how fictional the tag rewriting is, and different user
agents have taken different interpretations of this. For example, this
affects interaction with floats and inline blocks and whether they
inherit from the first line/letter.
When there's no subset–superset relation between first line/letter and
source-document elements that overlap them, then problems arise in
the interpretation of zindex.html (e.g. if the overlapping element is
relatively positioned and has a non-zero 'z-index' value; and in fact
the situation makes it unclear whether "elements" in zindex.html really
do form a tree) and with counters (if the overlapping element increments
a counter then does the counter get incremented twice due to tag
rewriting?).
Although I haven't checked, there may be additional issues when the
"first letter" span (which can include punctuation) doesn't fit on a
single line, because it breaks the usual assumption that first-letter is
a subset of first-line.
:first-line and :first-letter introduce problems as to what the parent or
children or siblings of a (pseudo-)element are, especially considering
the sentence "Pseudo-elements behave just like real elements in CSS
[except ...]".
The "similar to a floated element" for :first-letter is unclear: for
example, it's not clear whether this float-like thing is allowed to
separate from the rest of the line like normal floats can, or whether
there are any other differences from normal floats (e.g. we'd certainly
prefer that :first-letter floats to inherit from :first-line, whereas
we'd presumably prefer that the styling of a normal float not at the
beginning of the line not depend on whether its reference point happens
to be on the first line).
I haven't searched the list; the above are just things that spring to
mind.
It's not hard to find implementation differences concerning first
line/letter.
It looks to me as if sorting out these issues will take a long time for a
feature that seems rarely used on the web, so I'll make a bold proposal:
In order to speed CSS2.1's path to REC, I propose that we defer these
issues to css3, and drop :first-line and :first-letter from CSS2.1.
pjrm.