@@ -1063,6 +1063,133 @@ <h3>Historical notes</h3>
10631063 < li > < em > -wap-</ em > (The WAP Forum)</ li >
10641064</ ul >
10651065
1066+ < h2 id ="conf "> Conformance</ h2 >
1067+
1068+ < p > The key words < dfn > "MUST"</ dfn > ,
1069+ < dfn > "MUST NOT"</ dfn > , < dfn > "REQUIRED"</ dfn > , < dfn > "SHALL"</ dfn > , < dfn
1070+ > "SHALL NOT"</ dfn > , < dfn > "SHOULD"</ dfn > , < dfn > "SHOULD NOT"</ dfn > ,
1071+ < dfn > "RECOMMENDED"</ dfn > , < dfn > "MAY"</ dfn > , and < dfn > "OPTIONAL"</ dfn > in this document
1072+ are to be interpreted as described in RFC 2119 (see [[!RFC2119]]).
1073+ However, for readability, these words do not appear in all uppercase
1074+ letters in this specification.</ p >
1075+
1076+ < h3 > Definitions</ h3 >
1077+
1078+ < p class ="issue "> [Some of these need heavy rewriting given
1079+ modularization. I've avoided substituting CSS3 where it's clearly not
1080+ going to be appropriate.]</ p >
1081+
1082+ < p > This module and other CSS3 modules rely on the following
1083+ definitions:</ p >
1084+
1085+ < dl >
1086+
1087+ < dt > < dfn > Style sheet</ dfn >
1088+
1089+ < dd > A set of statements that specify presentation of a document.
1090+
1091+ < p > Style sheets may have three different origins: < a
1092+ href ="#author "> author</ a > , < a href ="#user "> user</ a > , and < a
1093+ href ="#user-agent "> user agent</ a > . The interaction of these sources is
1094+ described in the cascading and
1095+ inheritance module [[!CSS3CASCADE]].</ p >
1096+
1097+ < dt > < dfn > Valid style sheet</ dfn >
1098+
1099+ < dd > The validity of a style sheet depends on the level of CSS
1100+ used for the style sheet. All valid CSS1 style sheets are valid CSS 2.1
1101+ style sheets, but some changes from CSS1 mean that
1102+ a few CSS1 style sheets will have slightly different semantics in
1103+ CSS 2.1. Some features in CSS2 are not part of CSS 2.1, so not all CSS2
1104+ style sheets are valid CSS 2.1 style sheets.
1105+
1106+ < P > A valid CSS 2.1 style sheet must be written according to the < a
1107+ href ="#detailed-grammar "> grammar of CSS 2.1</ a > . Furthermore, it must contain
1108+ only at-rules, property names, and property values defined in this
1109+ specification. An < dfn > illegal</ dfn > (invalid) at-rule,
1110+ property name, or property value is one that is not valid.
1111+
1112+ < dt > < dfn > Ignore</ dfn >
1113+
1114+ < dd > This term has three slightly different meanings in this specification.
1115+ First, a CSS parser must follow certain rules when it discovers unknown
1116+ or illegal syntax in a style sheet. The parser must then ignore certain
1117+ parts of the style sheets. The exact rules for what parts must be
1118+ ignored is given in these section: < a href ="#declaration "> Declarations
1119+ and properties</ a > , < a href ="#error-handling "> Rules for handling parsing
1120+ errors</ a > , < a href ="#unsupportedvalues "> Unsupported Values</ a > , or may be
1121+ explained in the text where the term "ignore" appears. Second, a user
1122+ agent may (and, in some cases must) disregard certain properties or
1123+ values in the style sheet even if the syntax is legal. For example,
1124+ table-column-group elements cannot have borders around them, so the
1125+ border properties must be ignored.
1126+
1127+ < dt > < dfn > Author</ dfn >
1128+ < dd > An author is a person who writes
1129+ documents and associated style sheets. An
1130+ < dfn > authoring tool</ dfn >
1131+ generates documents and associated style sheets.</ dd >
1132+
1133+ < dt > < dfn > User</ dfn >
1134+ < dd > A user is a person who interacts with a user agent to view, hear, or
1135+ otherwise use a document and its associated style sheet. The user
1136+ may provide a personal style sheet that encodes personal
1137+ preferences.
1138+ </ dd >
1139+
1140+ < dt > < dfn > User agent (UA)</ dfn >
1141+ < dd > A < dfn title ="user agent|UA "> user
1142+ agent</ dfn > is any program that interprets a document written in
1143+ the document language and applies associated style sheets according
1144+ to the terms of this specification. A user agent may display a
1145+ document, read it aloud, cause it to be printed, convert it
1146+ to another format, etc.</ dd >
1147+
1148+ < DD > An HTML user agent is one that supports the HTML 2.x, HTML 3.x, or
1149+ HTML 4.x specifications. A user agent that supports XHTML [[XHTML10]],
1150+ but not HTML (as listed in the previous sentence) is not considered an
1151+ HTML user agent for the purpose of conformance with this
1152+ specification.
1153+
1154+ </ dl >
1155+
1156+
1157+ < h3 id ="conf-UA "> User agent conformance</ h3 >
1158+
1159+ < p class ="issue "> [This section should contain rules for user style sheet
1160+ conformance, author style sheet disabling, handling parsing errors,
1161+ etc., from the CSS2.1 specification.]</ p >
1162+
1163+
1164+ < h4 > Error conditions</ h4 >
1165+
1166+ < P > In general, this document does not specify error handling behavior
1167+ for user agents (e.g., how they behave when they cannot find
1168+ a resource designated by a URI).
1169+
1170+ < P > However, user agents must observe the < a
1171+ href ="#error-handling "> rules for handling parsing errors</ a > .
1172+
1173+ < P > Since user agents may vary in how they handle error conditions,
1174+ authors and users must not rely on specific error recovery behavior.
1175+
1176+
1177+ < h3 id ="conf-SS "> Style sheet conformance</ h3 >
1178+
1179+ < h3 id ="conf-AT "> Authoring tool conformance</ h3 >
1180+
1181+ < p > Authoring tools may use a modified form of the < a
1182+ href ="#error-handling "> rules for handling parsing errors</ a > : when
1183+ those rules require that user agents < em > ignore</ em > something,
1184+ authoring tools are not required to ignore it. However, authoring tools
1185+ should not present such parts of the style sheet to the user in the same
1186+ way as valid parts of the style sheet. In so far as authoring tools
1187+ display the application of a style sheet to a document, they are required
1188+ to meet the < a href ="#conf-UA "> user agent conformance</ a > rules.</ p >
1189+
1190+ < p class ="issue "> [informative reference to canonicalization proposal?]</ p >
1191+
1192+
10661193< h2 id ="property-defs "> Format of property definitions in other modules</ h2 >
10671194
10681195< p > Each CSS property definition begins with a summary of key
0 commit comments