The CSS2.1 specification is a revision of of CSS2 that corrects many errors and omissions in the CSS2 Recommendation. It has also dropped unimplemented features and introduced a handful of minor new ones.
There is an errata document for CSS2.1.
Last updated 2010-08-05 – fantasai
The following are known problems in the 23 April 2009 CSS2.1 Candidate Recommendation. Once resolved, any resulting changes or corrections will be added to the errata list.
TODO: Audit issues list and make sure each issue has tests in the test suite. Then institute policy that issues cannot be marked as closed until there is a test checked in for that issue.
- URL
- http://lists.w3.org/Archives/Public/www-style/2008Aug/0126.html
- Summary
- fixed background images not defined for paged media
- Proposal
- Add “In paged media where there is no viewport, a ‘fixed’ background is fixed with respect to the page box and is therefore replicated on every page.” (Copied from css3-background)
- Resolution
- Proposal accepted.
- Status
- Open. =Bert= Edit.
- Testcases
- background-attachment-010
- URL
- Summary
- @rules in unexpected contexts should parse as @rules.
- Old Resolution
- @rules inside declaration blocks are ignored if between declarations (i.e. at the beginning of a declaration before the property), invalid if within declarations.
- Proposal
- http://lists.w3.org/Archives/Public/www-style/2010Apr/0447.html changes a, b (optional), c (optional), and d.
- Resolution
- Bert's proposal accepted
- Status
- Open. =Bert= Edit.
- Testcases
- at-page-rule-001 and declarations-009
- URL
- http://lists.w3.org/Archives/Public/www-style/2008Sep/0216.html
- Summary
- URL grammar and comments
- Proposal
- No change. Comments are not allowed inside url(). Add a note to clarify.
- Resolution
- Proposal accepted.
- Proposed Note
- In Section 4.3.4 add the following paragraph (best place is probably after “Depending on the type of URI…”: “Since URIs may contain characters that would otherwise be used as delimiters in CSS, the entire URI value must be treated as a single unit by the tokenizer and normal tokenization behavior does not apply within a URI value. Therefore comments are not allowed within a URI value.”
- Status
- =Bert= Edit.
- Testcases
- uri-016
- URL
- http://lists.w3.org/Archives/Public/www-style/2008Nov/0298.html
- Summary
- Position of list-item marker in presence of floats, text-align
- Proposal
- Add “The position of the list-item marker adjacent to floats is undefined in CSS2.1.”
- Resolution
- Proposal accepted.
- Status
- Open. =Bert= Edit.
- Testcases
- n/a (undefined)
- URL
- http://lists.w3.org/Archives/Public/www-style/2009Apr/0325.html
- Summary
- font-family syntax ambiguous
- Proposal 1
- http://lists.w3.org/Archives/Public/www-style/2010Mar/0369.html
- Proposal 2
- http://lists.w3.org/Archives/Public/www-style/2010Mar/0395.html
- Testcases
- * http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15/font-family-invalid-characters-001.xht
IE8: Fails: # + /
FF3.6: Pass
O10.51: Fails: @ # * /
S4.0.5: Pass
-
IE8: Fail
FF3.6: Fail
O10.51: Fail
S4.0.5: Pass
-
IE8: Pass
FF3.6: Pass
O10.51: Fail - test{foo} accepted as font name
S4.0.5: Fail - matching pair of {} bug when } closes block
-
IE8: Fail - Matching pair of [] continues to ;
FF3.6: Fail - Matching pair of [] continues to ;
O10.51: Fail - Matching pair of [] continues to ;
S4.0.5: Fail - Matching pair of [] closes at first ; Does not respect matching pair of rule
-
IE8: Fail - matched double and single quotes treated as valid inside font names
FF3.6: Pass
O10.51: Fail - matched double and single quotes treated as valid inside font names
S4.0.5: Fail - matched double and single quotes treated as valid inside font names, and open quotes closed at first ; matching pair not respected
-
IE8: Fail - matched single quotes treated as valid inside font names
FF3.6: Pass
O10.51: Fail - matched single quotes treated as valid inside font names
S4.0.5: Fail - matched single quotes treated as valid inside font names, and open quotes closed at first ; matching pair not respected
-
All: Pass
-
IE8: Pass
FF3.6: Fail - 5testfoo, testfoo 5-0, 5foo, -5, -5bar, 5_0, -5testfoo, 1996
O10.51: Fail - 5testfoo, -5testfoo, 1996
S4.0.5: Fail - 5testfoo, testfoo 5-0, 5foo, -5, -5bar, 5_0, -5testfoo, 1996
- Resolution
- ident+ syntax (proposal 1) adopted
- Status
- Open. =Bert= Edit.
- Testcases
- font-family-valid-characters-* font-family-invalid-characters-*
- URL
- http://lists.w3.org/Archives/Public/www-style/2009Mar/0004.html (Issues 4 and 10)
- Summary
- Vertical alignment underdefined. Testcases in URL.
- Resolution
- State that behavior described in 4a is undefined. For 4b and 4c, drop item 4 from list and add parenthetical to item 3 saying that the strut is taken into consideration. Accept 10a. For 10b, add a note saying that baseline info is found in the font and this may be further explained in CSS3.
- Status
- Open. =Bert= Edit.
- Summary
- descendants misspelled as descendents in definition of 'hidden' for 'visibility' (section 11.2)
- Resolution
- Assumed editorial.
- Status
- Closed. (Subsumed by issue 126?)
- Testcases
- n/a (editorial)
- Summary
- Undefined keywords mentioned in font-family
- URL
- http://lists.w3.org/Archives/Public/www-style/2009Jun/0141.html
- Proposal
- Remove 'initial' and 'default' from example list, remove 'e.g.' to make it normative, and add a sentence that says ”'initial' and 'default' are reserved as keywords for future use and must be quoted when used as font names.”
- Status
- Closed.
- Testcase
- font-family-rule-010 and font-family-rule-011
- URL
- http://lists.w3.org/Archives/Public/www-style/2009Sep/0126.html #4
- Summary
- clarify terms like “ancestor box”, whether referring to formatting structure or document tree. Spec contains only 3 instances of ancestor box. They are all in section 10.1.
- Resolution
- Agreed this is ambiguous
- Status
- Open. =Bert= Propose text.
- URL
- http://lists.w3.org/Archives/Public/public-css-testsuite/2010Jan/0030.html
- Summary
- Clarify which box of a replaced element is vertical-aligned
- Testcase
- http://www.w3.org/Style/CSS/Test/CSS2.1/20100127/html4/c44-ln-box-002.htm
- Testcase
- data:text/html;charset=utf-8,%3C!DOCTYPE%20html%3E%0D%0A%3Cp%20style%3D%22border%3A%201px%20solid%20gray%3B%22%3E%3Cspan%20style%3D%22background%3A%20silver%3B%22%3EXx-%20%3Cimg%20src%3D%22http%3A%2F%2Ftest.csswg.org%2Fsource%2Fapproved%2Fsupport%2Fsquare-purple.png%22%20style%3D%22vertical-align%3A%20middle%3B%20margin-top%3A%20100px%3B%20border%3A%20solid%2010px%20aqua%3B%20border-bottom-width%3A%2040px%3B%22%3E%20-xX_
- Proposal
- “In the following definitions, for replaced, inline-block, and inline-table elements, the box used for alignment is the margin box. For inline non-replaced elements, the box used for alignment is undefined.”
- Second proposal
- http://lists.w3.org/Archives/Public/www-style/2010Jun/0570.html
- Resolution
- Second proposal accepted.
- Status
- Open. =Bert= Edit.
- Testcases
- vertical-align-boxes-001
- URL
- http://www.w3.org/TR/2010/WD-html-bidi-20100304/#lists
- Summary
- The side of a list bullet should depend on the directionality of its parent, not the list-item itself.
- Resolved
- No change to CSS2.1. Will accept a note showing alternate way to achieve this effect. Possibly address in CSS3.
- Status
- Closed.
- Testcase
- list-bidi-000
- Summary
- Normative statement about OOF elements and break opportunities should not be in note
- Proposal
- Replace sentence “A float should not introduce a line break opportunity.” with “Floated and absolutely-positioned elements do not introduce a line breaking opportunity.” from the note below below it
- Resolution
- Assumed editorial.
- Status
- Open. =Bert= Edit.
- Testcases
- n/a (editorial)
- Summary
- Unclear that pseudo-elements are considered a subclass of elements.
- URI
- http://lists.w3.org/Archives/Public/www-style/2010Jul/0438.html
- Proposal
- Add “Pseudo-elements behave just like real elements in CSS with the exceptions described below and _elsewhere_<link to section 12.1>.” to 5.12
- Resolution
- Proposal accepted.
- Status
- Open. =Bert= Edit.
- Testcases
- n/a (editorial)
- Summary
- Add note to 6.2 clarifying that inheritance operates on the element tree and does not get intercepted by anonymous boxes.
- URI
- None
- Resolution
- Assumed editorial. Needs tests, though.
- Status
- Open. =Bert= Edit. =fantasai= tests
- Summary
- Grammar and prose disagree on whether identifiers can include NBSP
- URI
- http://lists.w3.org/Archives/Public/www-style/2010Feb/0156.html
- Notes
- Opera, and Konqueror allow nbsp in identifiers; Firefox does not
- Testcase
- data:text/xml;base64,PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ%2BDQo8c3R5bGU%2BDQogICYjeDcwOyB7IGNvbG9yOiBncmVlbjsgfQ0KICAudGVzdCB7IGNvbG9yOiByZWQ7IH0NCiAgLnRlc3QmI3hBMDtzZW50ZW5jZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9DQo8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk%2BDQo8cCBjbGFzcz0idGVzdCYjeEEwO3NlbnRlbmNlIj5UaGlzIHNlbnRlbmNlIG11c3QgYmUgZ3JlZW4uIElzIGl0IHVuZGVybGluZWQ%2FPC9wPg0KPC9ib2R5Pg0KPC9odG1sPg%3D%3D
- Resolution
- Identifiers can contain nbsp. Update spec to include nbsp and exclude control characters adjacent to it.
- Status
- Open. =Bert= Edit.
- URL
- http://lists.w3.org/Archives/Public/www-style/2007Jul/0097.html
- Summary
- @charset rule prose in 4.4 requires double-quoted string (immediately followed by semicolon), but grammar allows double- or single-quoted string. Grammar is noted to be more lax than prose, so this may be ok.
- Resolution
- No change.
- Status
- Closed.
- Testcase
- at-charset-quotes-001.xht
- URL
- http://lists.w3.org/Archives/Public/www-style/2007Oct/0201.html
- Summary
- Specify image pixel mapping to CSS lengths.
- Proposal
- Append “For raster images without reliable resolution information, a size of 1 px unit per image source pixel must be assumed.” to definition of “intrinsic dimensions”.
- Resolution
- Proposal accepted.
- Status
- Closed.
- Testcases
- assumed throughout testsuite
- URL
- http://lists.w3.org/Archives/Public/www-style/2008Jan/0300.html
- Summary
- First paragraph of 10.3.8 confusing
- Proposal
- Replace with “In this case, Section 10.3.7 applies up through and including the constraint equation, but the rest of section 10.3.7 is replaced by the following rules:”
- Resolution
- Assumed editorial.
- Status
- Closed.
- Testcases
- n/a (editorial)
- URL
- http://lists.w3.org/Archives/Public/www-style/2008Mar/0296.html
- Summary
- Pixel values should be normatively related to device pixels
- Proposal
- Add “It is recommended that the pixel unit refer to the whole number of device pixels that best approximates the reference pixel.” to px definition
- Resolution
- Proposal accepted.
- Status
- Closed.
- Testcases
- n/a (see issue 149)
- URL
- http://lists.w3.org/Archives/Public/www-style/2008Jul/0522.html
- Summary
- Section 9.2.2 says: “Several values of the 'display' property make an element inline: 'inline', 'inline-table', and 'run-in' (part of the time; see run-in boxes).” Seems to be missing 'inline-block'.
- Proposal
- Add inline-block
- Resolution
- Proposal accepted.
- Status
- Closed.
- Testcases
- n/a (editorial)
- URL
- http://lists.w3.org/Archives/Public/www-style/2008Jul/0473.html
- Summary
- Prose and token definition disagree on whether escapes may occur in comments
- Proposal
- In 4.1.3 prepend “Except within CSS comments” to the sentence “Any character (except a hexadecimal digit) can be escaped with a backslash to remove its special meaning.”
- Resolution
- Accepted proposal to update prose to match tokenization.
- Status
- Closed.
- Testcase
- escapes-006
- URL
- Summary
- Bullet points in 8.3.1 about 'overflow' not 'visible' should mention that block formatting contexts, in general, do not collapse margins with their children.
- Proposal
- In 8.3.1 change “Vertical margins of elements with 'overflow' other than 'visible'” to “Vertical margins of elements that establish new block formatting contexts (such as floats and elements with 'overflow' other than 'visible')”
- Resolution
- Proposal accepted.
- Status
- Closed.
- URL
- http://lists.w3.org/Archives/Public/www-style/2008Sep/0229.html
- Summary
- Clarify rules wrt content outside the page box
- Proposal
- When formatting content in the page model, some content may end up outside the *current* page box. For example, an element whose 'white-space' property has the value 'pre' may generate a box that is wider than the page box. *As another example,* when boxes are positioned absolutely *or relatively*, they may end up in “inconvenient” locations. For example, images may be placed on the edge of the page box or 100,000 meters below the page box.
- Resolution
- Proposal accepted.
- Status
- Closed.
- Testcases
- n/a (editorial)
- URL
- http://lists.w3.org/Archives/Public/www-style/2007Oct/0150.html
- Summary
- :before / :after description implies that :before:first-line is valid
- Proposal
- Replace “combined with” with “applied to an element having content generated using” and “including the inserted text” with “including the generated content”.
- Resolution
- Assumed editorial.
- Status
- Closed.
- Testcases
- n/a (editorial)
- URL
- http://www.w3.org/mid/495A4E7E.10305@gmail.com
- Summary
- Appendix G says: 'The two occurrences of “\377”…' but there is only one.
- Proposal
- Change this sentence and the next to singular.
- Resolution
- Assumed editorial
- Status
- Closed.
- URL
- http://lists.w3.org/Archives/Public/www-style/2009Feb/0126.html
- Summary
- Parsing of @import after garbage
- Proposal
- Only ignore @import if it follows a {non-@}-rule or a known @-rule that it is not allowed to follow.
- Resolution
- Replace “valid statement” with “non-ignored statement” in section 4.1.5
- Status
- Closed.
- Testcases
- at-import-009 at-import-010 at-import-011