- From: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
- Date: Sun, 20 Feb 2011 18:14:40 +0100
- To: www-style@w3.org
This is a comment on:
http://www.w3.org/Style/css2-updates/css2/syndata.html#characters (The
deadline for CSS21 last call comments is over, but nevertheless ...) It
is only a editorial comment. I first outline the (small) changes.
Thereafter I justify.
CHANGES IN '4.1.3 Characters and case':
Add these two sentences in the beginning of 3rd list item:
"A CSS backslash escape is an alternative way to represent a
character. For some characters, the use of a backslash escape
cancels an effect that the character otherwise has. CSS has
two types of backslash escapes: plain backslash escapes and
hexadecimal backslash escapes."
For the sentence (currently the beginning of 3rd list item):
"In CSS 2.1, a backslash (\) character can indicate one of three
types of character escape."
Replace "backlash (\) character" with "backslash (\) escape"
and delete "types of" and add "use cases" as last words:
"In CSS 2.1, a backslash (\) escape can indicate one of three
character escape use cases."
For the sentence:
"First, inside a string, a backslash followed by a newline is
ignored (i.e., the string is deemed not to contain either the
backslash or the newline)."
Insert the wording "backslash newline escape" etc:
"First, inside a string, a plain backslash newline escape (backslash
followed by newline) cancels the meaning of the newline so that
the string is deemed to not contain whether backslash or newline."
For the sentence:
"Second, it cancels the meaning of special CSS characters."
Replace "it cancels" with "using plain backslash escapes to cancel":
"Second, using plain backslash escapes to cancel the meaning of
special
CSS characters."
Add note about what "special CSS characters" means:
"Special characters include all characters that have syntactic
meaning in CSS: quotes, combinators, characters that have special
meaning inside CSS indentifiers and characters that cannot appear
unescaped inside CSS identifiers."
[Are there other special characters?]
Add, at the end of the the paragraph which begins "Second, it
cancels",
the following note:
"Note that even hexadecimal backslash escapes (see next paragraph)
cancel the meaning of special CSS characters."
Add, att the end of the paragraph which begins "Third, backslash
escapes
allow authors to refer to characters they cannot easily put in a
document", the following note:
"Note that even plain backslash escapes can sometimes be used to
escape charactars which the document somehow prevents from being
typed directly. In the following example from inside a 'style'
element in a HTML document, the "/" is escaped to prevent the
'style' element from being prematurely ended:
<style type="text/css">
div::before { content: "<style><\/style>"; }
</style>
JUSTIFICATION:
* The above changes are meant to
a) make it clearer that each of the 3 types of backslash
escapes really aren't types but use cases.
b) that both 'plain backslash escapes' and 'hexadecimal
backslash escapes' are "alternative way to represent
a character".
c) that both plain and hexadecimal backslash escapes thus can
be used to cancel meaning, and that both method can be ued
to insert characters that are difficult to insert.
d) explain what a "special CSS character" is.
With regard to the explain what "special CSS character" is, then Webkit
already has a bug in that it treats \*{} identical to *{}. As well as
\*|*{} identical to *|*{}. See my test case message about this. [1]
When thinking about it, I found that Webkit's interpretation isn't
taken 100% out of the air - it makes some sence, even if it si wrong -
see [1].
CSS21 says that the "\" character "cancels the meaning of special CSS
characters". The wording "meaning of special CSS characters" is not
very clear. For example, is the "-" character, is not a "special CSS
character"? At least it is not a combinator. The only way it is
"special" is that it is not permitted as the first character in what
CSS3 refers to as "type selectors". THus: -{/*unpermitted*/} But
\-{/*unpermitted*/}. The proposed changes above meaks clearer what a
'special CSS character' is.
[1]
http://lists.w3.org/Archives/Public/public-css-testsuite/2011Feb/0089
--
leif halvard silli
Received on Sunday, 20 February 2011 17:15:15 UTC