Fri, 03 Sep 2010 00:33:34 +0000
Add CR exit criteria
fantasai@1564 | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> |
fantasai@1564 | 2 | <html lang="en"> |
fantasai@1564 | 3 | <head> |
fantasai@1564 | 4 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
fantasai@1617 | 5 | <title>CSS Styling Attributes Level 1</title> |
fantasai@1620 | 6 | <link rel="stylesheet" type="text/css" href="default.css"> |
fantasai@1563 | 7 | |
fantasai@1564 | 8 | <link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED"> |
fantasai@1563 | 9 | </head> |
fantasai@1563 | 10 | |
fantasai@1564 | 11 | <div class="head"> |
fantasai@1564 | 12 | <!--logo--> |
fantasai@1563 | 13 | |
fantasai@1617 | 14 | <h1>CSS Styling Attributes Level 1</h1> |
fantasai@1563 | 15 | |
fantasai@1564 | 16 | <h2 class="no-num no-toc">[LONGSTATUS] [DATE]</h2> |
fantasai@1564 | 17 | <dl> |
fantasai@1564 | 18 | <dt>This version:</dt> |
tantek@1911 | 19 | <!-- <dd><dd><a href="http://www.w3.org/TR/[YEAR]/WD-css-style-attr-[CDATE]/">http://www.w3.org/TR/[YEAR]/WD-css-style-attr-[CDATE]/</a></dd> --> |
tantek@1911 | 20 | <dd><a href="http://dev.w3.org/csswg/css-style-attr/">http://dev.w3.org/csswg/css-style-attr/</a> |
tantek@1911 | 21 | </dd> |
fantasai@1564 | 22 | <dt>Latest version: |
fantasai@1564 | 23 | <dd><a href="http://www.w3.org/TR/css-style-attr">http://www.w3.org/TR/css-style-attr</a> |
fantasai@1564 | 24 | <dt>Previous version: |
tantek@1911 | 25 | <dd><a href="http://www.w3.org/TR/2010/WD-css-style-attr-20100121/">http://www.w3.org/TR/2010/WD-css-style-attr-20100121/</a> |
tantek@1911 | 26 | <dt>Editors: |
tantek@1911 | 27 | <dd class="vcard"><a lang="tr" class="fn url" href="http://tantek.com/">Tantek Çelik</a> |
tantek@1911 | 28 | (<span class="company role url">invited expert</span>, |
tantek@1911 | 29 | and before at <a href="http://www.microsoft.com/">Microsoft Corporation</a>) |
tantek@1911 | 30 | <<a class="email" |
tantek@1911 | 31 | href="mailto:tantek@cs.stanford.edu">tantek@cs.stanford.edu</a>> |
tantek@1911 | 32 | </dd> |
tantek@1911 | 33 | <dd class="vcard"><a class="fn n url" href="http://fantasai.inkedblade.net/contact"><span class="given-name">Elika</span> <abbr class="additional-name">J.</abbr> <span class="family-name">Etemad</span></a> (<span class="company role">invited expert</span>) |
tantek@1911 | 34 | </dd> |
fantasai@1564 | 35 | <dt>Previous Editors: |
tantek@1911 | 36 | <dd class="vcard"><a class="fn url" href="http://www.w3.org/People/Bos/">Bert Bos</a> (<a class="org" href="http://www.w3.org/">W3C</a>), <<a class="email" href="mailto:bert@w3.org">bert@w3.org</a>> |
tantek@1911 | 37 | </dd> |
tantek@1911 | 38 | <dd class="vcard"><span class="fn">Marc Attinasi</span> (<span class="org">AOL/Netscape</span>), <<a class="email" href="mailto:attinasi@netscape.com">attinasi@netscape.com</a>> |
tantek@1911 | 39 | </dd> |
fantasai@1564 | 40 | </dl> |
fantasai@1564 | 41 | <!--begin-copyright--> |
fantasai@1564 | 42 | <p>[Here will be included the file "../copyright.inc"]</p> |
fantasai@1564 | 43 | <!--end-copyright--> |
fantasai@1563 | 44 | |
fantasai@1563 | 45 | <hr title="Separator for header"> |
fantasai@1563 | 46 | </div> |
fantasai@1563 | 47 | |
fantasai@1563 | 48 | <h2 class="no-num no-toc" id="abstract">Abstract</h2> |
fantasai@1563 | 49 | |
tantek@1911 | 50 | <p>Markup languages such as HTML [[HTML401]] and SVG [[SVG11]] provide a styling |
fantasai@1655 | 51 | attribute on most elements, to hold inline style information that applies |
fantasai@1624 | 52 | to those elements. One of the possible style sheet languages is CSS. This |
fantasai@1624 | 53 | draft describes the syntax and interpretation of the CSS fragment that can |
fantasai@1624 | 54 | be used in such styling attributes. |
fantasai@1563 | 55 | |
fantasai@1563 | 56 | <h2 class="no-num no-toc" id="status">Status of this document</h2> |
fantasai@1564 | 57 | <!--status--> |
fantasai@1953 | 58 | <p>For this specification to exit the CR stage, the following conditions |
fantasai@1953 | 59 | shall be met: |
fantasai@1953 | 60 | |
fantasai@1953 | 61 | <ol> |
fantasai@1953 | 62 | <li> |
fantasai@1953 | 63 | <p>There must be at least two interoperable implementations. For the |
fantasai@1953 | 64 | purposes of this criterion, we define the following terms:</p> |
fantasai@1953 | 65 | |
fantasai@1953 | 66 | <dl> |
fantasai@1953 | 67 | <dt>interoperable |
fantasai@1953 | 68 | |
fantasai@1953 | 69 | <dd> |
fantasai@1953 | 70 | <p>passing the respective test case(s) in the <a |
fantasai@1953 | 71 | href="http://www.w3.org/Style/CSS/Test/">CSS test suite</a>, or, if |
fantasai@1953 | 72 | the implementation is not a Web browser, an equivalent test. Every |
fantasai@1953 | 73 | relevant test in the test suite should have an equivalent test created |
fantasai@1953 | 74 | if such a user agent (UA) is to be used to claim interoperability. In |
fantasai@1953 | 75 | addition if such a UA is to be used to claim interoperability, then |
fantasai@1953 | 76 | there must one or more additional UAs which can also pass those |
fantasai@1953 | 77 | equivalent tests in the same way for the purpose of interoperability. |
fantasai@1953 | 78 | The equivalent tests must be made publicly available for the purposes |
fantasai@1953 | 79 | of peer review.</p> |
fantasai@1953 | 80 | |
fantasai@1953 | 81 | <dt>implementation |
fantasai@1953 | 82 | |
fantasai@1953 | 83 | <dd> |
fantasai@1953 | 84 | <p>a user agent which:</p> |
fantasai@1953 | 85 | |
fantasai@1953 | 86 | <ol> |
fantasai@1953 | 87 | <li>implements the specification. |
fantasai@1953 | 88 | |
fantasai@1953 | 89 | <li>is available (i.e. publicly downloadable or available through some |
fantasai@1953 | 90 | other public point of sale mechanism). This is the "show me" |
fantasai@1953 | 91 | requirement. |
fantasai@1953 | 92 | |
fantasai@1953 | 93 | <li>is shipped, or is a "nightly build" (i.e., a development version |
fantasai@1953 | 94 | for the next release), but is not experimental (i.e., a version |
fantasai@1953 | 95 | specifically designed to pass the test suite and not intended for |
fantasai@1953 | 96 | daily usage going forward). |
fantasai@1953 | 97 | </ol> |
fantasai@1953 | 98 | </dl> |
fantasai@1953 | 99 | |
fantasai@1953 | 100 | <li> |
fantasai@1953 | 101 | <p>A minimum of three months of the CR period must elapse. That |
fantasai@1953 | 102 | is, this specification will not exit CR before XXX INSERT DATE HERE. When the |
fantasai@1953 | 103 | specification exits CR, an implementation report will be published. At |
fantasai@1953 | 104 | this point, no such report exists.</p> |
fantasai@1953 | 105 | </ol> |
fantasai@1617 | 106 | |
fantasai@1617 | 107 | <p>A CSS Styling Attribute <a href="http://www.w3.org/Style/CSS/Test/">Test |
fantasai@1617 | 108 | Suite</a> will be developed during the Candidate Recommendation phase of |
fantasai@1617 | 109 | this CSS Styling Attribute specification. |
fantasai@1563 | 110 | |
fantasai@1564 | 111 | <h2 class="no-num no-toc" id="contents">Table of contents</h2> |
fantasai@1564 | 112 | <!--toc--> |
fantasai@1563 | 113 | |
fantasai@1564 | 114 | <h2 id="intro">Introduction</h2> |
fantasai@1563 | 115 | |
fantasai@1610 | 116 | <p>Some document formats have a <dfn>styling attribute</dfn> to permit |
fantasai@1610 | 117 | the author to directly apply style information to specific elements |
fantasai@1610 | 118 | in documents. If a document format defines a styling attribute and the |
fantasai@1624 | 119 | attribute accepts CSS as its value, then this specification defines that |
fantasai@1616 | 120 | <dfn>CSS styling attribute</dfn>’s syntax and interpretation. |
fantasai@1563 | 121 | |
fantasai@1564 | 122 | <div class="example"> |
fantasai@1564 | 123 | <p>The following example shows the use of the <code>style</code> attribute |
tantek@1911 | 124 | in HTML [[HTML401]]:</p> |
fantasai@1564 | 125 | <pre><p style="<em>color: #090; line-height: 1.2</em>">...</p></pre> |
fantasai@1564 | 126 | </div> |
fantasai@1563 | 127 | |
fantasai@1565 | 128 | <h2 id="conformance">Conformance</h2> |
fantasai@1565 | 129 | |
fantasai@1617 | 130 | <p>A document or implementation cannot conform to CSS Styling Attributes |
fantasai@1617 | 131 | Level 1 alone, but can claim conformance to CSS Styling Attributes Level 1 |
fantasai@1571 | 132 | if it satisfies the conformance requirements in this specification when |
fantasai@1610 | 133 | implementing CSS together with styling attribute handling as defined in a |
fantasai@1610 | 134 | document language that has CSS styling attributes.</p> |
fantasai@1571 | 135 | |
fantasai@1617 | 136 | <p>Conformance to CSS Styling Attributes Level 1 is defined for two |
fantasai@1610 | 137 | classes: |
fantasai@1571 | 138 | <dl> |
fantasai@1571 | 139 | <dt><dfn>document</dfn></dt> |
fantasai@1610 | 140 | <dd>A document represented in a document language that defines a styling |
fantasai@1571 | 141 | attribute for one or more of its elements. |
fantasai@1571 | 142 | <dt><dfn>interpreter</dfn></dt> |
fantasai@1571 | 143 | <dd>Someone or something that interprets the semantics of a document and |
fantasai@1571 | 144 | its associated style information. |
fantasai@1571 | 145 | (Most CSS <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">user |
fantasai@1571 | 146 | agents</a> fall under this category.)</dd> |
fantasai@1571 | 147 | </dl> |
fantasai@1571 | 148 | |
fantasai@1565 | 149 | <p>The conformance requirements are expressed with a combination of |
fantasai@1565 | 150 | descriptive assertions and RFC 2119 terminology. The key words "MUST", |
fantasai@1565 | 151 | "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", |
fantasai@1565 | 152 | "RECOMMENDED", "MAY", and "OPTIONAL" in the normative parts of this |
fantasai@1565 | 153 | document are to be interpreted as described in RFC 2119. |
fantasai@1565 | 154 | However, for readability, these words do not appear in all uppercase |
fantasai@1565 | 155 | letters in this specification. All of the text of this specification is |
fantasai@1565 | 156 | normative except sections explicitly marked as non-normative, examples, |
fantasai@1565 | 157 | and notes. [[!RFC2119]]</p> |
fantasai@1565 | 158 | |
fantasai@1565 | 159 | <p>Examples in this specification are introduced with the words "for example" |
fantasai@1565 | 160 | or are set apart from the normative text with <code>class="example"</code>, |
fantasai@1565 | 161 | like this: |
fantasai@1565 | 162 | |
fantasai@1565 | 163 | <div class="example"> |
fantasai@1565 | 164 | <p>This is an example of an informative example.</p> |
fantasai@1565 | 165 | </div> |
fantasai@1565 | 166 | |
fantasai@1565 | 167 | <p>Informative notes begin with the word "Note" and are set apart from the |
fantasai@1565 | 168 | normative text with <code>class="note"</code>, like this: |
fantasai@1565 | 169 | |
fantasai@1565 | 170 | <p class="note">Note, this is an informative note.</p> |
fantasai@1565 | 171 | |
fantasai@1610 | 172 | <h2 id="syntax">Syntax and Parsing</h2> |
fantasai@1610 | 173 | |
fantasai@1610 | 174 | <p>The value of the styling attribute must match the syntax of the contents of |
fantasai@1610 | 175 | a CSS <a href="http://www.w3.org/TR/CSS21/syndata.html#rule-sets">declaration |
fantasai@1915 | 176 | block</a> (excluding the delimiting braces), whose formal grammar is given |
fantasai@1915 | 177 | below in the terms and conventions of the |
fantasai@1616 | 178 | <a href="http://www.w3.org/TR/CSS21/syndata.html#syntax">CSS core grammar</a>: |
fantasai@1616 | 179 | |
fantasai@1616 | 180 | <pre> |
fantasai@1616 | 181 | declaration-list |
fantasai@1619 | 182 | : S* declaration? [ ';' S* declaration? ]* |
fantasai@1616 | 183 | ; |
fantasai@1616 | 184 | </pre> |
fantasai@1616 | 185 | |
fantasai@1616 | 186 | <p class="note">Note that following the CSS2.1 convention, comment tokens |
fantasai@1616 | 187 | are not shown in the rule above. |
fantasai@1616 | 188 | |
fantasai@1616 | 189 | <p>The interpreter must parse the styling attribute's value using the |
fantasai@1610 | 190 | same forward-compatible parsing rules that apply to parsing declaration block |
fantasai@1610 | 191 | contents in a normal CSS style sheet. See |
fantasai@1610 | 192 | <a href="http://www.w3.org/TR/CSS21/syndata.html">chapter 4 of the CSS2.1 |
fantasai@1616 | 193 | specification</a> for details. [[!CSS21]] |
fantasai@1610 | 194 | |
fantasai@1610 | 195 | <p class="note">Note that because there is no open brace delimiting the |
fantasai@1610 | 196 | declaration list in the CSS styling attribute syntax, a close brace |
fantasai@1610 | 197 | (<code>}</code>) in the styling attribute's value does not terminate the |
fantasai@1610 | 198 | style data: it is merely an invalid token.</p> |
fantasai@1610 | 199 | |
fantasai@1610 | 200 | <h2 id="interpret">Cascading and Interpretation</h2> |
fantasai@1610 | 201 | |
fantasai@1610 | 202 | <p>The declarations in a styling attribute apply to the element to which |
fantasai@1656 | 203 | the attribute belongs. In the cascade, these declarations are considered |
fantasai@1656 | 204 | to have author origin and a specificity higher than any selector. |
fantasai@1656 | 205 | CSS2.1 <a href="http://www.w3.org/TR/CSS21/cascade.html#specificity">defines</a> |
fantasai@1610 | 206 | how style sheets and styling attributes are cascaded together. [[!CSS21]] |
fantasai@1610 | 207 | Relative URLs in the style data must be resolved relative to the styling |
fantasai@1610 | 208 | attribute's element (or to the document if per-element resolution is not |
fantasai@1612 | 209 | defined) when the attribute's value is parsed<!-- so dynamic changes to |
fantasai@1612 | 210 | the base URL don't affect the CSS ~Hixie -->. |
fantasai@1610 | 211 | |
fantasai@1610 | 212 | <p>Aside from the differences in cascading, the declarations in a styling |
fantasai@1610 | 213 | attribute must be interpreted exactly as if they were given in a CSS |
fantasai@1610 | 214 | style rule that applies to the element. |
fantasai@1610 | 215 | |
fantasai@1610 | 216 | <p>The CSS Working Group strongly recommends that document languages do |
fantasai@1610 | 217 | not allow multiple CSS styling attributes on a single element. If a document |
fantasai@1610 | 218 | language allows multiple CSS styling attributes, each must be parsed |
fantasai@1610 | 219 | independently and treated as a separate style rule, the ordering of which |
fantasai@1610 | 220 | should be defined by the document language, else is undefined. |
fantasai@1610 | 221 | |
fantasai@1564 | 222 | <h2 id="ack">Acknowledgments</h2> |
fantasai@1563 | 223 | |
tantek@1912 | 224 | <p>Thanks to feedback from <span class="vcard"><span class="fn">Daniel Glazman</span></span>, <span class="vcard"><span class="fn">Ian Hickson</span></span>, <span class="vcard"><span class="fn n"><span class="given-name">Eric</span> <abbr class="additional-name">A.</abbr> <span class="family-name">Meyer</span></span></span>, |
tantek@1912 | 225 | <span class="vcard"><span class="fn">Björn Höhrmann</span></span>. |
tantek@1912 | 226 | </p> |
fantasai@1563 | 227 | |
fantasai@1564 | 228 | <h2 id="references">References |
fantasai@1563 | 229 | |
fantasai@1564 | 230 | <h3 class="no-num" id="normative-references">Normative references</h3> |
fantasai@1563 | 231 | |
fantasai@1564 | 232 | <!--begin-normative--> |
fantasai@1564 | 233 | <p>[Here will be inserted the file "normative.inc"]</p> |
fantasai@1564 | 234 | <!--end-normative--> |
fantasai@1563 | 235 | |
fantasai@1564 | 236 | <h3 class="no-num" id="informative-references">Informative references</h3> |
fantasai@1563 | 237 | |
fantasai@1564 | 238 | <!--begin-informative--> |
fantasai@1564 | 239 | <p>[Here will be inserted the file "informative.inc"]</p> |
fantasai@1564 | 240 | <!--end-informative--> |
fantasai@1563 | 241 | |
fantasai@1563 | 242 | </body> |
fantasai@1563 | 243 | </html> |
fantasai@1563 | 244 | <!-- Keep this comment at the end of the file |
fantasai@1563 | 245 | Local variables: |
fantasai@1563 | 246 | mode: sgml |
fantasai@1563 | 247 | sgml-declaration:"~/SGML/HTML4.decl" |
fantasai@1563 | 248 | sgml-default-doctype-name:"html" |
fantasai@1563 | 249 | sgml-minimize-attributes:t |
fantasai@1563 | 250 | sgml-nofill-elements:("pre" "style" "br") |
fantasai@1563 | 251 | End: |
fantasai@1563 | 252 | --> |