[css-syntax] Add missing "anything else" case in Check if three code points would start an identifier.

Wed, 14 May 2014 11:43:07 +0100

author
Simon Sapin <simon.sapin@exyr.org>
date
Wed, 14 May 2014 11:43:07 +0100
changeset 13933
334d9788b536
parent 13932
4d2691cd9355
child 13934
4dc1c77b717a

[css-syntax] Add missing "anything else" case in Check if three code points would start an identifier.

css-syntax/Overview.bs file | annotate | diff | comparison | revisions
css-syntax/Overview.html file | annotate | diff | comparison | revisions
     1.1 --- a/css-syntax/Overview.bs	Wed May 14 09:00:41 2014 +0900
     1.2 +++ b/css-syntax/Overview.bs	Wed May 14 11:43:07 2014 +0100
     1.3 @@ -1531,6 +1531,10 @@
     1.4  			If the first and second <a>code points</a> <a>are a valid escape</a>,
     1.5  			return true.
     1.6  			Otherwise, return false.
     1.7 +
     1.8 +		<dt>anything else
     1.9 +		<dd>
    1.10 +			Return false.
    1.11  	</dl>
    1.12  
    1.13  <h4 id="starts-with-a-number">
    1.14 @@ -3438,6 +3442,7 @@
    1.15  		Johannes Koch,
    1.16  		呂康豪 (Kang-Hao Lu),
    1.17  		Marc O'Morain,
    1.18 +		Raffaello Giulietti,
    1.19  		Simon Pieter,
    1.20  		and Zack Weinberg.
    1.21  
     2.1 --- a/css-syntax/Overview.html	Wed May 14 09:00:41 2014 +0900
     2.2 +++ b/css-syntax/Overview.html	Wed May 14 11:43:07 2014 +0100
     2.3 @@ -58,7 +58,7 @@
     2.4  </p>
     2.5    <h1 class="p-name no-ref" id=title>CSS Syntax Module Level 3</h1>
     2.6    <h2 class="no-num no-toc no-ref heading settled heading" id=subtitle><span class=content>Editor’s Draft,
     2.7 -    <span class=dt-updated><span class=value-title title=20140430>30 April 2014</span></span></span></h2>
     2.8 +    <span class=dt-updated><span class=value-title title=20140514>14 May 2014</span></span></span></h2>
     2.9    <div data-fill-with=spec-metadata><dl><dt>This version:<dd><a class=u-url href=http://dev.w3.org/csswg/css-syntax/>http://dev.w3.org/csswg/css-syntax/</a><dt>Latest version:<dd><a href=http://www.w3.org/TR/css-syntax-3/>http://www.w3.org/TR/css-syntax-3/</a><dt>Editor’s Draft:<dd><a href=http://dev.w3.org/csswg/css-syntax/>http://dev.w3.org/csswg/css-syntax/</a><dt>Previous Versions:<dd><a href=http://www.w3.org/TR/2014/CR-css-syntax-3-20140220/ rel=previous>http://www.w3.org/TR/2014/CR-css-syntax-3-20140220/</a><dd><a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/ rel=previous>http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/</a><dd><a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20130919/ rel=previous>http://www.w3.org/TR/2013/WD-css-syntax-3-20130919/</a>
    2.10      <dt>Feedback:</dt>
    2.11          <dd><a href="mailto:www-style@w3.org?subject=%5Bcss-syntax%5D%20feedback">www-style@w3.org</a>
    2.12 @@ -206,65 +206,67 @@
    2.13  
    2.14  
    2.15  
    2.16 +
    2.17  <h2 class="heading settled heading" data-level=1 id=intro><span class=secno>1 </span><span class=content>
    2.18  Introduction</span><a class=self-link href=#intro></a></h2>
    2.19  
    2.20 -<p>	<em>This section is not normative.</em>
    2.21 -
    2.22 -<p>	This module defines the abstract syntax and parsing of CSS stylesheets
    2.23 +<p><em>This section is not normative.</em></p>
    2.24 +
    2.25 +<p>This module defines the abstract syntax and parsing of CSS stylesheets
    2.26  	and other things which use CSS syntax
    2.27 -	(such as the HTML <code>style</code> attribute).
    2.28 -
    2.29 -<p>	It defines algorithms for converting a stream of Unicode <a data-link-type=dfn href=#code-point title="code points">code points</a>
    2.30 +	(such as the HTML <code>style</code> attribute).</p>
    2.31 +
    2.32 +<p>It defines algorithms for converting a stream of Unicode <a data-link-type=dfn href=#code-point title="code points">code points</a>
    2.33  	(in other words, text)
    2.34  	into a stream of CSS tokens,
    2.35  	and then further into CSS objects
    2.36 -	such as stylesheets, rules, and declarations.
    2.37 +	such as stylesheets, rules, and declarations.</p>
    2.38  
    2.39  <h3 class="heading settled heading" data-level=1.1 id=placement><span class=secno>1.1 </span><span class=content>
    2.40  Module interactions</span><a class=self-link href=#placement></a></h3>
    2.41  
    2.42 -<p>	This module defines the syntax and parsing of CSS stylesheets.
    2.43 -	It supersedes the lexical scanner and grammar defined in CSS 2.1.
    2.44 +<p>This module defines the syntax and parsing of CSS stylesheets.
    2.45 +	It supersedes the lexical scanner and grammar defined in CSS 2.1.</p>
    2.46  
    2.47  <h2 class="heading settled heading" data-level=2 id=syntax-description><span class=secno>2 </span><span class=content>
    2.48  Description of CSS’s Syntax</span><a class=self-link href=#syntax-description></a></h2>
    2.49  
    2.50 -<p>	<em>This section is not normative.</em>
    2.51 -
    2.52 -<p>	A CSS document is a series of <a data-link-type=dfn href=#qualified-rule title="qualified rules">qualified rules</a>,
    2.53 +<p><em>This section is not normative.</em></p>
    2.54 +
    2.55 +<p>A CSS document is a series of <a data-link-type=dfn href=#qualified-rule title="qualified rules">qualified rules</a>,
    2.56  	which are usually style rules that apply CSS properties to elements,
    2.57  	and <a data-link-type=dfn href=#at-rule title=at-rules>at-rules</a>,
    2.58 -	which define special processing rules or values for the CSS document.
    2.59 -
    2.60 -<p>	A qualified rule starts with a prelude
    2.61 +	which define special processing rules or values for the CSS document.</p>
    2.62 +
    2.63 +<p>A qualified rule starts with a prelude
    2.64  	then has a {}-wrapped block containing a sequence of declarations.
    2.65  	The meaning of the prelude varies based on the context that the rule appears in -
    2.66  	for style rules, it’s a selector which specifies what elements the declarations will apply to.
    2.67  	Each declaration has a name,
    2.68  	followed by a colon and the declaration value.
    2.69 -	Declarations are separated by semicolons.
    2.70 +	Declarations are separated by semicolons.</p>
    2.71  
    2.72  	<div class=example>
    2.73  
    2.74 -<p>		A typical rule might look something like this:
    2.75 +<p>A typical rule might look something like this:</p>
    2.76  
    2.77  		<pre>  p &gt; a {
    2.78      color: blue;
    2.79      text-decoration: underline;
    2.80    }
    2.81  </pre>
    2.82 -<p>		In the above rule, "<code>p &gt; a</code>" is the selector,
    2.83 +
    2.84 +		In the above rule, "<code>p &gt; a</code>" is the selector,
    2.85  		which, if the source document is HTML,
    2.86  		selects any <code>&lt;a&gt;</code> elements that are children of a <code>&lt;p&gt;</code> element.
    2.87  
    2.88 -<p>		"<code>color: blue;</code>" is a declaration specifying that,
    2.89 +		"<code>color: blue;</code>" is a declaration specifying that,
    2.90  		for the elements that match the selector,
    2.91  		their <a class=property data-link-type=propdesc href=http://dev.w3.org/csswg/css-color-3/#color0 title=color>color</a> property should have the value <span class=css data-link-type=maybe title=blue>blue</span>.
    2.92  		Similarly, their <a class=property data-link-type=propdesc href=http://dev.w3.org/csswg/css-text-decor-3/#propdef-text-decoration title=text-decoration>text-decoration</a> property should have the value <span class=css data-link-type=maybe title=underline>underline</span>.
    2.93  	</div>
    2.94  
    2.95 -<p>	At-rules are all different, but they have a basic structure in common.
    2.96 +<p>At-rules are all different, but they have a basic structure in common.
    2.97  	They start with an "@" <a data-link-type=dfn href=#code-point title="code point">code point</a> followed by their name.
    2.98  	Some <a data-link-type=dfn href=#at-rule title=at-rules>at-rules</a> are simple statements,
    2.99  	with their name followed by more CSS values to specify their behavior,
   2.100 @@ -275,63 +277,66 @@
   2.101  	similar to a <a data-link-type=dfn href=#qualified-rule title="qualified rule">qualified rule</a>.
   2.102  	Even the contents of these blocks are specific to the given <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a>:
   2.103  	sometimes they contain a sequence of declarations, like a <a data-link-type=dfn href=#qualified-rule title="qualified rule">qualified rule</a>;
   2.104 -	other times, they may contain additional blocks, or at-rules, or other structures altogether.
   2.105 +	other times, they may contain additional blocks, or at-rules, or other structures altogether.</p>
   2.106  
   2.107  	<div class=example>
   2.108  
   2.109 -<p>		Here are several examples of <a data-link-type=dfn href=#at-rule title=at-rules>at-rules</a> that illustrate the varied syntax they may contain.
   2.110 +<p>Here are several examples of <a data-link-type=dfn href=#at-rule title=at-rules>at-rules</a> that illustrate the varied syntax they may contain.</p>
   2.111  
   2.112  <pre>@import "my-styles.css";</pre>
   2.113 -<p>		The <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-cascade-3/#at-ruledef-import title=@import>@import</a> <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a> is a simple statement.
   2.114 -		After its name, it takes a single string or <span class=css data-link-type=maybe title=url()>url()</span> function to indicate the stylesheet that it should import.
   2.115 +
   2.116 +<p>The <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-cascade-3/#at-ruledef-import title=@import>@import</a> <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a> is a simple statement.
   2.117 +		After its name, it takes a single string or <span class=css data-link-type=maybe title=url()>url()</span> function to indicate the stylesheet that it should import.</p>
   2.118  
   2.119  		<pre>  @page :left {
   2.120      margin-left: 4cm;
   2.121      margin-right: 3cm;
   2.122    }
   2.123  </pre>
   2.124 -<p>		The <span class=css data-link-type=maybe title=@page>@page</span> <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a> consists of an optional page selector (the <span class=css data-link-type=maybe title=:left>:left</span> pseudoclass),
   2.125 +
   2.126 +<p>The <span class=css data-link-type=maybe title=@page>@page</span> <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a> consists of an optional page selector (the <span class=css data-link-type=maybe title=:left>:left</span> pseudoclass),
   2.127  		followed by a block of properties that apply to the page when printed.
   2.128  		In this way, it’s very similar to a normal style rule,
   2.129  		except that its properties don’t apply to any "element",
   2.130 -		but rather the page itself.
   2.131 +		but rather the page itself.</p>
   2.132  
   2.133  		<pre>  @media print {
   2.134      body { font-size: 10pt }
   2.135    }
   2.136  </pre>
   2.137 -<p>		The <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a> <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a> begins with a media type
   2.138 +
   2.139 +<p>The <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a> <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a> begins with a media type
   2.140  		and a list of optional media queries.
   2.141  		Its block contains entire rules,
   2.142  		which are only applied when the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a>s conditions are fulfilled.
   2.143 -	</div>
   2.144 -
   2.145 -<p>	Property names and <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a> names are always <a data-link-type=dfn href=#identifier title=identifiers>identifiers</a>,
   2.146 +	</div><p></p>
   2.147 +
   2.148 +<p>Property names and <a data-link-type=dfn href=#at-rule title=at-rule>at-rule</a> names are always <a data-link-type=dfn href=#identifier title=identifiers>identifiers</a>,
   2.149  	which have to start with a letter or a hyphen followed by a letter,
   2.150  	and then can contain letters, numbers, hyphens, or underscores.
   2.151  	You can include any <a data-link-type=dfn href=#code-point title="code point">code point</a> at all,
   2.152  	even ones that CSS uses in its syntax,
   2.153 -	by <a data-link-type=dfn href=#escaping0 title=escaping>escaping</a> it.
   2.154 -
   2.155 -<p>	The syntax of selectors is defined in the <a href=http://www.w3.org/TR/selectors/>Selectors spec</a>.
   2.156 +	by <a data-link-type=dfn href=#escaping0 title=escaping>escaping</a> it.</p>
   2.157 +
   2.158 +<p>The syntax of selectors is defined in the <a href=http://www.w3.org/TR/selectors/>Selectors spec</a>.
   2.159  	Similarly, the syntax of the wide variety of CSS values is defined in the <a href=http://www.w3.org/TR/css3-values/>Values &amp; Units spec</a>.
   2.160 -	The special syntaxes of individual <a data-link-type=dfn href=#at-rule title=at-rules>at-rules</a> can be found in the specs that define them.
   2.161 +	The special syntaxes of individual <a data-link-type=dfn href=#at-rule title=at-rules>at-rules</a> can be found in the specs that define them.</p>
   2.162  
   2.163  <h3 class="heading settled heading" data-level=2.1 id=escaping><span class=secno>2.1 </span><span class=content>
   2.164  Escaping</span><a class=self-link href=#escaping></a></h3>
   2.165  
   2.166 -<p>	<em>This section is not normative.</em>
   2.167 -
   2.168 -<p>	Any Unicode <a data-link-type=dfn href=#code-point title="code point">code point</a> can be included in an <a data-link-type=dfn href=#identifier title=identifier>identifier</a> or quoted string
   2.169 +<p><em>This section is not normative.</em></p>
   2.170 +
   2.171 +<p>Any Unicode <a data-link-type=dfn href=#code-point title="code point">code point</a> can be included in an <a data-link-type=dfn href=#identifier title=identifier>identifier</a> or quoted string
   2.172  	by <dfn data-dfn-type=dfn data-noexport="" id=escaping0>escaping<a class=self-link href=#escaping0></a></dfn> it.
   2.173 -	CSS escape sequences start with a backslash (\), and continue with:
   2.174 -
   2.175 -<p>	<ul>
   2.176 +	CSS escape sequences start with a backslash (\), and continue with:</p>
   2.177 +
   2.178 +	<ul>
   2.179  		<li>
   2.180 -<p>			Any Unicode <a data-link-type=dfn href=#code-point title="code point">code point</a> that is not a <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> or a <a data-link-type=dfn href=#newline title=newline>newline</a>.
   2.181 +			Any Unicode <a data-link-type=dfn href=#code-point title="code point">code point</a> that is not a <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> or a <a data-link-type=dfn href=#newline title=newline>newline</a>.
   2.182  			The escape sequence is replaced by that <a data-link-type=dfn href=#code-point title="code point">code point</a>.
   2.183  		<li>
   2.184 -<p>			Or one to six <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a>, followed by an optional <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a>.
   2.185 +			Or one to six <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a>, followed by an optional <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a>.
   2.186  			The escape sequence is replaced by the Unicode <a data-link-type=dfn href=#code-point title="code point">code point</a>
   2.187  			whose value is given by the hexadecimal digits.
   2.188  			This optional whitespace allow hexadecimal escape sequences
   2.189 @@ -348,23 +353,23 @@
   2.190  <h3 class="heading settled heading" data-level=2.2 id=error-handling><span class=secno>2.2 </span><span class=content>
   2.191  Error Handling</span><a class=self-link href=#error-handling></a></h3>
   2.192  
   2.193 -<p>	<em>This section is not normative.</em>
   2.194 -
   2.195 -<p>	When errors occur in CSS,
   2.196 +<p><em>This section is not normative.</em></p>
   2.197 +
   2.198 +<p>When errors occur in CSS,
   2.199  	the parser attempts to recover gracefully,
   2.200  	throwing away only the minimum amount of content
   2.201  	before returning to parsing as normal.
   2.202  	This is because errors aren’t always mistakes -
   2.203  	new syntax looks like an error to an old parser,
   2.204  	and it’s useful to be able to add new syntax to the language
   2.205 -	without worrying about stylesheets that include it being completely broken in older UAs.
   2.206 -
   2.207 -<p>	The precise error-recovery behavior is detailed in the parser itself,
   2.208 -	but it’s simple enough that a short description is fairly accurate:
   2.209 -
   2.210 -<p>	<ul>
   2.211 +	without worrying about stylesheets that include it being completely broken in older UAs.</p>
   2.212 +
   2.213 +<p>The precise error-recovery behavior is detailed in the parser itself,
   2.214 +	but it’s simple enough that a short description is fairly accurate:</p>
   2.215 +
   2.216 +	<ul>
   2.217  		<li>
   2.218 -<p>			At the "top level" of a stylesheet,
   2.219 +			At the "top level" of a stylesheet,
   2.220  			an <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a> starts an at-rule.
   2.221  			Anything else starts a qualified rule,
   2.222  			and is included in the rule’s prelude.
   2.223 @@ -373,7 +378,7 @@
   2.224  			at worst, it means the selector will match nothing.
   2.225  
   2.226  		<li>
   2.227 -<p>			Once an at-rule starts,
   2.228 +			Once an at-rule starts,
   2.229  			nothing is invalid from the parser’s standpoint;
   2.230  			it’s all part of the at-rule’s prelude.
   2.231  			Encountering a <a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a> ends the at-rule immediately,
   2.232 @@ -384,20 +389,20 @@
   2.233  			The contents of the at-rule are then interpreted according to the at-rule’s own grammar.
   2.234  
   2.235  		<li>
   2.236 -<p>			Qualified rules work similarly,
   2.237 +			Qualified rules work similarly,
   2.238  			except that semicolons don’t end them;
   2.239  			instead, they are just taken in as part of the rule’s prelude.
   2.240  			When the first {} block is found,
   2.241  			the contents are always interpreted as a list of declarations.
   2.242  
   2.243  		<li>
   2.244 -<p>			When interpreting a list of declarations,
   2.245 +			When interpreting a list of declarations,
   2.246  			unknown syntax at any point causes the parser to throw away whatever declaration it’s currently building,
   2.247  			and seek forward until it finds a semicolon (or the end of the block).
   2.248  			It then starts fresh, trying to parse a declaration again.
   2.249  
   2.250  		<li>
   2.251 -<p>			If the stylesheet ends while any rule, declaration, function, string, etc. are still open,
   2.252 +			If the stylesheet ends while any rule, declaration, function, string, etc. are still open,
   2.253  			everything is automatically closed.
   2.254  			This doesn’t make them invalid,
   2.255  			though they may be incomplete
   2.256 @@ -407,178 +412,180 @@
   2.257  <h2 class="heading settled heading" data-level=3 id=tokenizing-and-parsing><span class=secno>3 </span><span class=content>
   2.258  Tokenizing and Parsing CSS</span><a class=self-link href=#tokenizing-and-parsing></a></h2>
   2.259  
   2.260 -<p>	User agents must use the parsing rules described in this specification
   2.261 +<p>User agents must use the parsing rules described in this specification
   2.262  	to generate the CSSOM trees from text/css resources.
   2.263 -	Together, these rules define what is referred to as the CSS parser.
   2.264 -
   2.265 -<p>	This specification defines the parsing rules for CSS documents,
   2.266 +	Together, these rules define what is referred to as the CSS parser.</p>
   2.267 +
   2.268 +<p>This specification defines the parsing rules for CSS documents,
   2.269  	whether they are syntactically correct or not.
   2.270  	Certain points in the parsing algorithm are said to be a <dfn data-dfn-type=dfn data-noexport="" id=parse-error title="parse error">parse errors<a class=self-link href=#parse-error></a></dfn>.
   2.271  	The error handling for parse errors is well-defined:
   2.272  	user agents must either act as described below when encountering such problems,
   2.273 -	or must abort processing at the first error that they encounter for which they do not wish to apply the rules described below.
   2.274 -
   2.275 -<p>	Conformance checkers must report at least one parse error condition to the user
   2.276 +	or must abort processing at the first error that they encounter for which they do not wish to apply the rules described below.</p>
   2.277 +
   2.278 +<p>Conformance checkers must report at least one parse error condition to the user
   2.279  	if one or more parse error conditions exist in the document
   2.280  	and must not report parse error conditions
   2.281  	if none exist in the document.
   2.282  	Conformance checkers may report more than one parse error condition if more than one parse error condition exists in the document.
   2.283  	Conformance checkers are not required to recover from parse errors,
   2.284  	but if they do,
   2.285 -	they must recover in the same way as user agents.
   2.286 +	they must recover in the same way as user agents.</p>
   2.287  
   2.288  <h3 class="heading settled heading" data-level=3.1 id=parsing-overview><span class=secno>3.1 </span><span class=content>
   2.289  Overview of the Parsing Model</span><a class=self-link href=#parsing-overview></a></h3>
   2.290  
   2.291 -<p>	The input to the CSS parsing process consists of a stream of Unicode <a data-link-type=dfn href=#code-point title="code points">code points</a>,
   2.292 +<p>The input to the CSS parsing process consists of a stream of Unicode <a data-link-type=dfn href=#code-point title="code points">code points</a>,
   2.293  	which is passed through a tokenization stage followed by a tree construction stage.
   2.294 -	The output is a CSSStyleSheet object.
   2.295 -
   2.296 -<p class=note>	Note: Implementations that do not support scripting do not have to actually create a CSSOM CSSStyleSheet object,
   2.297 -	but the CSSOM tree in such cases is still used as the model for the rest of the specification.
   2.298 +	The output is a CSSStyleSheet object.</p>
   2.299 +
   2.300 +<p class=note>Note: Implementations that do not support scripting do not have to actually create a CSSOM CSSStyleSheet object,
   2.301 +	but the CSSOM tree in such cases is still used as the model for the rest of the specification.</p>
   2.302  
   2.303  <h3 class="heading settled heading" data-level=3.2 id=input-byte-stream><span class=secno>3.2 </span><span class=content>
   2.304  The input byte stream</span><a class=self-link href=#input-byte-stream></a></h3>
   2.305  
   2.306 -<p>	When parsing a stylesheet,
   2.307 +<p>When parsing a stylesheet,
   2.308  	the stream of Unicode <a data-link-type=dfn href=#code-point title="code points">code points</a> that comprises the input to the tokenization stage
   2.309  	might be initially seen by the user agent as a stream of bytes
   2.310  	(typically coming over the network or from the local file system).
   2.311 -	If so, the user agent must decode these bytes into <a data-link-type=dfn href=#code-point title="code points">code points</a> according to a particular character encoding.
   2.312 -
   2.313 -<p>	To decode the stream of bytes into a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>,
   2.314 +	If so, the user agent must decode these bytes into <a data-link-type=dfn href=#code-point title="code points">code points</a> according to a particular character encoding.</p>
   2.315 +
   2.316 +<p>To decode the stream of bytes into a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>,
   2.317  	UAs must use the <dfn data-dfn-type=dfn data-noexport="" id=decode><a href=http://encoding.spec.whatwg.org/#decode>decode</a><a class=self-link href=#decode></a></dfn> algorithm
   2.318  	defined in <a data-biblio-type=normative data-link-type=biblio href=#encoding title=encoding>[ENCODING]</a>,
   2.319 -	with the fallback encoding determined as follows.
   2.320 -
   2.321 -<p class=note>	Note: The <a data-link-type=dfn href=#decode title=decode>decode</a> algorithm
   2.322 +	with the fallback encoding determined as follows.</p>
   2.323 +
   2.324 +<p class=note>Note: The <a data-link-type=dfn href=#decode title=decode>decode</a> algorithm
   2.325  	gives precedence to a byte order mark (BOM),
   2.326 -	and only uses the fallback when none is found.
   2.327 -
   2.328 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=determine-the-fallback-encoding>determine the fallback encoding<a class=self-link href=#determine-the-fallback-encoding></a></dfn>:
   2.329 +	and only uses the fallback when none is found.</p>
   2.330 +
   2.331 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=determine-the-fallback-encoding>determine the fallback encoding<a class=self-link href=#determine-the-fallback-encoding></a></dfn>:</p>
   2.332  
   2.333  	<ol>
   2.334  		<li>
   2.335 -<p>			If HTTP or equivalent protocol defines an encoding (e.g. via the charset parameter of the Content-Type header),
   2.336 +			If HTTP or equivalent protocol defines an encoding (e.g. via the charset parameter of the Content-Type header),
   2.337  			<dfn data-dfn-type=dfn data-export="" id=get-an-encoding><a href=http://encoding.spec.whatwg.org/#concept-encoding-get>get an encoding</a><a class=self-link href=#get-an-encoding></a></dfn> <a data-biblio-type=normative data-link-type=biblio href=#encoding title=encoding>[ENCODING]</a>
   2.338  			for the specified value.
   2.339  			If that does not return failure,
   2.340  			use the return value as the fallback encoding.
   2.341  
   2.342  		<li>
   2.343 -<p>			Otherwise, check the byte stream.
   2.344 +			Otherwise, check the byte stream.
   2.345  			If the first 1024 bytes of the stream begin with the hex sequence
   2.346  
   2.347  <pre>40 63 68 61 72 73 65 74 20 22 XX* 22 3B</pre>
   2.348 -<p>			where each <code>XX</code> byte is a value between 0<sub>16</sub> and 21<sub>16</sub> inclusive
   2.349 +
   2.350 +			where each <code>XX</code> byte is a value between 0<sub>16</sub> and 21<sub>16</sub> inclusive
   2.351  			or a value between 23<sub>16</sub> and 7F<sub>16</sub> inclusive,
   2.352  			then <a data-link-type=dfn href=#get-an-encoding title="get an encoding">get an encoding</a>
   2.353  			for the sequence of <code>XX</code> bytes,
   2.354  			interpreted as <code>ASCII</code>.
   2.355  
   2.356 -			</p><details class=why>
   2.357 +			<details class=why>
   2.358  				<summary>What does that byte sequence mean?</summary>
   2.359  
   2.360 -<p>				The byte sequence above,
   2.361 +<p>The byte sequence above,
   2.362  				when decoded as ASCII,
   2.363  				is the string "<code>@charset "…";</code>",
   2.364  				where the "…" is the sequence of bytes corresponding to the encoding’s label.
   2.365 -			</details>
   2.366 -
   2.367 -<p>			If the return value was <code>utf-16be</code> or <code>utf-16le</code>,
   2.368 +			</details><p></p>
   2.369 +
   2.370 +			If the return value was <code>utf-16be</code> or <code>utf-16le</code>,
   2.371  			use <code>utf-8</code> as the fallback encoding;
   2.372  			if it was anything else except failure,
   2.373  			use the return value as the fallback encoding.
   2.374  
   2.375 -			</p><details class=why>
   2.376 +			<details class=why>
   2.377  				<summary>Why use utf-8 when the declaration says utf-16?</summary>
   2.378  
   2.379 -<p>				The bytes of the encoding declaration spell out “<code>@charset "…";</code>” in ASCII,
   2.380 +				The bytes of the encoding declaration spell out “<code>@charset "…";</code>” in ASCII,
   2.381  				but UTF-16 is not ASCII-compatible.
   2.382  				Either you’ve typed in complete gibberish (like <code>䁣桡牳整•utf-16be∻</code>) to get the right bytes in the document,
   2.383  				which we don’t want to encourage,
   2.384  				or your document is actually in an ASCII-compatible encoding
   2.385  				and your encoding declaration is lying.
   2.386  
   2.387 -<p>				Either way, defaulting to UTF-8 is a decent answer.
   2.388 -
   2.389 -<p>				As well, this mimics the behavior of HTML’s <code>&lt;meta charset&gt;</code> attribute.
   2.390 +<p>Either way, defaulting to UTF-8 is a decent answer.</p>
   2.391 +
   2.392 +				As well, this mimics the behavior of HTML’s <code>&lt;meta charset&gt;</code> attribute.
   2.393  			</details>
   2.394  
   2.395 -<p class=note>			Note: Note that the syntax of an encoding declaration <em>looks like</em> the syntax of an <a class=css-code data-link-type=at-rule href=#at-ruledef-charset title=@charset>@charset</a> rule,
   2.396 +<p class=note>Note: Note that the syntax of an encoding declaration <em>looks like</em> the syntax of an <a class=css-code data-link-type=at-rule href=#at-ruledef-charset title=@charset>@charset</a> rule,
   2.397  			but it’s actually much more restrictive.
   2.398  			A number of things you can do in CSS that would produce a valid <a class=css-code data-link-type=at-rule href=#at-ruledef-charset title=@charset>@charset</a> rule,
   2.399  			such as using multiple spaces, comments, or single quotes,
   2.400  			will cause the encoding declaration to not be recognized.
   2.401  			This behavior keeps the encoding declaration as simple as possible,
   2.402 -			and thus maximizes the likelihood of it being implemented correctly.
   2.403 +			and thus maximizes the likelihood of it being implemented correctly.</p>
   2.404  
   2.405  		<li>
   2.406 -<p>			Otherwise, if an <a data-link-type=dfn href=#environment-encoding title="environment encoding">environment encoding</a> is provided by the referring document,
   2.407 +			Otherwise, if an <a data-link-type=dfn href=#environment-encoding title="environment encoding">environment encoding</a> is provided by the referring document,
   2.408  			use that as the fallback encoding.
   2.409  
   2.410  		<li>
   2.411 -<p>			Otherwise, use <code>utf-8</code> as the fallback encoding.
   2.412 +			Otherwise, use <code>utf-8</code> as the fallback encoding.
   2.413  	</ol>
   2.414  
   2.415  	<div class=note>
   2.416  
   2.417 -<p>		Though UTF-8 is the default encoding for the web,
   2.418 +<p>Though UTF-8 is the default encoding for the web,
   2.419  		and many newer web-based file formats assume or require UTF-8 encoding,
   2.420  		CSS was created before it was clear which encoding would win,
   2.421 -		and thus can’t automatically assume the stylesheet is UTF-8.
   2.422 -
   2.423 -<p>		Stylesheet authors <em>should</em> author their stylesheets in UTF-8,
   2.424 +		and thus can’t automatically assume the stylesheet is UTF-8.</p>
   2.425 +
   2.426 +<p>Stylesheet authors <em>should</em> author their stylesheets in UTF-8,
   2.427  		and ensure that either an HTTP header (or equivalent method) declares the encoding of the stylesheet to be UTF-8,
   2.428  		or that the referring document declares its encoding to be UTF-8.
   2.429 -		(In HTML, this is done by adding a <code>&lt;meta charset=utf-8&gt;</code> element to the head of the document.)
   2.430 -
   2.431 -<p>		If neither of these options are available,
   2.432 +		(In HTML, this is done by adding a <code>&lt;meta charset=utf-8&gt;</code> element to the head of the document.)</p>
   2.433 +
   2.434 +<p>If neither of these options are available,
   2.435  		authors should begin the stylesheet with a UTF-8 BOM
   2.436 -		or the exact characters
   2.437 -
   2.438 -<pre>@charset "utf-8";</pre>	</div>
   2.439 -
   2.440 -<p>	Document languages that refer to CSS stylesheets that are decoded from bytes
   2.441 +		or the exact characters</p>
   2.442 +
   2.443 +<pre>@charset "utf-8";</pre>
   2.444 +	</div>
   2.445 +
   2.446 +<p>Document languages that refer to CSS stylesheets that are decoded from bytes
   2.447  	may define an <dfn data-dfn-type=dfn data-export="" id=environment-encoding>environment encoding<a class=self-link href=#environment-encoding></a></dfn> for each such stylesheet,
   2.448 -	which is used as a fallback when other encoding hints are not available or can not be used.
   2.449 -
   2.450 -<p>	The concept of <a data-link-type=dfn href=#environment-encoding title="environment encoding">environment encoding</a> only exists for compatibility with legacy content.
   2.451 +	which is used as a fallback when other encoding hints are not available or can not be used.</p>
   2.452 +
   2.453 +<p>The concept of <a data-link-type=dfn href=#environment-encoding title="environment encoding">environment encoding</a> only exists for compatibility with legacy content.
   2.454  	New formats and new linking mechanisms <b>should not</b> provide an <a data-link-type=dfn href=#environment-encoding title="environment encoding">environment encoding</a>,
   2.455 -	so the stylesheet defaults to UTF-8 instead in the absence of more explicit information.
   2.456 -
   2.457 -<p class=note>	Note: <a data-biblio-type=informative data-link-type=biblio href=#html title=html>[HTML]</a> defines <a href=http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#link-type-stylesheet>the environment encoding for <code>&lt;link rel=stylesheet&gt;</code></a>.
   2.458 -
   2.459 -<p class=note>	Note: <a data-biblio-type=informative data-link-type=biblio href=#cssom title=cssom>[CSSOM]</a> defines <a href=http://dev.w3.org/csswg/cssom/#requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction>the environment encoding for <code>&lt;xml-stylesheet?&gt;</code></a>.
   2.460 -
   2.461 -<p class=note>	Note: <a data-biblio-type=informative data-link-type=biblio href=#css3cascade title=css3cascade>[CSS3CASCADE]</a> defines <a href=http://dev.w3.org/csswg/css-cascade/#at-ruledef-import>the environment encoding for <code>@import</code></a>.
   2.462 +	so the stylesheet defaults to UTF-8 instead in the absence of more explicit information.</p>
   2.463 +
   2.464 +	Note: <a data-biblio-type=informative data-link-type=biblio href=#html title=html>[HTML]</a> defines <a href=http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#link-type-stylesheet>the environment encoding for <code>&lt;link rel=stylesheet&gt;</code></a>.
   2.465 +
   2.466 +	Note: <a data-biblio-type=informative data-link-type=biblio href=#cssom title=cssom>[CSSOM]</a> defines <a href=http://dev.w3.org/csswg/cssom/#requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction>the environment encoding for <code>&lt;xml-stylesheet?&gt;</code></a>.
   2.467 +
   2.468 +	Note: <a data-biblio-type=informative data-link-type=biblio href=#css3cascade title=css3cascade>[CSS3CASCADE]</a> defines <a href=http://dev.w3.org/csswg/css-cascade/#at-ruledef-import>the environment encoding for <code>@import</code></a>.
   2.469  
   2.470  
   2.471  <h3 class="heading settled heading" data-level=3.3 id=input-preprocessing><span class=secno>3.3 </span><span class=content>
   2.472  Preprocessing the input stream</span><a class=self-link href=#input-preprocessing></a></h3>
   2.473  
   2.474 -<p>	The input stream consists of the <a data-link-type=dfn href=#code-point title="code points">code points</a>
   2.475 -	pushed into it as the input byte stream is decoded.
   2.476 -
   2.477 -<p>	Before sending the input stream to the tokenizer,
   2.478 -	implementations must make the following <a data-link-type=dfn href=#code-point title="code point">code point</a> substitutions:
   2.479 -
   2.480 -<p>	<ul>
   2.481 +<p>The input stream consists of the <a data-link-type=dfn href=#code-point title="code points">code points</a>
   2.482 +	pushed into it as the input byte stream is decoded.</p>
   2.483 +
   2.484 +<p>Before sending the input stream to the tokenizer,
   2.485 +	implementations must make the following <a data-link-type=dfn href=#code-point title="code point">code point</a> substitutions:</p>
   2.486 +
   2.487 +	<ul>
   2.488  		<li>
   2.489 -<p>			Replace any U+000D CARRIAGE RETURN (CR) <a data-link-type=dfn href=#code-point title="code point">code point</a>,
   2.490 +			Replace any U+000D CARRIAGE RETURN (CR) <a data-link-type=dfn href=#code-point title="code point">code point</a>,
   2.491  			U+000C FORM FEED (FF) <a data-link-type=dfn href=#code-point title="code point">code point</a>,
   2.492  			or pairs of U+000D CARRIAGE RETURN (CR) followed by U+000A LINE FEED (LF)
   2.493  			by a single U+000A LINE FEED (LF) <a data-link-type=dfn href=#code-point title="code point">code point</a>.
   2.494  
   2.495  		<li>
   2.496 -<p>			Replace any U+0000 NULL <a data-link-type=dfn href=#code-point title="code point">code point</a> with U+FFFD REPLACEMENT CHARACTER (�).
   2.497 +			Replace any U+0000 NULL <a data-link-type=dfn href=#code-point title="code point">code point</a> with U+FFFD REPLACEMENT CHARACTER (�).
   2.498  	</ul>
   2.499  
   2.500  
   2.501  <h2 class="heading settled heading" data-level=4 id=tokenization><span class=secno>4 </span><span class=content>
   2.502  Tokenization</span><a class=self-link href=#tokenization></a></h2>
   2.503  
   2.504 -<p>	Implementations must act as if they used the following algorithms to tokenize CSS.
   2.505 +<p>Implementations must act as if they used the following algorithms to tokenize CSS.
   2.506  	To transform a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a> into a stream of tokens,
   2.507  	repeatedly <a data-link-type=dfn href=#consume-a-token0 title="consume a token">consume a token</a>
   2.508  	until an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a> is reached,
   2.509 @@ -586,9 +593,9 @@
   2.510  	Each call to the <a data-link-type=dfn href=#consume-a-token0 title="consume a token">consume a token</a> algorithm
   2.511  	returns a single token,
   2.512  	so it can also be used "on-demand" to tokenize a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a> <em>during</em> parsing,
   2.513 -	if so desired.
   2.514 -
   2.515 -<p>	The output of the tokenization step is a stream of zero or more of the following tokens:
   2.516 +	if so desired.</p>
   2.517 +
   2.518 +<p>The output of the tokenization step is a stream of zero or more of the following tokens:
   2.519  	<dfn class=css-code data-dfn-type=type data-export="" id=typedef-ident-token>&lt;ident-token&gt;<a class=self-link href=#typedef-ident-token></a></dfn>,
   2.520  	<dfn class=css-code data-dfn-type=type data-export="" id=typedef-function-token>&lt;function-token&gt;<a class=self-link href=#typedef-function-token></a></dfn>,
   2.521  	<dfn class=css-code data-dfn-type=type data-export="" id=typedef-at-keyword-token>&lt;at-keyword-token&gt;<a class=self-link href=#typedef-at-keyword-token></a></dfn>,
   2.522 @@ -619,55 +626,55 @@
   2.523  	<dfn class=css-code data-dfn-type=type data-export="" id=tokendef-open-paren>&lt;(-token&gt;<a class=self-link href=#tokendef-open-paren></a></dfn>,
   2.524  	<dfn class=css-code data-dfn-type=type data-export="" id=tokendef-close-paren>&lt;)-token&gt;<a class=self-link href=#tokendef-close-paren></a></dfn>,
   2.525  	<dfn class=css-code data-dfn-type=type data-export="" id=tokendef-open-curly>&lt;{-token&gt;<a class=self-link href=#tokendef-open-curly></a></dfn>,
   2.526 -	and <dfn class=css-code data-dfn-type=type data-export="" id=tokendef-close-curly>&lt;}-token&gt;<a class=self-link href=#tokendef-close-curly></a></dfn>.
   2.527 -
   2.528 -<p>	<ul>
   2.529 +	and <dfn class=css-code data-dfn-type=type data-export="" id=tokendef-close-curly>&lt;}-token&gt;<a class=self-link href=#tokendef-close-curly></a></dfn>.</p>
   2.530 +
   2.531 +	<ul>
   2.532  		<li>
   2.533 -<p>			<a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a> have a value composed of zero or more <a data-link-type=dfn href=#code-point title="code points">code points</a>.
   2.534 +			<a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a> have a value composed of zero or more <a data-link-type=dfn href=#code-point title="code points">code points</a>.
   2.535  			Additionally, hash tokens have a type flag set to either "id" or "unrestricted".  The type flag defaults to "unrestricted" if not otherwise set.
   2.536  
   2.537  		<li>
   2.538 -<p>			<a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> has a value composed of a single <a data-link-type=dfn href=#code-point title="code point">code point</a>.
   2.539 +			<a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> has a value composed of a single <a data-link-type=dfn href=#code-point title="code point">code point</a>.
   2.540  
   2.541  		<li>
   2.542 -<p>			<a class="production css-code" data-link-type=type href=#typedef-number-token title="<number-token>">&lt;number-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-percentage-token title="<percentage-token>">&lt;percentage-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> have a representation composed of one or more <a data-link-type=dfn href=#code-point title="code points">code points</a>, and a numeric value.
   2.543 +			<a class="production css-code" data-link-type=type href=#typedef-number-token title="<number-token>">&lt;number-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-percentage-token title="<percentage-token>">&lt;percentage-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> have a representation composed of one or more <a data-link-type=dfn href=#code-point title="code points">code points</a>, and a numeric value.
   2.544  			<a class="production css-code" data-link-type=type href=#typedef-number-token title="<number-token>">&lt;number-token&gt;</a> and <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> additionally have a type flag set to either "integer" or "number".  The type flag defaults to "integer" if not otherwise set.
   2.545  			<a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> additionally have a unit composed of one or more <a data-link-type=dfn href=#code-point title="code points">code points</a>.
   2.546  
   2.547  		<li>
   2.548 -<p>			<a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a> has
   2.549 +			<a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a> has
   2.550  			a <dfn data-dfn-type=dfn data-noexport="" id=unicode-range-start title="start of the range">start<a class=self-link href=#unicode-range-start></a></dfn>
   2.551  			and an <dfn data-dfn-type=dfn data-noexport="" id=unicode-range-end title="end of the range">end<a class=self-link href=#unicode-range-end></a></dfn>,
   2.552  			a pair of integers.
   2.553  
   2.554  	</ul>
   2.555  
   2.556 -<p class=note>	Note: The type flag of hash tokens is used in the Selectors syntax <a data-biblio-type=informative data-link-type=biblio href=#select title=select>[SELECT]</a>.
   2.557 -	Only hash tokens with the "id" type are valid <a href=http://www.w3.org/TR/selectors/#id-selectors>ID selectors</a>.
   2.558 -
   2.559 -<p class=note>	Note: As a technical note,
   2.560 +<p class=note>Note: The type flag of hash tokens is used in the Selectors syntax <a data-biblio-type=informative data-link-type=biblio href=#select title=select>[SELECT]</a>.
   2.561 +	Only hash tokens with the "id" type are valid <a href=http://www.w3.org/TR/selectors/#id-selectors>ID selectors</a>.</p>
   2.562 +
   2.563 +<p class=note>Note: As a technical note,
   2.564  	the tokenizer defined here requires only three <a data-link-type=dfn href=#code-point title="code points">code points</a> of look-ahead.
   2.565  	The tokens it produces are designed to allow Selectors to be parsed with one token of look-ahead,
   2.566 -	and additional tokens may be added in the future to maintain this invariant.
   2.567 +	and additional tokens may be added in the future to maintain this invariant.</p>
   2.568  
   2.569  
   2.570  <h3 class="heading settled heading" data-level=4.1 id=token-diagrams><span class=secno>4.1 </span><span class=content>
   2.571  Token Railroad Diagrams</span><a class=self-link href=#token-diagrams></a></h3>
   2.572  
   2.573 -<p>	<em>This section is non-normative.</em>
   2.574 -
   2.575 -<p>	This section presents an informative view of the tokenizer,
   2.576 +<p><em>This section is non-normative.</em></p>
   2.577 +
   2.578 +<p>This section presents an informative view of the tokenizer,
   2.579  	in the form of railroad diagrams.
   2.580  	Railroad diagrams are more compact than an explicit parser,
   2.581 -	but often easier to read than an regular expression.
   2.582 -
   2.583 -<p>	These diagrams are <em>informative</em> and <em>incomplete</em>;
   2.584 +	but often easier to read than an regular expression.</p>
   2.585 +
   2.586 +<p>These diagrams are <em>informative</em> and <em>incomplete</em>;
   2.587  	they describe the grammar of "correct" tokens,
   2.588  	but do not describe error-handling at all.
   2.589 -	They are provided solely to make it easier to get an intuitive grasp of the syntax of each token.
   2.590 -
   2.591 -<p>	Diagrams with names such as <em>&lt;foo-token&gt;</em> represent tokens.
   2.592 -	The rest are productions referred to by other diagrams.
   2.593 +	They are provided solely to make it easier to get an intuitive grasp of the syntax of each token.</p>
   2.594 +
   2.595 +<p>Diagrams with names such as <em>&lt;foo-token&gt;</em> represent tokens.
   2.596 +	The rest are productions referred to by other diagrams.</p>
   2.597  
   2.598  	<dl>
   2.599  		<dt id=comment-diagram><a class=self-link href=#comment-diagram></a>comment
   2.600 @@ -714,6 +721,7 @@
   2.601  */</text></g><path d="M446 41h10">
   2.602  </path><path d="M 456 41 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.603  </path></g></svg></div>
   2.604 +
   2.605  		<dt id=newline-diagram><a class=self-link href=#newline-diagram></a>newline
   2.606  		<dd>
   2.607  <div class=railroad><svg class=railroad-diagram height=152 viewBox="0 0 173 152" width=173>
   2.608 @@ -752,6 +760,7 @@
   2.609  \f</text></g><path d="M112.0 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10">
   2.610  </path></g><path d="M 132 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.611  </path></g></svg></div>
   2.612 +
   2.613  		<dt id=whitespace-diagram><a class=self-link href=#whitespace-diagram></a>whitespace
   2.614  		<dd>
   2.615  <div class=railroad><svg class=railroad-diagram height=122 viewBox="0 0 197 122" width=197>
   2.616 @@ -783,6 +792,7 @@
   2.617  newline</text></g><path d="M136.0 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10">
   2.618  </path></g><path d="M 156 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.619  </path></g></svg></div>
   2.620 +
   2.621  		<dt id=hex-digit-diagram><a class=self-link href=#hex-digit-diagram></a>hex digit
   2.622  		<dd>
   2.623  <div class=railroad><svg class=railroad-diagram height=62 viewBox="0 0 233 62" width=233>
   2.624 @@ -797,6 +807,7 @@
   2.625  0-9 a-f or A-F</text></g><path d="M182 31h10">
   2.626  </path><path d="M 192 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.627  </path></g></svg></div>
   2.628 +
   2.629  		<dt id=escape-diagram><a class=self-link href=#escape-diagram></a>escape
   2.630  		<dd>
   2.631  <div class=railroad><svg class=railroad-diagram height=122 viewBox="0 0 441 122" width=441>
   2.632 @@ -858,6 +869,7 @@
   2.633  </path></g></g><path d="M380.0 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10">
   2.634  </path></g><path d="M 400 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.635  </path></g></svg></div>
   2.636 +
   2.637  		<dt id=whitespace-token-diagram><a class=self-link href=#whitespace-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>
   2.638  		<dd>
   2.639  <div class=railroad><svg class=railroad-diagram height=71 viewBox="0 0 221 71" width=221>
   2.640 @@ -881,6 +893,7 @@
   2.641  </path></g><path d="M170 31h10">
   2.642  </path><path d="M 180 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.643  </path></g></svg></div>
   2.644 +
   2.645  		<dt id=ws*-diagram><a class=self-link href=#ws%2A-diagram></a>ws*
   2.646  		<dd>
   2.647  <div class=railroad><svg class=railroad-diagram height=81 viewBox="0 0 305 81" width=305>
   2.648 @@ -911,6 +924,7 @@
   2.649  </path></g><path d="M244.0 41h20">
   2.650  </path></g><path d="M 264 41 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.651  </path></g></svg></div>
   2.652 +
   2.653  		<dt id=ident-token-diagram><a class=self-link href=#ident-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>
   2.654  		<dd>
   2.655  <div class=railroad><svg class=railroad-diagram height=130 viewBox="0 0 769 130" width=769>
   2.656 @@ -999,6 +1013,7 @@
   2.657  </path></g><path d="M708.0 61h20">
   2.658  </path></g><path d="M 728 61 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.659  </path></g></svg></div>
   2.660 +
   2.661  		<dt id=function-token-diagram><a class=self-link href=#function-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>
   2.662  		<dd>
   2.663  <div class=railroad><svg class=railroad-diagram height=62 viewBox="0 0 273 62" width=273>
   2.664 @@ -1020,6 +1035,7 @@
   2.665  (</text></g><path d="M222 31h10">
   2.666  </path><path d="M 232 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.667  </path></g></svg></div>
   2.668 +
   2.669  		<dt id=at-keyword-token-diagram><a class=self-link href=#at-keyword-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>
   2.670  		<dd>
   2.671  <div class=railroad><svg class=railroad-diagram height=62 viewBox="0 0 273 62" width=273>
   2.672 @@ -1041,6 +1057,7 @@
   2.673  &lt;ident-token&gt;</text></g><path d="M222 31h10">
   2.674  </path><path d="M 232 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.675  </path></g></svg></div>
   2.676 +
   2.677  		<dt id=hash-token-diagram><a class=self-link href=#hash-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>
   2.678  		<dd>
   2.679  <div class=railroad><svg class=railroad-diagram height=100 viewBox="0 0 453 100" width=453>
   2.680 @@ -1083,6 +1100,7 @@
   2.681  </path></g><path d="M402 31h10">
   2.682  </path><path d="M 412 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.683  </path></g></svg></div>
   2.684 +
   2.685  		<dt id=string-token-diagram><a class=self-link href=#string-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>
   2.686  		<dd>
   2.687  <div class=railroad><svg class=railroad-diagram height=248 viewBox="0 0 481 248" width=481>
   2.688 @@ -1239,6 +1257,7 @@
   2.689  </path></g><path d="M420.0 149a10 10 0 0 0 10 -10v-88a10 10 0 0 1 10 -10">
   2.690  </path></g><path d="M 440 41 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.691  </path></g></svg></div>
   2.692 +
   2.693  		<dt id=url-token-diagram><a class=self-link href=#url-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>
   2.694  		<dd>
   2.695  <div class=railroad><svg class=railroad-diagram height=102 viewBox="0 0 709 102" width=709>
   2.696 @@ -1310,6 +1329,7 @@
   2.697  )</text></g><path d="M658 41h10">
   2.698  </path><path d="M 668 41 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.699  </path></g></svg></div>
   2.700 +
   2.701  		<dt id=url-unquoted-diagram><a class=self-link href=#url-unquoted-diagram></a>url-unquoted
   2.702  		<dd>
   2.703  <div class=railroad><svg class=railroad-diagram height=100 viewBox="0 0 509 100" width=509>
   2.704 @@ -1345,6 +1365,7 @@
   2.705  </path></g><path d="M458 31h10">
   2.706  </path><path d="M 468 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.707  </path></g></svg></div>
   2.708 +
   2.709  		<dt id=number-token-diagram><a class=self-link href=#number-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-number-token title="<number-token>">&lt;number-token&gt;</a>
   2.710  		<dd>
   2.711  <div class=railroad><svg class=railroad-diagram height=179 viewBox="0 0 713 179" width=713>
   2.712 @@ -1530,6 +1551,7 @@
   2.713  </path></g><path d="M652.0 108a10 10 0 0 0 10 -10v-28a10 10 0 0 1 10 -10">
   2.714  </path></g><path d="M 672 60 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.715  </path></g></svg></div>
   2.716 +
   2.717  		<dt id=dimension-token-diagram><a class=self-link href=#dimension-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a>
   2.718  		<dd>
   2.719  <div class=railroad><svg class=railroad-diagram height=62 viewBox="0 0 377 62" width=377>
   2.720 @@ -1551,6 +1573,7 @@
   2.721  &lt;ident-token&gt;</text></g><path d="M326 31h10">
   2.722  </path><path d="M 336 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.723  </path></g></svg></div>
   2.724 +
   2.725  		<dt id=percentage-token-diagram><a class=self-link href=#percentage-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-percentage-token title="<percentage-token>">&lt;percentage-token&gt;</a>
   2.726  		<dd>
   2.727  <div class=railroad><svg class=railroad-diagram height=62 viewBox="0 0 281 62" width=281>
   2.728 @@ -1572,6 +1595,7 @@
   2.729  %</text></g><path d="M230 31h10">
   2.730  </path><path d="M 240 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.731  </path></g></svg></div>
   2.732 +
   2.733  		<dt id=unicode-range-token-diagram><a class=self-link href=#unicode-range-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a>
   2.734  		<dd>
   2.735  <div class=railroad><svg class=railroad-diagram height=222 viewBox="0 0 600 222" width=600>
   2.736 @@ -1720,6 +1744,7 @@
   2.737  </path></g><path d="M539.0 171a10 10 0 0 0 10 -10v-120a10 10 0 0 1 10 -10">
   2.738  </path></g><path d="M 559 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.739  </path></g></svg></div>
   2.740 +
   2.741  		<dt id=include-match-token-diagram><a class=self-link href=#include-match-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-include-match-token title="<include-match-token>">&lt;include-match-token&gt;</a>
   2.742  		<dd>
   2.743  <div class=railroad><svg class=railroad-diagram height=62 viewBox="0 0 137 62" width=137>
   2.744 @@ -1734,6 +1759,7 @@
   2.745  ~=</text></g><path d="M86 31h10">
   2.746  </path><path d="M 96 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.747  </path></g></svg></div>
   2.748 +
   2.749  		<dt id=dash-match-token-diagram><a class=self-link href=#dash-match-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-dash-match-token title="<dash-match-token>">&lt;dash-match-token&gt;</a>
   2.750  		<dd>
   2.751  <div class=railroad><svg class=railroad-diagram height=62 viewBox="0 0 137 62" width=137>
   2.752 @@ -1748,6 +1774,7 @@
   2.753  |=</text></g><path d="M86 31h10">
   2.754  </path><path d="M 96 31 h 20 m -10 -10 v 20 m 10 -20 v 20">
   2.755  </path></g></svg></div>
   2.756 +
   2.757  		<dt id=prefix-match-token-diagram><a class=self-link href=#prefix-match-token-diagram></a><a class="production css-code" data-link-type=type href=#typedef-prefix-match-token title="<prefix-match-token>">&lt;prefix-match-token&gt;</a>
   2.758  		<dd>
   2.759  <div class=railroad><svg class=railroad-diagram height=62 viewBox="0 0 137 62" width=137>
   2.760 @@ -1836,83 +1863,83 @@
   2.761  <h3 class="heading settled heading" data-level=4.2 id=tokenizer-definitions><span class=secno>4.2 </span><span class=content>
   2.762  Definitions</span><a class=self-link href=#tokenizer-definitions></a></h3>
   2.763  
   2.764 -<p>	This section defines several terms used during the tokenization phase.
   2.765 +	This section defines several terms used during the tokenization phase.
   2.766  
   2.767  	<dl data-export="">
   2.768  		<dt><dfn data-dfn-type=dfn data-export="" id=code-point>code point<a class=self-link href=#code-point></a></dfn>
   2.769  		<dd>
   2.770 -<p>			A <a href=http://unicode.org/glossary/#code_point>Unicode code point</a>. <a data-biblio-type=normative data-link-type=biblio href=#unicode title=unicode>[UNICODE]</a>
   2.771 +			A <a href=http://unicode.org/glossary/#code_point>Unicode code point</a>. <a data-biblio-type=normative data-link-type=biblio href=#unicode title=unicode>[UNICODE]</a>
   2.772  			Any value in the Unicode codespace; that is, the range of integers from 0 to (hexadecimal) 10FFFF.
   2.773  
   2.774  		<dt><dfn data-dfn-type=dfn data-export="" id=next-input-code-point>next input code point<a class=self-link href=#next-input-code-point></a></dfn>
   2.775  		<dd>
   2.776 -<p>			The first <a data-link-type=dfn href=#code-point title="code point">code point</a> in the input stream that has not yet been consumed.
   2.777 +			The first <a data-link-type=dfn href=#code-point title="code point">code point</a> in the input stream that has not yet been consumed.
   2.778  
   2.779  		<dt><dfn data-dfn-type=dfn data-export="" id=current-input-code-point>current input code point<a class=self-link href=#current-input-code-point></a></dfn>
   2.780  		<dd>
   2.781 -<p>			The last <a data-link-type=dfn href=#code-point title="code point">code point</a> to have been consumed.
   2.782 +			The last <a data-link-type=dfn href=#code-point title="code point">code point</a> to have been consumed.
   2.783  
   2.784  		<dt><dfn data-dfn-type=dfn data-export="" id=reconsume-the-current-input-code-point>reconsume the current input code point<a class=self-link href=#reconsume-the-current-input-code-point></a></dfn>
   2.785  		<dd>
   2.786 -<p>			Push the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a> back onto the front of the input stream,
   2.787 +			Push the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a> back onto the front of the input stream,
   2.788  			so that the next time you are instructed to consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>,
   2.789  			it will instead reconsume the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
   2.790  
   2.791  		<dt><dfn data-dfn-type=dfn data-export="" id=eof-code-point>EOF code point<a class=self-link href=#eof-code-point></a></dfn>
   2.792  		<dd>
   2.793 -<p>			A conceptual <a data-link-type=dfn href=#code-point title="code point">code point</a> representing the end of the input stream.
   2.794 +			A conceptual <a data-link-type=dfn href=#code-point title="code point">code point</a> representing the end of the input stream.
   2.795  			Whenever the input stream is empty,
   2.796  			the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is always an EOF code point.
   2.797  
   2.798  		<dt><dfn data-dfn-type=dfn data-export="" id=digit>digit<a class=self-link href=#digit></a></dfn>
   2.799  		<dd>
   2.800 -<p>			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0030 DIGIT ZERO (0) and U+0039 DIGIT NINE (9).
   2.801 +			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0030 DIGIT ZERO (0) and U+0039 DIGIT NINE (9).
   2.802  
   2.803  		<dt><dfn data-dfn-type=dfn data-export="" id=hex-digit>hex digit<a class=self-link href=#hex-digit></a></dfn>
   2.804  		<dd>
   2.805 -<p>			A <a data-link-type=dfn href=#digit title=digit>digit</a>,
   2.806 +			A <a data-link-type=dfn href=#digit title=digit>digit</a>,
   2.807  			or a <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0041 LATIN CAPITAL LETTER A (A) and U+0046 LATIN CAPITAL LETTER F (F),
   2.808  			or a <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0061 LATIN SMALL LETTER A (a) and U+0066 LATIN SMALL LETTER F (f).
   2.809  
   2.810  		<dt><dfn data-dfn-type=dfn data-export="" id=uppercase-letter>uppercase letter<a class=self-link href=#uppercase-letter></a></dfn>
   2.811  		<dd>
   2.812 -<p>			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0041 LATIN CAPITAL LETTER A (A) and U+005A LATIN CAPITAL LETTER Z (Z).
   2.813 +			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0041 LATIN CAPITAL LETTER A (A) and U+005A LATIN CAPITAL LETTER Z (Z).
   2.814  
   2.815  		<dt><dfn data-dfn-type=dfn data-export="" id=lowercase-letter>lowercase letter<a class=self-link href=#lowercase-letter></a></dfn>
   2.816  		<dd>
   2.817 -<p>			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0061 LATIN SMALL LETTER A (a) and U+007A LATIN SMALL LETTER Z (z).
   2.818 +			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0061 LATIN SMALL LETTER A (a) and U+007A LATIN SMALL LETTER Z (z).
   2.819  
   2.820  		<dt><dfn data-dfn-type=dfn data-export="" id=letter>letter<a class=self-link href=#letter></a></dfn>
   2.821  		<dd>
   2.822 -<p>			An <a data-link-type=dfn href=#uppercase-letter title="uppercase letter">uppercase letter</a>
   2.823 +			An <a data-link-type=dfn href=#uppercase-letter title="uppercase letter">uppercase letter</a>
   2.824  			or a <a data-link-type=dfn href=#lowercase-letter title="lowercase letter">lowercase letter</a>.
   2.825  
   2.826  		<dt><dfn data-dfn-type=dfn data-export="" id=non-ascii-code-point>non-ASCII code point<a class=self-link href=#non-ascii-code-point></a></dfn>
   2.827  		<dd>
   2.828 -<p>			A <a data-link-type=dfn href=#code-point title="code point">code point</a> with a value equal to or greater than U+0080 &lt;control&gt;.
   2.829 +			A <a data-link-type=dfn href=#code-point title="code point">code point</a> with a value equal to or greater than U+0080 &lt;control&gt;.
   2.830  
   2.831  		<dt><dfn data-dfn-type=dfn data-export="" id=name-start-code-point>name-start code point<a class=self-link href=#name-start-code-point></a></dfn>
   2.832  		<dd>
   2.833 -<p>			A <a data-link-type=dfn href=#letter title=letter>letter</a>,
   2.834 +			A <a data-link-type=dfn href=#letter title=letter>letter</a>,
   2.835  			a <a data-link-type=dfn href=#non-ascii-code-point title="non-ascii code point">non-ASCII code point</a>,
   2.836  			or U+005F LOW LINE (_).
   2.837  
   2.838  		<dt><dfn data-dfn-type=dfn data-export="" id=name-code-point>name code point<a class=self-link href=#name-code-point></a></dfn>
   2.839  		<dd>
   2.840 -<p>			A <a data-link-type=dfn href=#name-start-code-point title="name-start code point">name-start code point</a>,
   2.841 +			A <a data-link-type=dfn href=#name-start-code-point title="name-start code point">name-start code point</a>,
   2.842  			A <a data-link-type=dfn href=#digit title=digit>digit</a>,
   2.843  			or U+002D HYPHEN-MINUS (-).
   2.844  
   2.845  		<dt><dfn data-dfn-type=dfn data-export="" id=non-printable-code-point>non-printable code point<a class=self-link href=#non-printable-code-point></a></dfn>
   2.846  		<dd>
   2.847 -<p>			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0000 NULL and U+0008 BACKSPACE,
   2.848 +			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+0000 NULL and U+0008 BACKSPACE,
   2.849  			or U+000B LINE TABULATION,
   2.850  			or a <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+000E SHIFT OUT and U+001F INFORMATION SEPARATOR ONE,
   2.851  			or U+007F DELETE.
   2.852  
   2.853  		<dt><dfn data-dfn-type=dfn data-export="" id=newline>newline<a class=self-link href=#newline></a></dfn>
   2.854  		<dd>
   2.855 -<p>			U+000A LINE FEED.
   2.856 +			U+000A LINE FEED.
   2.857  			<span class=note>
   2.858  				Note that U+000D CARRIAGE RETURN and U+000C FORM FEED are not included in this definition,
   2.859  				as they are converted to U+000A LINE FEED during <a href=#input-preprocessing>preprocessing</a>.
   2.860 @@ -1923,14 +1950,14 @@
   2.861  
   2.862  		<dt><dfn data-dfn-type=dfn data-export="" id=surrogate-code-point>surrogate code point<a class=self-link href=#surrogate-code-point></a></dfn>
   2.863  		<dd>
   2.864 -<p>			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+D800 and U+DFFF inclusive.
   2.865 +			A <a data-link-type=dfn href=#code-point title="code point">code point</a> between U+D800 and U+DFFF inclusive.
   2.866  
   2.867  		<dt><dfn data-dfn-type=dfn data-export="" id=maximum-allowed-code-point>maximum allowed code point<a class=self-link href=#maximum-allowed-code-point></a></dfn>
   2.868  		<dd>The greatest <a data-link-type=dfn href=#code-point title="code point">code point</a> defined by Unicode: U+10FFFF.
   2.869  
   2.870  		<dt><dfn data-dfn-type=dfn data-export="" id=identifier>identifier<a class=self-link href=#identifier></a></dfn>
   2.871  		<dd>
   2.872 -<p>			A portion of the CSS source that has the same syntax as an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>.
   2.873 +			A portion of the CSS source that has the same syntax as an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>.
   2.874  			Also appears in <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>,
   2.875  			<a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>,
   2.876  			<a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a> with the "id" type flag,
   2.877 @@ -1941,120 +1968,120 @@
   2.878  <h3 class="heading settled heading" data-level=4.3 id=tokenizer-algorithms><span class=secno>4.3 </span><span class=content>
   2.879  Tokenizer Algorithms</span><a class=self-link href=#tokenizer-algorithms></a></h3>
   2.880  
   2.881 -<p>	The algorithms defined in this section transform a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a> into a stream of tokens.
   2.882 +	The algorithms defined in this section transform a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a> into a stream of tokens.
   2.883  
   2.884  <h4 class="heading settled heading" data-level=4.3.1 id=consume-a-token><span class=secno>4.3.1 </span><span class=content>
   2.885  Consume a token</span><a class=self-link href=#consume-a-token></a></h4>
   2.886  
   2.887 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-token0>consume a token<a class=self-link href=#consume-a-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
   2.888 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-token0>consume a token<a class=self-link href=#consume-a-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
   2.889  	It will return a single token of any type.
   2.890  
   2.891 -<p>	<a data-link-type=dfn href=#consume-comments0 title="consume comments">Consume comments</a>.
   2.892 -
   2.893 -<p>	Consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>.
   2.894 +	<a data-link-type=dfn href=#consume-comments0 title="consume comments">Consume comments</a>.
   2.895 +
   2.896 +	Consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>.
   2.897  
   2.898  	<dl>
   2.899  		<dt><a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a>
   2.900  		<dd>
   2.901 -<p>			Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible.
   2.902 +			Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible.
   2.903  			Return a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>.
   2.904  
   2.905  		<dt>U+0022 QUOTATION MARK (")
   2.906  		<dd>
   2.907 -<p>			<a data-link-type=dfn href=#consume-a-string-token0 title="consume a string token">Consume a string token</a>
   2.908 +			<a data-link-type=dfn href=#consume-a-string-token0 title="consume a string token">Consume a string token</a>
   2.909  			and return it.
   2.910  
   2.911  		<dt>U+0023 NUMBER SIGN (#)
   2.912  		<dd>
   2.913 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is a <a data-link-type=dfn href=#name-code-point title="name code point">name code point</a>
   2.914 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is a <a data-link-type=dfn href=#name-code-point title="name code point">name code point</a>
   2.915  			or the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next two input code points</a>
   2.916  			<a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="are a valid escape">are a valid escape</a>,
   2.917  			then:
   2.918  
   2.919  			<ol>
   2.920  				<li>
   2.921 -<p>					Create a <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>.
   2.922 +					Create a <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>.
   2.923  
   2.924  				<li>
   2.925 -<p>					If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a> <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="would start an identifier">would start an identifier</a>,
   2.926 +					If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a> <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="would start an identifier">would start an identifier</a>,
   2.927  					set the <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>’s type flag to "id".
   2.928  
   2.929  				<li>
   2.930 -<p>					<a data-link-type=dfn href=#consume-a-name0 title="consume a name">Consume a name</a>,
   2.931 +					<a data-link-type=dfn href=#consume-a-name0 title="consume a name">Consume a name</a>,
   2.932  					and set the <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>’s value to the returned string.
   2.933  
   2.934  				<li>
   2.935 -<p>					Return the <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>.
   2.936 +					Return the <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a>.
   2.937  			</ol>
   2.938  
   2.939 -<p>			Otherwise,
   2.940 +			Otherwise,
   2.941  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
   2.942  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
   2.943  
   2.944  		<dt>U+0024 DOLLAR SIGN ($)
   2.945  		<dd>
   2.946 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
   2.947 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
   2.948  			U+003D EQUALS SIGN (=),
   2.949  			consume it
   2.950  			and return a <a class="production css-code" data-link-type=type href=#typedef-suffix-match-token title="<suffix-match-token>">&lt;suffix-match-token&gt;</a>.
   2.951  
   2.952 -<p>			Otherwise,
   2.953 +			Otherwise,
   2.954  			emit a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
   2.955  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
   2.956  
   2.957  		<dt>U+0027 APOSTROPHE (')
   2.958  		<dd>
   2.959 -<p>			<a data-link-type=dfn href=#consume-a-string-token0 title="consume a string token">Consume a string token</a>
   2.960 +			<a data-link-type=dfn href=#consume-a-string-token0 title="consume a string token">Consume a string token</a>
   2.961  			and return it.
   2.962  
   2.963  		<dt>U+0028 LEFT PARENTHESIS (()
   2.964  		<dd>
   2.965 -<p>			Return a <a href=#tokendef-open-paren>&lt;(-token&gt;</a>.
   2.966 +			Return a <a href=#tokendef-open-paren>&lt;(-token&gt;</a>.
   2.967  
   2.968  		<dt>U+0029 RIGHT PARENTHESIS ())
   2.969  		<dd>
   2.970 -<p>			Return a <a href=#tokendef-close-paren>&lt;)-token&gt;</a>.
   2.971 +			Return a <a href=#tokendef-close-paren>&lt;)-token&gt;</a>.
   2.972  
   2.973  		<dt>U+002A ASTERISK (*)
   2.974  		<dd>
   2.975 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
   2.976 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
   2.977  			U+003D EQUALS SIGN (=),
   2.978  			consume it
   2.979  			and return a <a class="production css-code" data-link-type=type href=#typedef-substring-match-token title="<substring-match-token>">&lt;substring-match-token&gt;</a>.
   2.980  
   2.981 -<p>			Otherwise,
   2.982 +			Otherwise,
   2.983  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
   2.984  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
   2.985  
   2.986  		<dt>U+002B PLUS SIGN (+)
   2.987  		<dd>
   2.988 -<p>			If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>,
   2.989 +			If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>,
   2.990  			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>,
   2.991  			<a data-link-type=dfn href=#consume-a-numeric-token0 title="consume a numeric token">consume a numeric token</a>
   2.992  			and return it.
   2.993  
   2.994 -<p>			Otherwise,
   2.995 +			Otherwise,
   2.996  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
   2.997  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
   2.998  
   2.999  		<dt>U+002C COMMA (,)
  2.1000  		<dd>
  2.1001 -<p>			Return a <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a>.
  2.1002 +			Return a <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a>.
  2.1003  
  2.1004  		<dt>U+002D HYPHEN-MINUS (-)
  2.1005  		<dd>
  2.1006 -<p>			If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>,
  2.1007 +			If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>,
  2.1008  			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>,
  2.1009  			<a data-link-type=dfn href=#consume-a-numeric-token0 title="consume a numeric token">consume a numeric token</a>,
  2.1010  			and return it.
  2.1011  
  2.1012 -<p>			Otherwise,
  2.1013 +			Otherwise,
  2.1014  			if the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="starts with an identifier">starts with an identifier</a>,
  2.1015  			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>,
  2.1016  			<a data-link-type=dfn href=#consume-an-ident-like-token0 title="consume an ident-like token">consume an ident-like token</a>,
  2.1017  			and return it.
  2.1018  
  2.1019 -<p>			Otherwise,
  2.1020 +			Otherwise,
  2.1021  			if the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 input code points</a> are
  2.1022  			U+002D HYPHEN-MINUS
  2.1023  			U+003E GREATER-THAN SIGN
  2.1024 @@ -2062,32 +2089,32 @@
  2.1025  			consume them
  2.1026  			and return a <a class="production css-code" data-link-type=type href=#typedef-cdc-token title="<cdc-token>">&lt;CDC-token&gt;</a>.
  2.1027  
  2.1028 -<p>			Otherwise,
  2.1029 +			Otherwise,
  2.1030  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1031  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1032  
  2.1033  		<dt>U+002E FULL STOP (.)
  2.1034  		<dd>
  2.1035 -<p>			If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>,
  2.1036 +			If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>,
  2.1037  			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>,
  2.1038  			<a data-link-type=dfn href=#consume-a-numeric-token0 title="consume a numeric token">consume a numeric token</a>,
  2.1039  			and return it.
  2.1040  
  2.1041 -<p>			Otherwise,
  2.1042 +			Otherwise,
  2.1043  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1044  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1045  
  2.1046  		<dt>U+003A COLON (:)
  2.1047  		<dd>
  2.1048 -<p>			Return a <a class="production css-code" data-link-type=type href=#typedef-colon-token title="<colon-token>">&lt;colon-token&gt;</a>.
  2.1049 +			Return a <a class="production css-code" data-link-type=type href=#typedef-colon-token title="<colon-token>">&lt;colon-token&gt;</a>.
  2.1050  
  2.1051  		<dt>U+003B SEMICOLON (;)
  2.1052  		<dd>
  2.1053 -<p>			Return a <a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a>.
  2.1054 +			Return a <a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a>.
  2.1055  
  2.1056  		<dt>U+003C LESS-THAN SIGN (&lt;)
  2.1057  		<dd>
  2.1058 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a> are
  2.1059 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a> are
  2.1060  			U+0021 EXCLAMATION MARK
  2.1061  			U+002D HYPHEN-MINUS
  2.1062  			U+002D HYPHEN-MINUS
  2.1063 @@ -2095,71 +2122,71 @@
  2.1064  			consume them
  2.1065  			and return a <a class="production css-code" data-link-type=type href=#typedef-cdo-token title="<cdo-token>">&lt;CDO-token&gt;</a>.
  2.1066  
  2.1067 -<p>			Otherwise,
  2.1068 +			Otherwise,
  2.1069  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1070  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1071  
  2.1072  		<dt>U+0040 COMMERCIAL AT (@)
  2.1073  		<dd>
  2.1074 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a>
  2.1075 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a>
  2.1076  			<a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="would start an identifier">would start an identifier</a>,
  2.1077  			<a data-link-type=dfn href=#consume-a-name0 title="consume a name">consume a name</a>,
  2.1078  			create an <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a> with its value set to the returned value,
  2.1079  			and return it.
  2.1080  
  2.1081 -<p>			Otherwise,
  2.1082 +			Otherwise,
  2.1083  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1084  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1085  
  2.1086  		<dt>U+005B LEFT SQUARE BRACKET ([)
  2.1087  		<dd>
  2.1088 -<p>			Return a <a href=#tokendef-open-square>&lt;[-token&gt;</a>.
  2.1089 +			Return a <a href=#tokendef-open-square>&lt;[-token&gt;</a>.
  2.1090  
  2.1091  		<dt>U+005C REVERSE SOLIDUS (\)
  2.1092  		<dd>
  2.1093 -<p>			If the input stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>,
  2.1094 +			If the input stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>,
  2.1095  			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>,
  2.1096  			<a data-link-type=dfn href=#consume-an-ident-like-token0 title="consume an ident-like token">consume an ident-like token</a>,
  2.1097  			and return it.
  2.1098  
  2.1099 -<p>			Otherwise,
  2.1100 +			Otherwise,
  2.1101  			this is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.1102  			Return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1103  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1104  
  2.1105  		<dt>U+005D RIGHT SQUARE BRACKET (])
  2.1106  		<dd>
  2.1107 -<p>			Return a <a href=#tokendef-close-square>&lt;]-token&gt;</a>.
  2.1108 +			Return a <a href=#tokendef-close-square>&lt;]-token&gt;</a>.
  2.1109  
  2.1110  		<dt>U+005E CIRCUMFLEX ACCENT (^)
  2.1111  		<dd>
  2.1112 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
  2.1113 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
  2.1114  			U+003D EQUALS SIGN (=),
  2.1115  			consume it
  2.1116  			and return a <a class="production css-code" data-link-type=type href=#typedef-prefix-match-token title="<prefix-match-token>">&lt;prefix-match-token&gt;</a>.
  2.1117  
  2.1118 -<p>			Otherwise,
  2.1119 +			Otherwise,
  2.1120  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1121  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1122  
  2.1123  		<dt>U+007B LEFT CURLY BRACKET ({)
  2.1124  		<dd>
  2.1125 -<p>			Return a <a href=#tokendef-open-curly>&lt;{-token&gt;</a>.
  2.1126 +			Return a <a href=#tokendef-open-curly>&lt;{-token&gt;</a>.
  2.1127  
  2.1128  		<dt>U+007D RIGHT CURLY BRACKET (})
  2.1129  		<dd>
  2.1130 -<p>			Return a <a href=#tokendef-close-curly>&lt;}-token&gt;</a>.
  2.1131 +			Return a <a href=#tokendef-close-curly>&lt;}-token&gt;</a>.
  2.1132  
  2.1133  		<dt><a data-link-type=dfn href=#digit title=digit>digit</a>
  2.1134  		<dd>
  2.1135 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">Reconsume the current input code point</a>,
  2.1136 +			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">Reconsume the current input code point</a>,
  2.1137  			<a data-link-type=dfn href=#consume-a-numeric-token0 title="consume a numeric token">consume a numeric token</a>,
  2.1138  			and return it.
  2.1139  
  2.1140  		<dt>U+0055 LATIN CAPITAL LETTER U (U)
  2.1141  		<dt>U+0075 LATIN SMALL LETTER U (u)
  2.1142  		<dd>
  2.1143 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 input code points</a> are
  2.1144 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 input code points</a> are
  2.1145  			U+002B PLUS SIGN (+)
  2.1146  			followed by a <a data-link-type=dfn href=#hex-digit title="hex digit">hex digit</a>
  2.1147  			or U+003F QUESTION MARK (?),
  2.1148 @@ -2168,52 +2195,52 @@
  2.1149  			<a data-link-type=dfn href=#consume-a-unicode-range-token0 title="consume a unicode-range token">Consume a unicode-range token</a>
  2.1150  			and return it.
  2.1151  
  2.1152 -<p>			Otherwise,
  2.1153 +			Otherwise,
  2.1154  			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>,
  2.1155  			<a data-link-type=dfn href=#consume-an-ident-like-token0 title="consume an ident-like token">consume an ident-like token</a>,
  2.1156  			and return it.
  2.1157  
  2.1158  		<dt><a data-link-type=dfn href=#name-start-code-point title="name-start code point">name-start code point</a>
  2.1159  		<dd>
  2.1160 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">Reconsume the current input code point</a>,
  2.1161 +			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">Reconsume the current input code point</a>,
  2.1162  			<a data-link-type=dfn href=#consume-an-ident-like-token0 title="consume an ident-like token">consume an ident-like token</a>,
  2.1163  			and return it.
  2.1164  
  2.1165  		<dt>U+007C VERTICAL LINE (|)
  2.1166  		<dd>
  2.1167 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
  2.1168 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
  2.1169  			U+003D EQUALS SIGN (=),
  2.1170  			consume it
  2.1171  			and return a <a class="production css-code" data-link-type=type href=#typedef-dash-match-token title="<dash-match-token>">&lt;dash-match-token&gt;</a>.
  2.1172  
  2.1173 -<p>			Otherwise,
  2.1174 +			Otherwise,
  2.1175  			if the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
  2.1176  			U+0073 VERTICAL LINE (|),
  2.1177  			consume it
  2.1178  			and return a <a class="production css-code" data-link-type=type href=#typedef-column-token title="<column-token>">&lt;column-token&gt;</a>.
  2.1179  
  2.1180 -<p>			Otherwise,
  2.1181 +			Otherwise,
  2.1182  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1183  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1184  
  2.1185  		<dt>U+007E TILDE (~)
  2.1186  		<dd>
  2.1187 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
  2.1188 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
  2.1189  			U+003D EQUALS SIGN (=),
  2.1190  			consume it
  2.1191  			and return an <a class="production css-code" data-link-type=type href=#typedef-include-match-token title="<include-match-token>">&lt;include-match-token&gt;</a>.
  2.1192  
  2.1193 -<p>			Otherwise,
  2.1194 +			Otherwise,
  2.1195  			return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1196  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1197  
  2.1198  		<dt>EOF
  2.1199  		<dd>
  2.1200 -<p>			Return an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>.
  2.1201 +			Return an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>.
  2.1202  
  2.1203  		<dt>anything else
  2.1204  		<dd>
  2.1205 -<p>			Return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1206 +			Return a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>
  2.1207  			with its value set to the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1208  	</dl>
  2.1209  
  2.1210 @@ -2221,10 +2248,10 @@
  2.1211  <h4 class="heading settled heading" data-level=4.3.2 id=consume-comments><span class=secno>4.3.2 </span><span class=content>
  2.1212  Consume comments</span><a class=self-link href=#consume-comments></a></h4>
  2.1213  
  2.1214 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-comments0>consume comments<a class=self-link href=#consume-comments0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1215 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-comments0>consume comments<a class=self-link href=#consume-comments0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1216  	It returns nothing.
  2.1217  
  2.1218 -<p>	If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next two input code point</a> are
  2.1219 +	If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next two input code point</a> are
  2.1220  	U+002F SOLIDUS (/) followed by a U+002A ASTERISK (*),
  2.1221  	consume them
  2.1222  	and all following <a data-link-type=dfn href=#code-point title="code points">code points</a> up to and including
  2.1223 @@ -2232,7 +2259,7 @@
  2.1224  	or up to an EOF code point.
  2.1225  	Return to the start of this step.
  2.1226  
  2.1227 -<p>	Otherwise,
  2.1228 +	Otherwise,
  2.1229  	return nothing.
  2.1230  
  2.1231  
  2.1232 @@ -2240,12 +2267,12 @@
  2.1233  <h4 class="heading settled heading" data-level=4.3.3 id=consume-a-numeric-token><span class=secno>4.3.3 </span><span class=content>
  2.1234  Consume a numeric token</span><a class=self-link href=#consume-a-numeric-token></a></h4>
  2.1235  
  2.1236 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-numeric-token0>consume a numeric token<a class=self-link href=#consume-a-numeric-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1237 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-numeric-token0>consume a numeric token<a class=self-link href=#consume-a-numeric-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1238  	It returns either a <a class="production css-code" data-link-type=type href=#typedef-number-token title="<number-token>">&lt;number-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-percentage-token title="<percentage-token>">&lt;percentage-token&gt;</a>, or <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a>.
  2.1239  
  2.1240 -<p>	<a data-link-type=dfn href=#consume-a-number0 title="consume a number">Consume a number</a>.
  2.1241 -
  2.1242 -<p>	If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a> <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="would start an identifier">would start an identifier</a>,
  2.1243 +	<a data-link-type=dfn href=#consume-a-number0 title="consume a number">Consume a number</a>.
  2.1244 +
  2.1245 +	If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a> <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="would start an identifier">would start an identifier</a>,
  2.1246  	then:
  2.1247  
  2.1248  	<ol>
  2.1249 @@ -2258,13 +2285,13 @@
  2.1250  		<li>Return the <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a>.
  2.1251  	</ol>
  2.1252  
  2.1253 -<p>	Otherwise,
  2.1254 +	Otherwise,
  2.1255  	if the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0025 PERCENTAGE SIGN (%),
  2.1256  	consume it.
  2.1257  	Create a <a class="production css-code" data-link-type=type href=#typedef-percentage-token title="<percentage-token>">&lt;percentage-token&gt;</a> with the same representation and value as the returned number,
  2.1258  	and return it.
  2.1259  
  2.1260 -<p>	Otherwise,
  2.1261 +	Otherwise,
  2.1262  	create a <a class="production css-code" data-link-type=type href=#typedef-number-token title="<number-token>">&lt;number-token&gt;</a> with the same representation, value, and type flag as the returned number,
  2.1263  	and return it.
  2.1264  
  2.1265 @@ -2272,25 +2299,25 @@
  2.1266  <h4 class="heading settled heading" data-level=4.3.4 id=consume-an-ident-like-token><span class=secno>4.3.4 </span><span class=content>
  2.1267  Consume an ident-like token</span><a class=self-link href=#consume-an-ident-like-token></a></h4>
  2.1268  
  2.1269 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-an-ident-like-token0>consume an ident-like token<a class=self-link href=#consume-an-ident-like-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1270 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-an-ident-like-token0>consume an ident-like token<a class=self-link href=#consume-an-ident-like-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1271  	It returns an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>, or <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a>.
  2.1272  
  2.1273 -<p>	<a data-link-type=dfn href=#consume-a-name0 title="consume a name">Consume a name</a>.
  2.1274 -
  2.1275 -<p>	If the returned string’s value is an <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a> match for "url",
  2.1276 +	<a data-link-type=dfn href=#consume-a-name0 title="consume a name">Consume a name</a>.
  2.1277 +
  2.1278 +	If the returned string’s value is an <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a> match for "url",
  2.1279  	and the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0028 LEFT PARENTHESIS ((),
  2.1280  	consume it.
  2.1281  	<a data-link-type=dfn href=#consume-a-url-token0 title="consume a url token">Consume a url token</a>,
  2.1282  	and return it.
  2.1283  
  2.1284 -<p>	Otherwise,
  2.1285 +	Otherwise,
  2.1286  	if the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0028 LEFT PARENTHESIS ((),
  2.1287  	consume it.
  2.1288  	Create a <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>
  2.1289  	with its value set to the returned string
  2.1290  	and return it.
  2.1291  
  2.1292 -<p>	Otherwise,
  2.1293 +	Otherwise,
  2.1294  	create an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>
  2.1295  	with its value set to the returned string
  2.1296  	and return it.
  2.1297 @@ -2299,94 +2326,94 @@
  2.1298  <h4 class="heading settled heading" data-level=4.3.5 id=consume-a-string-token><span class=secno>4.3.5 </span><span class=content>
  2.1299  Consume a string token</span><a class=self-link href=#consume-a-string-token></a></h4>
  2.1300  
  2.1301 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-string-token0>consume a string token<a class=self-link href=#consume-a-string-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1302 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-string-token0>consume a string token<a class=self-link href=#consume-a-string-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1303  	It returns either a <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a> or <a class="production css-code" data-link-type=type href=#typedef-bad-string-token title="<bad-string-token>">&lt;bad-string-token&gt;</a>.
  2.1304  
  2.1305 -<p>	This algorithm may be called with an <var>ending code point</var>,
  2.1306 +	This algorithm may be called with an <var>ending code point</var>,
  2.1307  	which denotes the <a data-link-type=dfn href=#code-point title="code point">code point</a> that ends the string.
  2.1308  	If an <var>ending code point</var> is not specified,
  2.1309  	the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a> is used.
  2.1310  
  2.1311 -<p>	Initially create a <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a> with its value set to the empty string.
  2.1312 -
  2.1313 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:
  2.1314 +	Initially create a <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a> with its value set to the empty string.
  2.1315 +
  2.1316 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:
  2.1317  
  2.1318  	<dl>
  2.1319  		<dt><var>ending code point</var>
  2.1320  		<dt>EOF
  2.1321  		<dd>
  2.1322 -<p>			Return the <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>.
  2.1323 +			Return the <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>.
  2.1324  
  2.1325  		<dt><a data-link-type=dfn href=#newline title=newline>newline</a>
  2.1326  		<dd>
  2.1327 -<p>			This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.1328 +			This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.1329  			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">Reconsume the current input code point</a>,
  2.1330  			create a <a class="production css-code" data-link-type=type href=#typedef-bad-string-token title="<bad-string-token>">&lt;bad-string-token&gt;</a>, and return it.
  2.1331  
  2.1332  		<dt>U+005C REVERSE SOLIDUS (\)
  2.1333  		<dd>
  2.1334 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is EOF,
  2.1335 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is EOF,
  2.1336  			do nothing.
  2.1337  
  2.1338 -<p>			Otherwise,
  2.1339 +			Otherwise,
  2.1340  			if the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is a newline,
  2.1341  			consume it.
  2.1342  
  2.1343 -<p>			Otherwise,
  2.1344 +			Otherwise,
  2.1345  			<span class=note>(the stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>)</span>
  2.1346  			<a data-link-type=dfn href=#consume-an-escaped-code-point0 title="consume an escaped code point">consume an escaped code point</a>
  2.1347  			and append the returned <a data-link-type=dfn href=#code-point title="code point">code point</a> to the <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>’s value.
  2.1348  
  2.1349  		<dt>anything else
  2.1350  		<dd>
  2.1351 -<p>			Append the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a> to the <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>’s value.
  2.1352 +			Append the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a> to the <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>’s value.
  2.1353  	</dl>
  2.1354  
  2.1355  
  2.1356  <h4 class="heading settled heading" data-level=4.3.6 id=consume-a-url-token><span class=secno>4.3.6 </span><span class=content>
  2.1357  Consume a url token</span><a class=self-link href=#consume-a-url-token></a></h4>
  2.1358  
  2.1359 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-url-token0>consume a url token<a class=self-link href=#consume-a-url-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1360 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-url-token0>consume a url token<a class=self-link href=#consume-a-url-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1361  	It returns either a <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a> or a <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a>.
  2.1362  
  2.1363 -<p class=note>	Note: This algorithm assumes that the initial "url(" has already been consumed.
  2.1364 -
  2.1365 -<p>	Execute the following steps in order:
  2.1366 +	Note: This algorithm assumes that the initial "url(" has already been consumed.
  2.1367 +
  2.1368 +	Execute the following steps in order:
  2.1369  
  2.1370  	<ol>
  2.1371  		<li>
  2.1372 -<p>			Initially create a <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a> with its value set to the empty string.
  2.1373 +			Initially create a <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a> with its value set to the empty string.
  2.1374  
  2.1375  		<li>
  2.1376 -<p>			Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible.
  2.1377 +			Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible.
  2.1378  
  2.1379  		<li>
  2.1380 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is EOF,
  2.1381 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is EOF,
  2.1382  			return the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>.
  2.1383  
  2.1384  		<li>
  2.1385 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is a U+0022 QUOTATION MARK (") or U+0027 APOSTROPHE ('),
  2.1386 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is a U+0022 QUOTATION MARK (") or U+0027 APOSTROPHE ('),
  2.1387  			then:
  2.1388  
  2.1389  			<ol>
  2.1390  				<li>
  2.1391 -<p>					Consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>,
  2.1392 +					Consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>,
  2.1393  					then <a data-link-type=dfn href=#consume-a-string-token0 title="consume a string token">consume a string token</a>.
  2.1394  
  2.1395  				<li>
  2.1396 -<p>					If a <a class="production css-code" data-link-type=type href=#typedef-bad-string-token title="<bad-string-token>">&lt;bad-string-token&gt;</a> was returned,
  2.1397 +					If a <a class="production css-code" data-link-type=type href=#typedef-bad-string-token title="<bad-string-token>">&lt;bad-string-token&gt;</a> was returned,
  2.1398  					<a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url0 title="consume the remnants of a bad url">consume the remnants of a bad url</a>,
  2.1399  					create a <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a>,
  2.1400  					and return it.
  2.1401  
  2.1402  				<li>
  2.1403 -<p>					Set the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>’s value to the returned <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>’s value.
  2.1404 +					Set the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>’s value to the returned <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a>’s value.
  2.1405  
  2.1406  				<li>
  2.1407 -<p>					Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible.
  2.1408 +					Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible.
  2.1409  
  2.1410  				<li>
  2.1411 -<p>					If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0029 RIGHT PARENTHESIS ()) or EOF,
  2.1412 +					If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0029 RIGHT PARENTHESIS ()) or EOF,
  2.1413  					consume it and return the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>;
  2.1414  					otherwise,
  2.1415  					<a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url0 title="consume the remnants of a bad url">consume the remnants of a bad url</a>,
  2.1416 @@ -2395,17 +2422,17 @@
  2.1417  			</ol>
  2.1418  
  2.1419  		<li>
  2.1420 -<p>			Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:
  2.1421 +			Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:
  2.1422  
  2.1423  			<dl>
  2.1424  				<dt>U+0029 RIGHT PARENTHESIS ())
  2.1425  				<dt>EOF
  2.1426  				<dd>
  2.1427 -<p>					Return the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>.
  2.1428 +					Return the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>.
  2.1429  
  2.1430  				<dt><a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a>
  2.1431  				<dd>
  2.1432 -<p>					Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible.
  2.1433 +					Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible.
  2.1434  					If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0029 RIGHT PARENTHESIS ()) or EOF,
  2.1435  					consume it and return the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>;
  2.1436  					otherwise,
  2.1437 @@ -2418,18 +2445,18 @@
  2.1438  				<dt>U+0028 LEFT PARENTHESIS (()
  2.1439  				<dt><a data-link-type=dfn href=#non-printable-code-point title="non-printable code point">non-printable code point</a>
  2.1440  				<dd>
  2.1441 -<p>					This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.1442 +					This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.1443  					<a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url0 title="consume the remnants of a bad url">Consume the remnants of a bad url</a>,
  2.1444  					create a <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a>,
  2.1445  					and return it.
  2.1446  
  2.1447  				<dt>U+005C REVERSE SOLIDUS
  2.1448  				<dd>
  2.1449 -<p>					If the stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>,
  2.1450 +					If the stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>,
  2.1451  					<a data-link-type=dfn href=#consume-an-escaped-code-point0 title="consume an escaped code point">consume an escaped code point</a>
  2.1452  					and append the returned <a data-link-type=dfn href=#code-point title="code point">code point</a> to the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>’s value.
  2.1453  
  2.1454 -<p>					Otherwise,
  2.1455 +					Otherwise,
  2.1456  					this is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.1457  					<a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url0 title="consume the remnants of a bad url">Consume the remnants of a bad url</a>,
  2.1458  					create a <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a>,
  2.1459 @@ -2437,7 +2464,7 @@
  2.1460  
  2.1461  				<dt>anything else
  2.1462  				<dd>
  2.1463 -<p>					Append the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>
  2.1464 +					Append the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>
  2.1465  					to the <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>’s value.
  2.1466  			</dl>
  2.1467  	</ol>
  2.1468 @@ -2446,45 +2473,45 @@
  2.1469  <h4 class="heading settled heading" data-level=4.3.7 id=consume-a-unicode-range-token><span class=secno>4.3.7 </span><span class=content>
  2.1470  Consume a unicode-range token</span><a class=self-link href=#consume-a-unicode-range-token></a></h4>
  2.1471  
  2.1472 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-unicode-range-token0>consume a unicode-range token<a class=self-link href=#consume-a-unicode-range-token0></a></dfn>.
  2.1473 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-unicode-range-token0>consume a unicode-range token<a class=self-link href=#consume-a-unicode-range-token0></a></dfn>.
  2.1474  	It returns a <a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a>.
  2.1475  
  2.1476 -<p class=note>	Note: This algorithm assumes that the initial "u+" has been consumed,
  2.1477 +	Note: This algorithm assumes that the initial "u+" has been consumed,
  2.1478  	and the next <a data-link-type=dfn href=#code-point title="code point">code point</a> verified to be a <a data-link-type=dfn href=#hex-digit title="hex digit">hex digit</a> or a "?".
  2.1479  
  2.1480 -<p>	Execute the following steps in order:
  2.1481 +	Execute the following steps in order:
  2.1482  
  2.1483  	<ol>
  2.1484  		<li>
  2.1485 -<p>			Consume as many <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> as possible, but no more than 6.
  2.1486 +			Consume as many <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> as possible, but no more than 6.
  2.1487  			If less than 6 <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> were consumed,
  2.1488  			consume as many U+003F QUESTION MARK (?) <a data-link-type=dfn href=#code-point title="code points">code points</a> as possible,
  2.1489  			but no more than enough to make the total of <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> and U+003F QUESTION MARK (?) <a data-link-type=dfn href=#code-point title="code points">code points</a> equal to 6.
  2.1490  
  2.1491 -<p>			If any U+003F QUESTION MARK (?) <a data-link-type=dfn href=#code-point title="code points">code points</a> were consumed,
  2.1492 +			If any U+003F QUESTION MARK (?) <a data-link-type=dfn href=#code-point title="code points">code points</a> were consumed,
  2.1493  			then:
  2.1494  
  2.1495  			<ol>
  2.1496  				<li>
  2.1497 -<p>					Interpret the consumed <a data-link-type=dfn href=#code-point title="code points">code points</a> as a hexadecimal number,
  2.1498 +					Interpret the consumed <a data-link-type=dfn href=#code-point title="code points">code points</a> as a hexadecimal number,
  2.1499  					with the U+003F QUESTION MARK (?) <a data-link-type=dfn href=#code-point title="code points">code points</a> replaced by U+0030 DIGIT ZERO (0) <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1500  					This is the <a data-link-type=dfn href=#unicode-range-start title="start of the range">start of the range</a>.
  2.1501  
  2.1502  				<li>
  2.1503 -<p>					Interpret the consumed <a data-link-type=dfn href=#code-point title="code points">code points</a> as a hexadecimal number again,
  2.1504 +					Interpret the consumed <a data-link-type=dfn href=#code-point title="code points">code points</a> as a hexadecimal number again,
  2.1505  					with the U+003F QUESTION MARK (?) <a data-link-type=dfn href=#code-point title="code point">code point</a> replaced by U+0046 LATIN CAPITAL LETTER F (F) <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1506  					This is the <a data-link-type=dfn href=#unicode-range-end title="end of the range">end of the range</a>.
  2.1507  
  2.1508  				<li>
  2.1509 -<p>					Return a new <a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a> with the above start and end.
  2.1510 +					Return a new <a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a> with the above start and end.
  2.1511  			</ol>
  2.1512  
  2.1513 -<p>			Otherwise,
  2.1514 +			Otherwise,
  2.1515  			interpret the digits as a hexadecimal number.
  2.1516  			This is the <a data-link-type=dfn href=#unicode-range-start title="start of the range">start of the range</a>.
  2.1517  
  2.1518  		<li>
  2.1519 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 input code point</a> are
  2.1520 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 input code point</a> are
  2.1521  			U+002D HYPHEN-MINUS (-) followed by a <a data-link-type=dfn href=#hex-digit title="hex digit">hex digit</a>,
  2.1522  			then:
  2.1523  
  2.1524 @@ -2492,34 +2519,34 @@
  2.1525  				<li>Consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>.
  2.1526  
  2.1527  				<li>
  2.1528 -<p>					Consume as many <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> as possible, but no more than 6.
  2.1529 +					Consume as many <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> as possible, but no more than 6.
  2.1530  					Interpret the digits as a hexadecimal number.
  2.1531  					This is the <a data-link-type=dfn href=#unicode-range-end title="end of the range">end of the range</a>.
  2.1532  			</ol>
  2.1533  
  2.1534  		<li>
  2.1535 -<p>			Otherwise, the <a data-link-type=dfn href=#unicode-range-end title="end of the range">end of the range</a> is the <a data-link-type=dfn href=#unicode-range-start title="start of the range">start of the range</a>.
  2.1536 +			Otherwise, the <a data-link-type=dfn href=#unicode-range-end title="end of the range">end of the range</a> is the <a data-link-type=dfn href=#unicode-range-start title="start of the range">start of the range</a>.
  2.1537  
  2.1538  		<li>
  2.1539 -<p>			Return the <a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a> with the above start and end.
  2.1540 +			Return the <a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a> with the above start and end.
  2.1541  	</ol>
  2.1542  
  2.1543  
  2.1544  <h4 class="heading settled heading" data-level=4.3.8 id=consume-an-escaped-code-point><span class=secno>4.3.8 </span><span class=content>
  2.1545  Consume an escaped code point</span><a class=self-link href=#consume-an-escaped-code-point></a></h4>
  2.1546  
  2.1547 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-an-escaped-code-point0>consume an escaped code point<a class=self-link href=#consume-an-escaped-code-point0></a></dfn>.
  2.1548 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-an-escaped-code-point0>consume an escaped code point<a class=self-link href=#consume-an-escaped-code-point0></a></dfn>.
  2.1549  	It assumes that the U+005C REVERSE SOLIDUS (\) has already been consumed
  2.1550  	and that the next input code point has already been verified
  2.1551  	to not be a <a data-link-type=dfn href=#newline title=newline>newline</a>.
  2.1552  	It will return a <a data-link-type=dfn href=#code-point title="code point">code point</a>.
  2.1553  
  2.1554 -<p>	Consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>.
  2.1555 +	Consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>.
  2.1556  
  2.1557  	<dl>
  2.1558  		<dt><a data-link-type=dfn href=#hex-digit title="hex digit">hex digit</a>
  2.1559  		<dd>
  2.1560 -<p>			Consume as many <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> as possible, but no more than 5.
  2.1561 +			Consume as many <a data-link-type=dfn href=#hex-digit title="hex digits">hex digits</a> as possible, but no more than 5.
  2.1562  			<span class=note>Note that this means 1-6 hex digits have been consumed in total.</span>
  2.1563  			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is
  2.1564  			<a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a>,
  2.1565 @@ -2533,18 +2560,18 @@
  2.1566  
  2.1567  		<dt>EOF code point
  2.1568  		<dd>
  2.1569 -<p>			Return U+FFFD REPLACEMENT CHARACTER (�).
  2.1570 +			Return U+FFFD REPLACEMENT CHARACTER (�).
  2.1571  
  2.1572  		<dt>anything else
  2.1573  		<dd>
  2.1574 -<p>			Return the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1575 +			Return the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a>.
  2.1576  	</dl>
  2.1577  
  2.1578  
  2.1579  <h4 class="heading settled heading" data-level=4.3.9 id=starts-with-a-valid-escape><span class=secno>4.3.9 </span><span class=content>
  2.1580  Check if two code points are a valid escape</span><a class=self-link href=#starts-with-a-valid-escape></a></h4>
  2.1581  
  2.1582 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-two-code-points-are-a-valid-escape title="check if two code points are a valid escape|are a valid escape|starts with a valid escape">check if two code points are a valid escape<a class=self-link href=#check-if-two-code-points-are-a-valid-escape></a></dfn>.
  2.1583 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-two-code-points-are-a-valid-escape title="check if two code points are a valid escape|are a valid escape|starts with a valid escape">check if two code points are a valid escape<a class=self-link href=#check-if-two-code-points-are-a-valid-escape></a></dfn>.
  2.1584  	The algorithm described here can be called explicitly with two <a data-link-type=dfn href=#code-point title="code points">code points</a>,
  2.1585  	or can be called with the input stream itself.
  2.1586  	In the latter case, the two <a data-link-type=dfn href=#code-point title="code points">code points</a> in question are
  2.1587 @@ -2552,22 +2579,22 @@
  2.1588  	and the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>,
  2.1589  	in that order.
  2.1590  
  2.1591 -<p class=note>	Note: This algorithm will not consume any additional <a data-link-type=dfn href=#code-point title="code point">code point</a>.
  2.1592 -
  2.1593 -<p>	If the first <a data-link-type=dfn href=#code-point title="code point">code point</a> is not U+005D REVERSE SOLIDUS (\),
  2.1594 +	Note: This algorithm will not consume any additional <a data-link-type=dfn href=#code-point title="code point">code point</a>.
  2.1595 +
  2.1596 +	If the first <a data-link-type=dfn href=#code-point title="code point">code point</a> is not U+005D REVERSE SOLIDUS (\),
  2.1597  	return false.
  2.1598  
  2.1599 -<p>	Otherwise,
  2.1600 +	Otherwise,
  2.1601  	if the second <a data-link-type=dfn href=#code-point title="code point">code point</a> is a <a data-link-type=dfn href=#newline title=newline>newline</a>,
  2.1602  	return false.
  2.1603  
  2.1604 -<p>	Otherwise, return true.
  2.1605 +	Otherwise, return true.
  2.1606  
  2.1607  
  2.1608  <h4 class="heading settled heading" data-level=4.3.10 id=would-start-an-identifier><span class=secno>4.3.10 </span><span class=content>
  2.1609  Check if three code points would start an identifier</span><a class=self-link href=#would-start-an-identifier></a></h4>
  2.1610  
  2.1611 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-three-code-points-would-start-an-identifier title="check if three code points would start an identifier|starts with an identifier|start with an identifier|would start an identifier">check if three code points would start an <a data-link-type=dfn href=#identifier title=identifier>identifier</a><a class=self-link href=#check-if-three-code-points-would-start-an-identifier></a></dfn>.
  2.1612 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-three-code-points-would-start-an-identifier title="check if three code points would start an identifier|starts with an identifier|start with an identifier|would start an identifier">check if three code points would start an <a data-link-type=dfn href=#identifier title=identifier>identifier</a><a class=self-link href=#check-if-three-code-points-would-start-an-identifier></a></dfn>.
  2.1613  	The algorithm described here can be called explicitly with three <a data-link-type=dfn href=#code-point title="code points">code points</a>,
  2.1614  	or can be called with the input stream itself.
  2.1615  	In the latter case, the three <a data-link-type=dfn href=#code-point title="code points">code points</a> in question are
  2.1616 @@ -2575,14 +2602,14 @@
  2.1617  	and the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next two input code points</a>,
  2.1618  	in that order.
  2.1619  
  2.1620 -<p class=note>	Note: This algorithm will not consume any additional <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1621 -
  2.1622 -<p>	Look at the first <a data-link-type=dfn href=#code-point title="code point">code point</a>:
  2.1623 +	Note: This algorithm will not consume any additional <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1624 +
  2.1625 +	Look at the first <a data-link-type=dfn href=#code-point title="code point">code point</a>:
  2.1626  
  2.1627  	<dl>
  2.1628  		<dt>U+002D HYPHEN-MINUS
  2.1629  		<dd>
  2.1630 -<p>			If the second <a data-link-type=dfn href=#code-point title="code point">code point</a> is a <a data-link-type=dfn href=#name-start-code-point title="name-start code point">name-start code point</a>
  2.1631 +			If the second <a data-link-type=dfn href=#code-point title="code point">code point</a> is a <a data-link-type=dfn href=#name-start-code-point title="name-start code point">name-start code point</a>
  2.1632  			or a U+002D HYPHEN-MINUS,
  2.1633  			or the second and third <a data-link-type=dfn href=#code-point title="code points">code points</a> <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="are a valid escape">are a valid escape</a>,
  2.1634  			return true.
  2.1635 @@ -2590,19 +2617,23 @@
  2.1636  
  2.1637  		<dt><a data-link-type=dfn href=#name-start-code-point title="name-start code point">name-start code point</a>
  2.1638  		<dd>
  2.1639 -<p>			Return true.
  2.1640 +			Return true.
  2.1641  
  2.1642  		<dt>U+005C REVERSE SOLIDUS (\)
  2.1643  		<dd>
  2.1644 -<p>			If the first and second <a data-link-type=dfn href=#code-point title="code points">code points</a> <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="are a valid escape">are a valid escape</a>,
  2.1645 +			If the first and second <a data-link-type=dfn href=#code-point title="code points">code points</a> <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="are a valid escape">are a valid escape</a>,
  2.1646  			return true.
  2.1647  			Otherwise, return false.
  2.1648 +
  2.1649 +		<dt>anything else
  2.1650 +		<dd>
  2.1651 +			Return false.
  2.1652  	</dl>
  2.1653  
  2.1654  <h4 class="heading settled heading" data-level=4.3.11 id=starts-with-a-number><span class=secno>4.3.11 </span><span class=content>
  2.1655  Check if three code points would start a number</span><a class=self-link href=#starts-with-a-number></a></h4>
  2.1656  
  2.1657 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-three-code-points-would-start-a-number title="check if three code points would start a number|starts with a number|start with a number|would start a number">check if three code points would start a number<a class=self-link href=#check-if-three-code-points-would-start-a-number></a></dfn>.
  2.1658 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-three-code-points-would-start-a-number title="check if three code points would start a number|starts with a number|start with a number|would start a number">check if three code points would start a number<a class=self-link href=#check-if-three-code-points-would-start-a-number></a></dfn>.
  2.1659  	The algorithm described here can be called explicitly with three <a data-link-type=dfn href=#code-point title="code points">code points</a>,
  2.1660  	or can be called with the input stream itself.
  2.1661  	In the latter case, the three <a data-link-type=dfn href=#code-point title="code points">code points</a> in question are
  2.1662 @@ -2610,74 +2641,74 @@
  2.1663  	and the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next two input code points</a>,
  2.1664  	in that order.
  2.1665  
  2.1666 -<p class=note>	Note: This algorithm will not consume any additional <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1667 -
  2.1668 -<p>	Look at the first <a data-link-type=dfn href=#code-point title="code point">code point</a>:
  2.1669 +	Note: This algorithm will not consume any additional <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1670 +
  2.1671 +	Look at the first <a data-link-type=dfn href=#code-point title="code point">code point</a>:
  2.1672  
  2.1673  	<dl>
  2.1674  		<dt>U+002B PLUS SIGN (+)
  2.1675  		<dt>U+002D HYPHEN-MINUS (-)
  2.1676  		<dd>
  2.1677 -<p>			If the second <a data-link-type=dfn href=#code-point title="code point">code point</a>
  2.1678 +			If the second <a data-link-type=dfn href=#code-point title="code point">code point</a>
  2.1679  			is a <a data-link-type=dfn href=#digit title=digit>digit</a>,
  2.1680  			return true.
  2.1681  
  2.1682 -<p>			Otherwise,
  2.1683 +			Otherwise,
  2.1684  			if the second <a data-link-type=dfn href=#code-point title="code point">code point</a>
  2.1685  			is a U+002E FULL STOP (.)
  2.1686  			and the third <a data-link-type=dfn href=#code-point title="code point">code point</a>
  2.1687  			is a <a data-link-type=dfn href=#digit title=digit>digit</a>,
  2.1688  			return true.
  2.1689  
  2.1690 -<p>			Otherwise, return false.
  2.1691 +			Otherwise, return false.
  2.1692  
  2.1693  		<dt>U+002E FULL STOP (.)
  2.1694  		<dd>
  2.1695 -<p>			If the second <a data-link-type=dfn href=#code-point title="code point">code point</a>
  2.1696 +			If the second <a data-link-type=dfn href=#code-point title="code point">code point</a>
  2.1697  			is a <a data-link-type=dfn href=#digit title=digit>digit</a>,
  2.1698  			return true.
  2.1699  			Otherwise, return false.
  2.1700  
  2.1701  		<dt><a data-link-type=dfn href=#digit title=digit>digit</a>
  2.1702  		<dd>
  2.1703 -<p>			Return true.
  2.1704 +			Return true.
  2.1705  
  2.1706  		<dt>anything else
  2.1707  		<dd>
  2.1708 -<p>			Return false.
  2.1709 +			Return false.
  2.1710  	</dl>
  2.1711  
  2.1712  
  2.1713  <h4 class="heading settled heading" data-level=4.3.12 id=consume-a-name><span class=secno>4.3.12 </span><span class=content>
  2.1714  Consume a name</span><a class=self-link href=#consume-a-name></a></h4>
  2.1715  
  2.1716 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-name0>consume a name<a class=self-link href=#consume-a-name0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1717 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-name0>consume a name<a class=self-link href=#consume-a-name0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1718  	It returns a string containing
  2.1719  	the largest name that can be formed from adjacent <a data-link-type=dfn href=#code-point title="code points">code points</a> in the stream, starting from the first.
  2.1720  
  2.1721 -<p class=note>	Note: This algorithm does not do the verification of the first few <a data-link-type=dfn href=#code-point title="code points">code points</a>
  2.1722 +	Note: This algorithm does not do the verification of the first few <a data-link-type=dfn href=#code-point title="code points">code points</a>
  2.1723  	that are necessary to ensure the returned <a data-link-type=dfn href=#code-point title="code points">code points</a> would constitute an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>.
  2.1724  	If that is the intended use,
  2.1725  	ensure that the stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="starts with an identifier">starts with an identifier</a>
  2.1726  	before calling this algorithm.
  2.1727  
  2.1728 -<p>	Let <var>result</var> initially be an empty string.
  2.1729 -
  2.1730 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:
  2.1731 +	Let <var>result</var> initially be an empty string.
  2.1732 +
  2.1733 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:
  2.1734  
  2.1735  	<dl>
  2.1736  		<dt><a data-link-type=dfn href=#name-code-point title="name code point">name code point</a>
  2.1737  		<dd>
  2.1738 -<p>			Append the <a data-link-type=dfn href=#code-point title="code point">code point</a> to <var>result</var>.
  2.1739 +			Append the <a data-link-type=dfn href=#code-point title="code point">code point</a> to <var>result</var>.
  2.1740  
  2.1741  		<dt>the stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>
  2.1742  		<dd>
  2.1743 -<p>			<a data-link-type=dfn href=#consume-an-escaped-code-point0 title="consume an escaped code point">Consume an escaped code point</a>.
  2.1744 +			<a data-link-type=dfn href=#consume-an-escaped-code-point0 title="consume an escaped code point">Consume an escaped code point</a>.
  2.1745  			Append the returned <a data-link-type=dfn href=#code-point title="code point">code point</a> to <var>result</var>.
  2.1746  
  2.1747  		<dt>anything else
  2.1748  		<dd>
  2.1749 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">Reconsume the current input code point</a>.
  2.1750 +			<a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">Reconsume the current input code point</a>.
  2.1751  			Return <var>result</var>.
  2.1752  	</dl>
  2.1753  
  2.1754 @@ -2685,34 +2716,34 @@
  2.1755  <h4 class="heading settled heading" data-level=4.3.13 id=consume-a-number><span class=secno>4.3.13 </span><span class=content>
  2.1756  Consume a number</span><a class=self-link href=#consume-a-number></a></h4>
  2.1757  
  2.1758 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-number0>consume a number<a class=self-link href=#consume-a-number0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1759 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-number0>consume a number<a class=self-link href=#consume-a-number0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>.
  2.1760  	It returns a 3-tuple of
  2.1761  	a string representation,
  2.1762  	a numeric value,
  2.1763  	and a type flag which is either "integer" or "number".
  2.1764  
  2.1765 -<p class=note>	Note: This algorithm does not do the verification of the first few <a data-link-type=dfn href=#code-point title="code points">code points</a>
  2.1766 +	Note: This algorithm does not do the verification of the first few <a data-link-type=dfn href=#code-point title="code points">code points</a>
  2.1767  	that are necessary to ensure a number can be obtained from the stream.
  2.1768  	Ensure that the stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>
  2.1769  	before calling this algorithm.
  2.1770  
  2.1771 -<p>	Execute the following steps in order:
  2.1772 +	Execute the following steps in order:
  2.1773  
  2.1774  	<ol>
  2.1775  		<li>
  2.1776 -<p>			Initially set <var>repr</var> to the empty string
  2.1777 +			Initially set <var>repr</var> to the empty string
  2.1778  			and <var>type</var> to "integer".
  2.1779  
  2.1780  		<li>
  2.1781 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+002B PLUS SIGN (+) or U+002D HYPHEN-MINUS (-),
  2.1782 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+002B PLUS SIGN (+) or U+002D HYPHEN-MINUS (-),
  2.1783  			consume it and append it to <var>repr</var>.
  2.1784  
  2.1785  		<li>
  2.1786 -<p>			While the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is a <a data-link-type=dfn href=#digit title=digit>digit</a>,
  2.1787 +			While the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is a <a data-link-type=dfn href=#digit title=digit>digit</a>,
  2.1788  			consume it and append it to <var>repr</var>.
  2.1789  
  2.1790  		<li>
  2.1791 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 input code points</a> are
  2.1792 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 input code points</a> are
  2.1793  			U+002E FULL STOP (.) followed by a <a data-link-type=dfn href=#digit title=digit>digit</a>,
  2.1794  			then:
  2.1795  
  2.1796 @@ -2724,7 +2755,7 @@
  2.1797  			</ol>
  2.1798  
  2.1799  		<li>
  2.1800 -<p>			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 or 3 input code points</a> are
  2.1801 +			If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 2 or 3 input code points</a> are
  2.1802  			U+0045 LATIN CAPITAL LETTER E (E) or U+0065 LATIN SMALL LETTER E (e),
  2.1803  			optionally followed by U+002D HYPHEN-MINUS (-) or U+002B PLUS SIGN (+),
  2.1804  			followed by a <a data-link-type=dfn href=#digit title=digit>digit</a>,
  2.1805 @@ -2738,25 +2769,25 @@
  2.1806  			</ol>
  2.1807  
  2.1808  		<li>
  2.1809 -<p>			<a data-link-type=dfn href=#convert-a-string-to-a-number0 title="convert a string to a number">Convert <var>repr</var> to a number</a>,
  2.1810 +			<a data-link-type=dfn href=#convert-a-string-to-a-number0 title="convert a string to a number">Convert <var>repr</var> to a number</a>,
  2.1811  			and set the <var>value</var> to the returned value.
  2.1812  
  2.1813  		<li>
  2.1814 -<p>			Return a 3-tuple of <var>repr</var>, <var>value</var>, and <var>type</var>.
  2.1815 +			Return a 3-tuple of <var>repr</var>, <var>value</var>, and <var>type</var>.
  2.1816  	</ol>
  2.1817  
  2.1818  
  2.1819  <h4 class="heading settled heading" data-level=4.3.14 id=convert-a-string-to-a-number><span class=secno>4.3.14 </span><span class=content>
  2.1820  Convert a string to a number</span><a class=self-link href=#convert-a-string-to-a-number></a></h4>
  2.1821  
  2.1822 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=convert-a-string-to-a-number0>convert a string to a number<a class=self-link href=#convert-a-string-to-a-number0></a></dfn>.
  2.1823 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=convert-a-string-to-a-number0>convert a string to a number<a class=self-link href=#convert-a-string-to-a-number0></a></dfn>.
  2.1824  	It returns a number.
  2.1825  
  2.1826 -<p class=note>	Note: This algorithm does not do any verification to ensure that the string contains only a number.
  2.1827 +	Note: This algorithm does not do any verification to ensure that the string contains only a number.
  2.1828  	Ensure that the string contains only a valid CSS number
  2.1829  	before calling this algorithm.
  2.1830  
  2.1831 -<p>	Divide the string into seven components,
  2.1832 +	Divide the string into seven components,
  2.1833  	in order from left to right:
  2.1834  
  2.1835  	<ol>
  2.1836 @@ -2800,35 +2831,35 @@
  2.1837  			otherwise, let <var>e</var> be the number 0.
  2.1838  	</ol>
  2.1839  
  2.1840 -<p>	Return the number <code>s·(i + f·10<sup>-d</sup>)·10<sup>te</sup></code>.
  2.1841 +	Return the number <code>s·(i + f·10<sup>-d</sup>)·10<sup>te</sup></code>.
  2.1842  
  2.1843  
  2.1844  <h4 class="heading settled heading" data-level=4.3.15 id=consume-the-remnants-of-a-bad-url><span class=secno>4.3.15 </span><span class=content>
  2.1845  Consume the remnants of a bad url</span><a class=self-link href=#consume-the-remnants-of-a-bad-url></a></h4>
  2.1846  
  2.1847 -<p>	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-the-remnants-of-a-bad-url0>consume the remnants of a bad url<a class=self-link href=#consume-the-remnants-of-a-bad-url0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>,
  2.1848 +	This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-the-remnants-of-a-bad-url0>consume the remnants of a bad url<a class=self-link href=#consume-the-remnants-of-a-bad-url0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>,
  2.1849  	"cleaning up" after the tokenizer realizes that it’s in the middle of a <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a> rather than a <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>.
  2.1850  	It returns nothing;
  2.1851  	its sole use is to consume enough of the input stream to reach a recovery point
  2.1852  	where normal tokenizing can resume.
  2.1853  
  2.1854 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:
  2.1855 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:
  2.1856  
  2.1857  	<dl>
  2.1858  		<dt>U+0029 RIGHT PARENTHESIS ())
  2.1859  		<dt>EOF
  2.1860  		<dd>
  2.1861 -<p>			Return.
  2.1862 +			Return.
  2.1863  
  2.1864  		<dt>the input stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>
  2.1865  		<dd>
  2.1866 -<p>			<a data-link-type=dfn href=#consume-an-escaped-code-point0 title="consume an escaped code point">Consume an escaped code point</a>.
  2.1867 +			<a data-link-type=dfn href=#consume-an-escaped-code-point0 title="consume an escaped code point">Consume an escaped code point</a>.
  2.1868  			<span class=note>This allows an escaped right parenthesis ("\)") to be encountered without ending the <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a>.
  2.1869  				This is otherwise identical to the "anything else" clause.</span>
  2.1870  
  2.1871  		<dt>anything else
  2.1872  		<dd>
  2.1873 -<p>			Do nothing.
  2.1874 +			Do nothing.
  2.1875  	</dl>
  2.1876  
  2.1877  
  2.1878 @@ -2837,30 +2868,30 @@
  2.1879  <h2 class="heading settled heading" data-level=5 id=parsing><span class=secno>5 </span><span class=content>
  2.1880  Parsing</span><a class=self-link href=#parsing></a></h2>
  2.1881  
  2.1882 -<p>	The input to the parsing stage is a stream or list of tokens from the tokenization stage.
  2.1883 +	The input to the parsing stage is a stream or list of tokens from the tokenization stage.
  2.1884  	The output depends on how the parser is invoked,
  2.1885  	as defined by the entry points listed later in this section.
  2.1886  	The parser output can consist of at-rules,
  2.1887  	qualified rules,
  2.1888  	and/or declarations.
  2.1889  
  2.1890 -<p>	The parser’s output is constructed according to the fundamental syntax of CSS,
  2.1891 +	The parser’s output is constructed according to the fundamental syntax of CSS,
  2.1892  	without regards for the validity of any specific item.
  2.1893  	Implementations may check the validity of items as they are returned by the various parser algorithms
  2.1894  	and treat the algorithm as returning nothing if the item was invalid according to the implementation’s own grammar knowledge,
  2.1895  	or may construct a full tree as specified
  2.1896  	and "clean up" afterwards by removing any invalid items.
  2.1897  
  2.1898 -<p>	The items that can appear in the tree are:
  2.1899 +	The items that can appear in the tree are:
  2.1900  
  2.1901  	<dl>
  2.1902  		<dt><dfn data-dfn-type=dfn data-export="" id=at-rule>at-rule<a class=self-link href=#at-rule></a></dfn>
  2.1903  		<dd>
  2.1904 -<p>			An at-rule has a name,
  2.1905 +			An at-rule has a name,
  2.1906  			a prelude consisting of a list of component values,
  2.1907  			and an optional block consisting of a simple {} block.
  2.1908  
  2.1909 -<p class=note>			Note: This specification places no limits on what an at-rule’s block may contain.
  2.1910 +			Note: This specification places no limits on what an at-rule’s block may contain.
  2.1911  			Individual at-rules must define whether they accept a block,
  2.1912  			and if so,
  2.1913  			how to parse it
  2.1914 @@ -2868,21 +2899,21 @@
  2.1915  
  2.1916  		<dt><dfn data-dfn-type=dfn data-export="" id=qualified-rule>qualified rule<a class=self-link href=#qualified-rule></a></dfn>
  2.1917  		<dd>
  2.1918 -<p>			A qualified rule has
  2.1919 +			A qualified rule has
  2.1920  			a prelude consisting of a list of component values,
  2.1921  			and a block consisting of a simple {} block.
  2.1922  
  2.1923 -<p class=note>			Note: Most qualified rules will be style rules,
  2.1924 +			Note: Most qualified rules will be style rules,
  2.1925  			where the prelude is a selector <a data-biblio-type=informative data-link-type=biblio href=#select title=select>[SELECT]</a>
  2.1926  			and the block a <a data-link-type=dfn href=#parse-a-list-of-declarations0 title="parse a list of declarations">list of declarations</a>.
  2.1927  
  2.1928  		<dt><dfn data-dfn-type=dfn data-export="" id=declaration>declaration<a class=self-link href=#declaration></a></dfn>
  2.1929  		<dd>
  2.1930 -<p>			A declaration has a name,
  2.1931 +			A declaration has a name,
  2.1932  			a value consisting of a list of component values,
  2.1933  			and an <var>important</var> flag which is initially unset.
  2.1934  
  2.1935 -<p>			Declarations are further categorized as "properties" or "descriptors",
  2.1936 +			Declarations are further categorized as "properties" or "descriptors",
  2.1937  			with the former typically appearing in <a data-link-type=dfn href=#qualified-rule title="qualified rules">qualified rules</a>
  2.1938  			and the latter appearing in <a data-link-type=dfn href=#at-rule title=at-rules>at-rules</a>.
  2.1939  			(This categorization does not occur at the Syntax level;
  2.1940 @@ -2891,23 +2922,23 @@
  2.1941  
  2.1942  		<dt><dfn data-dfn-type=dfn data-export="" id=component-value>component value<a class=self-link href=#component-value></a></dfn>
  2.1943  		<dd>
  2.1944 -<p>			A component value is one of the preserved tokens,
  2.1945 +			A component value is one of the preserved tokens,
  2.1946  			a function,
  2.1947  			or a simple block.
  2.1948  
  2.1949  		<dt><dfn data-dfn-type=dfn data-noexport="" id=preserved-tokens>preserved tokens<a class=self-link href=#preserved-tokens></a></dfn>
  2.1950  		<dd>
  2.1951 -<p>			Any token produced by the tokenizer
  2.1952 +			Any token produced by the tokenizer
  2.1953  			except for <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>s,
  2.1954  			<a href=#tokendef-open-curly>&lt;{-token&gt;</a>s,
  2.1955  			<a href=#tokendef-open-paren>&lt;(-token&gt;</a>s,
  2.1956  			and <a href=#tokendef-open-square>&lt;[-token&gt;</a>s.
  2.1957  
  2.1958 -<p class=note>			Note: The non-preserved tokens listed above are always consumed into higher-level objects,
  2.1959 +			Note: The non-preserved tokens listed above are always consumed into higher-level objects,
  2.1960  			either functions or simple blocks,
  2.1961  			and so never appear in any parser output themselves.
  2.1962  
  2.1963 -<p class=note>			Note: The tokens <a href=#tokendef-close-curly>&lt;}-token&gt;</a>s, <a href=#tokendef-close-paren>&lt;)-token&gt;</a>s, <a href=#tokendef-close-square>&lt;]-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-bad-string-token title="<bad-string-token>">&lt;bad-string-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a> are always parse errors,
  2.1964 +			Note: The tokens <a href=#tokendef-close-curly>&lt;}-token&gt;</a>s, <a href=#tokendef-close-paren>&lt;)-token&gt;</a>s, <a href=#tokendef-close-square>&lt;]-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-bad-string-token title="<bad-string-token>">&lt;bad-string-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a> are always parse errors,
  2.1965  			but they are preserved in the token stream by this specification to allow other specs,
  2.1966  			such as Media Queries,
  2.1967  			to define more fine-grainted error-handling
  2.1968 @@ -2915,26 +2946,26 @@
  2.1969  
  2.1970  		<dt><dfn data-dfn-type=dfn data-export="" id=function>function<a class=self-link href=#function></a></dfn>
  2.1971  		<dd>
  2.1972 -<p>			A function has a name
  2.1973 +			A function has a name
  2.1974  			and a value consisting of a list of component values.
  2.1975  
  2.1976  		<dt><dfn data-dfn-type=dfn data-export="" id=simple-block>simple block<a class=self-link href=#simple-block></a></dfn>
  2.1977  		<dd>
  2.1978 -<p>			A simple block has an associated token (either a <a href=#tokendef-open-square>&lt;[-token&gt;</a>, <a href=#tokendef-open-paren>&lt;(-token&gt;</a>, or <a href=#tokendef-open-curly>&lt;{-token&gt;</a>)
  2.1979 +			A simple block has an associated token (either a <a href=#tokendef-open-square>&lt;[-token&gt;</a>, <a href=#tokendef-open-paren>&lt;(-token&gt;</a>, or <a href=#tokendef-open-curly>&lt;{-token&gt;</a>)
  2.1980  			and a value consisting of a list of component values.
  2.1981  	</dl>
  2.1982  
  2.1983  <h3 class="heading settled heading" data-level=5.1 id=parser-diagrams><span class=secno>5.1 </span><span class=content>
  2.1984  Parser Railroad Diagrams</span><a class=self-link href=#parser-diagrams></a></h3>
  2.1985  
  2.1986 -<p>	<em>This section is non-normative.</em>
  2.1987 -
  2.1988 -<p>	This section presents an informative view of the parser,
  2.1989 +	<em>This section is non-normative.</em>
  2.1990 +
  2.1991 +	This section presents an informative view of the parser,
  2.1992  	in the form of railroad diagrams.
  2.1993  	Railroad diagrams are more compact than a state-machine,
  2.1994  	but often easier to read than a regular expression.
  2.1995  
  2.1996 -<p>	These diagrams are <em>informative</em> and <em>incomplete</em>;
  2.1997 +	These diagrams are <em>informative</em> and <em>incomplete</em>;
  2.1998  	they describe the grammar of "correct" stylesheets,
  2.1999  	but do not describe error-handling at all.
  2.2000  	They are provided solely to make it easier to get an intuitive grasp of the syntax.
  2.2001 @@ -3553,34 +3584,34 @@
  2.2002  	<dl>
  2.2003  		<dt><dfn data-dfn-type=dfn data-noexport="" id=current-input-token>current input token<a class=self-link href=#current-input-token></a></dfn>
  2.2004  		<dd>
  2.2005 -<p>			The token or <a data-link-type=dfn href=#component-value title="component value">component value</a> currently being operated on, from the list of tokens produced by the tokenizer.
  2.2006 +			The token or <a data-link-type=dfn href=#component-value title="component value">component value</a> currently being operated on, from the list of tokens produced by the tokenizer.
  2.2007  
  2.2008  		<dt><dfn data-dfn-type=dfn data-noexport="" id=next-input-token>next input token<a class=self-link href=#next-input-token></a></dfn>
  2.2009  		<dd>
  2.2010 -<p>			The token or <a data-link-type=dfn href=#component-value title="component value">component value</a> following the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> in the list of tokens produced by the tokenizer.
  2.2011 +			The token or <a data-link-type=dfn href=#component-value title="component value">component value</a> following the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> in the list of tokens produced by the tokenizer.
  2.2012  			If there isn’t a token following the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>,
  2.2013  			the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>.
  2.2014  
  2.2015  		<dt><dfn class=css-code data-dfn-type=type data-export="" id=typedef-eof-token><a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a><a class=self-link href=#typedef-eof-token></a></dfn>
  2.2016  		<dd>
  2.2017 -<p>			A conceptual token representing the end of the list of tokens.
  2.2018 +			A conceptual token representing the end of the list of tokens.
  2.2019  			Whenever the list of tokens is empty,
  2.2020  			the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is always an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>.
  2.2021  
  2.2022  		<dt><dfn data-dfn-type=dfn data-noexport="" id=consume-the-next-input-token>consume the next input token<a class=self-link href=#consume-the-next-input-token></a></dfn>
  2.2023  		<dd>
  2.2024 -<p>			Let the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> be the current <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>,
  2.2025 +			Let the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> be the current <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>,
  2.2026  			adjusting the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> accordingly.
  2.2027  
  2.2028  		<dt><dfn data-dfn-type=dfn data-noexport="" id=reconsume-the-current-input-token>reconsume the current input token<a class=self-link href=#reconsume-the-current-input-token></a></dfn>
  2.2029  		<dd>
  2.2030 -<p>			The next time an algorithm instructs you to <a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>,
  2.2031 +			The next time an algorithm instructs you to <a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>,
  2.2032  			instead do nothing
  2.2033  			(retain the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> unchanged).
  2.2034  
  2.2035  		<dt><dfn data-dfn-type=dfn data-export="" id=ascii-case-insensitive>ASCII case-insensitive<a class=self-link href=#ascii-case-insensitive></a></dfn>
  2.2036  		<dd>
  2.2037 -<p>			When two strings are to be matched ASCII case-insensitively,
  2.2038 +			When two strings are to be matched ASCII case-insensitively,
  2.2039  			temporarily convert both of them to ASCII lower-case form
  2.2040  			by adding 32 (0x20) to the value of each <a data-link-type=dfn href=#code-point title="code point">code point</a> between
  2.2041  			U+0041 LATIN CAPITAL LETTER A (A)
  2.2042 @@ -3594,7 +3625,7 @@
  2.2043  <h3 class="heading settled heading" data-level=5.3 id=parser-entry-points><span class=secno>5.3 </span><span class=content>
  2.2044  Parser Entry Points</span><a class=self-link href=#parser-entry-points></a></h3>
  2.2045  
  2.2046 -<p>	The algorithms defined in this section produce high-level CSS objects
  2.2047 +	The algorithms defined in this section produce high-level CSS objects
  2.2048  	from lower-level objects.
  2.2049  	They assume that they are invoked on a token stream,
  2.2050  	but they may also be invoked on a string;
  2.2051 @@ -3604,45 +3635,45 @@
  2.2052  	then perform <a href=#tokenization>tokenization</a>
  2.2053  	to produce a token stream.
  2.2054  
  2.2055 -<p>	"<a data-link-type=dfn href=#parse-a-stylesheet0 title="parse a stylesheet">Parse a stylesheet</a>" can also be invoked on a byte stream,
  2.2056 +	"<a data-link-type=dfn href=#parse-a-stylesheet0 title="parse a stylesheet">Parse a stylesheet</a>" can also be invoked on a byte stream,
  2.2057  	in which case <a href=#input-byte-stream>The input byte stream</a>
  2.2058  	defines how to decode it into Unicode.
  2.2059  
  2.2060 -<p class=note>	Note: This specification does not define how a byte stream is decoded for other entry points.
  2.2061 -
  2.2062 -<p class=note>	Note: Other specs can define additional entry points for their own purposes.
  2.2063 +	Note: This specification does not define how a byte stream is decoded for other entry points.
  2.2064 +
  2.2065 +	Note: Other specs can define additional entry points for their own purposes.
  2.2066  
  2.2067  	<div class=note>
  2.2068  		The following notes should probably be translated into normative text in the relevant specs,
  2.2069  		hooking this spec’s terms:
  2.2070  
  2.2071 -<p>		<ul>
  2.2072 +		<ul>
  2.2073  			<li>
  2.2074 -<p>				"<a data-link-type=dfn href=#parse-a-stylesheet0 title="parse a stylesheet">Parse a stylesheet</a>" is intended to be the normal parser entry point,
  2.2075 +				"<a data-link-type=dfn href=#parse-a-stylesheet0 title="parse a stylesheet">Parse a stylesheet</a>" is intended to be the normal parser entry point,
  2.2076  				for parsing stylesheets.
  2.2077  
  2.2078  			<li>
  2.2079 -<p>				"<a data-link-type=dfn href=#parse-a-list-of-rules0 title="parse a list of rules">Parse a list of rules</a>" is intended for the content of at-rules such as <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a>.
  2.2080 +				"<a data-link-type=dfn href=#parse-a-list-of-rules0 title="parse a list of rules">Parse a list of rules</a>" is intended for the content of at-rules such as <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a>.
  2.2081  				It differs from "<a data-link-type=dfn href=#parse-a-stylesheet0 title="parse a stylesheet">Parse a stylesheet</a>" in the handling of <a class="production css-code" data-link-type=type href=#typedef-cdo-token title="<cdo-token>">&lt;CDO-token&gt;</a> and <a class="production css-code" data-link-type=type href=#typedef-cdc-token title="<cdc-token>">&lt;CDC-token&gt;</a>.
  2.2082  
  2.2083  			<li>
  2.2084 -<p>				"<a data-link-type=dfn href=#parse-a-rule0 title="parse a rule">Parse a rule</a>" is intended for use by the <code>CSSStyleSheet#insertRule</code> method,
  2.2085 +				"<a data-link-type=dfn href=#parse-a-rule0 title="parse a rule">Parse a rule</a>" is intended for use by the <code>CSSStyleSheet#insertRule</code> method,
  2.2086  				and similar functions which might exist,
  2.2087  				which parse text into a single rule.
  2.2088  
  2.2089  			<li>
  2.2090 -<p>				"<a data-link-type=dfn href=#parse-a-declaration0 title="parse a declaration">Parse a declaration</a>" is used in <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-supports title=@supports>@supports</a> conditions. <a data-biblio-type=informative data-link-type=biblio href=#css3-conditional title=css3-conditional>[CSS3-CONDITIONAL]</a>
  2.2091 +				"<a data-link-type=dfn href=#parse-a-declaration0 title="parse a declaration">Parse a declaration</a>" is used in <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-supports title=@supports>@supports</a> conditions. <a data-biblio-type=informative data-link-type=biblio href=#css3-conditional title=css3-conditional>[CSS3-CONDITIONAL]</a>
  2.2092  
  2.2093  			<li>
  2.2094 -<p>				"<a data-link-type=dfn href=#parse-a-list-of-declarations0 title="parse a list of declarations">Parse a list of declarations</a>" is for the contents of a <code>style</code> attribute,
  2.2095 +				"<a data-link-type=dfn href=#parse-a-list-of-declarations0 title="parse a list of declarations">Parse a list of declarations</a>" is for the contents of a <code>style</code> attribute,
  2.2096  				which parses text into the contents of a single style rule.
  2.2097  
  2.2098  			<li>
  2.2099 -<p>				"<a data-link-type=dfn href=#parse-a-component-value0 title="parse a component value">Parse a component value</a>" is for things that need to consume a single value,
  2.2100 +				"<a data-link-type=dfn href=#parse-a-component-value0 title="parse a component value">Parse a component value</a>" is for things that need to consume a single value,
  2.2101  				like the parsing rules for <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-values-3/#funcdef-attr title=attr()>attr()</a>.
  2.2102  
  2.2103  			<li>
  2.2104 -<p>				"<a data-link-type=dfn href=#parse-a-list-of-component-values0 title="parse a list of component values">Parse a list of component values</a>" is for the contents of presentational attributes,
  2.2105 +				"<a data-link-type=dfn href=#parse-a-list-of-component-values0 title="parse a list of component values">Parse a list of component values</a>" is for the contents of presentational attributes,
  2.2106  				which parse text into a single declaration’s value,
  2.2107  				or for parsing a stand-alone selector <a data-biblio-type=informative data-link-type=biblio href=#select title=select>[SELECT]</a> or list of Media Queries <a data-biblio-type=informative data-link-type=biblio href=#mediaq title=mediaq>[MEDIAQ]</a>,
  2.2108  				as in <a href=http://www.w3.org/TR/selectors-api/>Selectors API</a>
  2.2109 @@ -3650,73 +3681,73 @@
  2.2110  		</ul>
  2.2111  	</div>
  2.2112  
  2.2113 -<p>	All of the algorithms defined in this spec may be called with either a list of tokens or of component values.
  2.2114 +	All of the algorithms defined in this spec may be called with either a list of tokens or of component values.
  2.2115  	Either way produces an identical result.
  2.2116  
  2.2117  
  2.2118  <h4 class="heading settled heading" data-level=5.3.1 id=parse-a-stylesheet><span class=secno>5.3.1 </span><span class=content>
  2.2119  Parse a stylesheet</span><a class=self-link href=#parse-a-stylesheet></a></h4>
  2.2120  
  2.2121 -<p>	To <dfn data-dfn-type=dfn data-export="" id=parse-a-stylesheet0>parse a stylesheet<a class=self-link href=#parse-a-stylesheet0></a></dfn> from a stream of tokens:
  2.2122 +	To <dfn data-dfn-type=dfn data-export="" id=parse-a-stylesheet0>parse a stylesheet<a class=self-link href=#parse-a-stylesheet0></a></dfn> from a stream of tokens:
  2.2123  
  2.2124  	<ol>
  2.2125  		<li>
  2.2126 -<p>			Create a new stylesheet.
  2.2127 +			Create a new stylesheet.
  2.2128  
  2.2129  		<li>
  2.2130 -<p>			<a data-link-type=dfn href=#consume-a-list-of-rules0 title="consume a list of rules">Consume a list of rules</a> from the stream of tokens, with the <var>top-level flag</var> set.
  2.2131 +			<a data-link-type=dfn href=#consume-a-list-of-rules0 title="consume a list of rules">Consume a list of rules</a> from the stream of tokens, with the <var>top-level flag</var> set.
  2.2132  
  2.2133  		<li>
  2.2134 -<p>			Assign the returned value to the stylesheet’s value.
  2.2135 +			Assign the returned value to the stylesheet’s value.
  2.2136  
  2.2137  		<li>
  2.2138 -<p>			Return the stylesheet.
  2.2139 +			Return the stylesheet.
  2.2140  	</ol>
  2.2141  
  2.2142  <h4 class="heading settled heading" data-level=5.3.2 id=parse-a-list-of-rules><span class=secno>5.3.2 </span><span class=content>
  2.2143  Parse a list of rules</span><a class=self-link href=#parse-a-list-of-rules></a></h4>
  2.2144  
  2.2145 -<p>	To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-rules0>parse a list of rules<a class=self-link href=#parse-a-list-of-rules0></a></dfn> from a stream of tokens:
  2.2146 +	To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-rules0>parse a list of rules<a class=self-link href=#parse-a-list-of-rules0></a></dfn> from a stream of tokens:
  2.2147  
  2.2148  	<ol>
  2.2149  		<li>
  2.2150 -<p>			<a data-link-type=dfn href=#consume-a-list-of-rules0 title="consume a list of rules">Consume a list of rules</a> from the stream of tokens, with the <var>top-level flag</var> unset.
  2.2151 +			<a data-link-type=dfn href=#consume-a-list-of-rules0 title="consume a list of rules">Consume a list of rules</a> from the stream of tokens, with the <var>top-level flag</var> unset.
  2.2152  
  2.2153  		<li>
  2.2154 -<p>			Return the returned list.
  2.2155 +			Return the returned list.
  2.2156  	</ol>
  2.2157  
  2.2158  <h4 class="heading settled heading" data-level=5.3.3 id=parse-a-rule><span class=secno>5.3.3 </span><span class=content>
  2.2159  Parse a rule</span><a class=self-link href=#parse-a-rule></a></h4>
  2.2160  
  2.2161 -<p>	To <dfn data-dfn-type=dfn data-export="" id=parse-a-rule0>parse a rule<a class=self-link href=#parse-a-rule0></a></dfn> from a stream of tokens:
  2.2162 +	To <dfn data-dfn-type=dfn data-export="" id=parse-a-rule0>parse a rule<a class=self-link href=#parse-a-rule0></a></dfn> from a stream of tokens:
  2.2163  
  2.2164  	<ol>
  2.2165  		<li>
  2.2166 -<p>			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2167 +			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2168  			<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>.
  2.2169  
  2.2170  		<li>
  2.2171 -<p>			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2172 +			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2173  			return a syntax error.
  2.2174  
  2.2175 -<p>			Otherwise,
  2.2176 +			Otherwise,
  2.2177  			if the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>,
  2.2178  			<a data-link-type=dfn href=#consume-an-at-rule0 title="consume an at-rule">consume an at-rule</a>,
  2.2179  			and let <var>rule</var> be the return value.
  2.2180  
  2.2181 -<p>			Otherwise,
  2.2182 +			Otherwise,
  2.2183  			<a data-link-type=dfn href=#consume-a-qualified-rule0 title="consume a qualified rule">consume a qualified rule</a>
  2.2184  			and let <var>rule</var> be the return value.
  2.2185  			If nothing was returned,
  2.2186  			return a syntax error.
  2.2187  
  2.2188  		<li>
  2.2189 -<p>			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2190 +			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2191  			<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>.
  2.2192  
  2.2193  		<li>
  2.2194 -<p>			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2195 +			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2196  			return <var>rule</var>.
  2.2197  			Otherwise, return a syntax error.
  2.2198  	</ol>
  2.2199 @@ -3724,22 +3755,22 @@
  2.2200  <h4 class="heading settled heading" data-level=5.3.4 id=parse-a-declaration><span class=secno>5.3.4 </span><span class=content>
  2.2201  Parse a declaration</span><a class=self-link href=#parse-a-declaration></a></h4>
  2.2202  
  2.2203 -<p class=note>	Note: Unlike "<a data-link-type=dfn href=#parse-a-list-of-declarations0 title="parse a list of declarations">Parse a list of declarations</a>",
  2.2204 +	Note: Unlike "<a data-link-type=dfn href=#parse-a-list-of-declarations0 title="parse a list of declarations">Parse a list of declarations</a>",
  2.2205  	this parses only a declaration and not an at-rule.
  2.2206  
  2.2207 -<p>	To <dfn data-dfn-type=dfn data-export="" id=parse-a-declaration0>parse a declaration<a class=self-link href=#parse-a-declaration0></a></dfn>:
  2.2208 +	To <dfn data-dfn-type=dfn data-export="" id=parse-a-declaration0>parse a declaration<a class=self-link href=#parse-a-declaration0></a></dfn>:
  2.2209  
  2.2210  	<ol>
  2.2211  		<li>
  2.2212 -<p>			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2213 +			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2214  			<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>.
  2.2215  
  2.2216  		<li>
  2.2217 -<p>			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is not an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>,
  2.2218 +			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is not an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>,
  2.2219  			return a syntax error.
  2.2220  
  2.2221  		<li>
  2.2222 -<p>			<a data-link-type=dfn href=#consume-a-declaration0 title="consume a declaration">Consume a declaration</a>.
  2.2223 +			<a data-link-type=dfn href=#consume-a-declaration0 title="consume a declaration">Consume a declaration</a>.
  2.2224  			If anything was returned, return it.
  2.2225  			Otherwise, return a syntax error.
  2.2226  	</ol>
  2.2227 @@ -3747,46 +3778,46 @@
  2.2228  <h4 class="heading settled heading" data-level=5.3.5 id=parse-a-list-of-declarations><span class=secno>5.3.5 </span><span class=content>
  2.2229  Parse a list of declarations</span><a class=self-link href=#parse-a-list-of-declarations></a></h4>
  2.2230  
  2.2231 -<p class=note>	Note: Despite the name,
  2.2232 +	Note: Despite the name,
  2.2233  	this actually parses a mixed list of declarations and at-rules,
  2.2234  	as CSS 2.1 does for <a href=http://www.w3.org/TR/CSS21/page.html#page-box></a><span class=css data-link-type=maybe title=@page>@page</span>.
  2.2235  	Unexpected at-rules (which could be all of them, in a given context)
  2.2236  	are invalid and should be ignored by the consumer.
  2.2237  
  2.2238 -<p>	To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-declarations0>parse a list of declarations<a class=self-link href=#parse-a-list-of-declarations0></a></dfn>:
  2.2239 +	To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-declarations0>parse a list of declarations<a class=self-link href=#parse-a-list-of-declarations0></a></dfn>:
  2.2240  
  2.2241  	<ol>
  2.2242  		<li>
  2.2243 -<p>			<a data-link-type=dfn href=#consume-a-list-of-declarations0 title="consume a list of declarations">Consume a list of declarations</a>.
  2.2244 +			<a data-link-type=dfn href=#consume-a-list-of-declarations0 title="consume a list of declarations">Consume a list of declarations</a>.
  2.2245  
  2.2246  		<li>
  2.2247 -<p>			Return the returned list.
  2.2248 +			Return the returned list.
  2.2249  	</ol>
  2.2250  
  2.2251  <h4 class="heading settled heading" data-level=5.3.6 id=parse-a-component-value><span class=secno>5.3.6 </span><span class=content>
  2.2252  Parse a component value</span><a class=self-link href=#parse-a-component-value></a></h4>
  2.2253  
  2.2254 -<p>	To <dfn data-dfn-type=dfn data-export="" id=parse-a-component-value0>parse a component value<a class=self-link href=#parse-a-component-value0></a></dfn>:
  2.2255 +	To <dfn data-dfn-type=dfn data-export="" id=parse-a-component-value0>parse a component value<a class=self-link href=#parse-a-component-value0></a></dfn>:
  2.2256  
  2.2257  	<ol>
  2.2258  		<li>
  2.2259 -<p>			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2260 +			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2261  			<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>.
  2.2262  
  2.2263  		<li>
  2.2264 -<p>			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2265 +			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2266  			return a syntax error.
  2.2267  
  2.2268  		<li>
  2.2269 -<p>			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">Consume a component value</a>
  2.2270 +			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">Consume a component value</a>
  2.2271  			and let <var>value</var> be the return value.
  2.2272  
  2.2273  		<li>
  2.2274 -<p>			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2275 +			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2276  			<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>.
  2.2277  
  2.2278  		<li>
  2.2279 -<p>			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2280 +			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2281  			return <var>value</var>.
  2.2282  			Otherwise,
  2.2283  			return a syntax error.
  2.2284 @@ -3795,11 +3826,11 @@
  2.2285  <h4 class="heading settled heading" data-level=5.3.7 id=parse-a-list-of-component-values><span class=secno>5.3.7 </span><span class=content>
  2.2286  Parse a list of component values</span><a class=self-link href=#parse-a-list-of-component-values></a></h4>
  2.2287  
  2.2288 -<p>	To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-component-values0>parse a list of component values<a class=self-link href=#parse-a-list-of-component-values0></a></dfn>:
  2.2289 +	To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-component-values0>parse a list of component values<a class=self-link href=#parse-a-list-of-component-values0></a></dfn>:
  2.2290  
  2.2291  	<ol>
  2.2292  		<li>
  2.2293 -<p>			Repeatedly <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> until an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a> is returned,
  2.2294 +			Repeatedly <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> until an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a> is returned,
  2.2295  			appending the returned values (except the final <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>) into a list.
  2.2296  			Return the list.
  2.2297  	</ol>
  2.2298 @@ -3807,37 +3838,37 @@
  2.2299  <h4 class="heading settled heading" data-level=5.3.8 id=parse-a-comma-separated-list-of-component-values><span class=secno>5.3.8 </span><span class=content>
  2.2300  Parse a comma-separated list of component values</span><a class=self-link href=#parse-a-comma-separated-list-of-component-values></a></h4>
  2.2301  
  2.2302 -<p>	To <dfn data-dfn-type=dfn data-export="" id=parse-a-comma-separated-list-of-component-values0>parse a comma-separated list of component values<a class=self-link href=#parse-a-comma-separated-list-of-component-values0></a></dfn>:
  2.2303 +	To <dfn data-dfn-type=dfn data-export="" id=parse-a-comma-separated-list-of-component-values0>parse a comma-separated list of component values<a class=self-link href=#parse-a-comma-separated-list-of-component-values0></a></dfn>:
  2.2304  
  2.2305  	<ol>
  2.2306  		<li>
  2.2307 -<p>			Let <var>list of cvls</var> be an initially empty list of component value lists.
  2.2308 +			Let <var>list of cvls</var> be an initially empty list of component value lists.
  2.2309  
  2.2310  		<li>
  2.2311 -<p>			Repeatedly <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> until an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a> or <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a> is returned,
  2.2312 +			Repeatedly <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> until an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a> or <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a> is returned,
  2.2313  			appending the returned values (except the final <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a> or <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a>) into a list.
  2.2314  			Append the list to <var>list of cvls</var>.
  2.2315  
  2.2316 -<p>			If it was a <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a> that was returned,
  2.2317 +			If it was a <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a> that was returned,
  2.2318  			repeat this step.
  2.2319  
  2.2320  		<li>
  2.2321 -<p>			Return <var>list of cvls</var>.
  2.2322 +			Return <var>list of cvls</var>.
  2.2323  	</ol>
  2.2324  
  2.2325  
  2.2326  <h3 class="heading settled heading" data-level=5.4 id=parser-algorithms><span class=secno>5.4 </span><span class=content>
  2.2327  Parser Algorithms</span><a class=self-link href=#parser-algorithms></a></h3>
  2.2328  
  2.2329 -<p>	The following algorithms comprise the parser.
  2.2330 +	The following algorithms comprise the parser.
  2.2331  	They are called by the parser entry points above.
  2.2332  
  2.2333 -<p>	These algorithms may be called with a list of either tokens or of component values.
  2.2334 +	These algorithms may be called with a list of either tokens or of component values.
  2.2335  	(The difference being that some tokens are replaced by <a data-link-type=dfn href=#function title=functions>functions</a> and <a data-link-type=dfn href=#simple-block title="simple blocks">simple blocks</a> in a list of component values.)
  2.2336  	Similar to how the input stream returned EOF code points to represent when it was empty during the tokenization stage,
  2.2337  	the lists in this stage must return an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a> when the next token is requested but they are empty.
  2.2338  
  2.2339 -<p>	An algorithm may be invoked with a specific list,
  2.2340 +	An algorithm may be invoked with a specific list,
  2.2341  	in which case it consumes only that list
  2.2342  	(and when that list is exhausted,
  2.2343  	it begins returning <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>s).
  2.2344 @@ -3848,28 +3879,28 @@
  2.2345  <h4 class="heading settled heading" data-level=5.4.1 id=consume-a-list-of-rules><span class=secno>5.4.1 </span><span class=content>
  2.2346  Consume a list of rules</span><a class=self-link href=#consume-a-list-of-rules></a></h4>
  2.2347  
  2.2348 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-list-of-rules0>consume a list of rules<a class=self-link href=#consume-a-list-of-rules0></a></dfn>:
  2.2349 -
  2.2350 -<p>	Create an initially empty list of rules.
  2.2351 -
  2.2352 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>:
  2.2353 +	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-list-of-rules0>consume a list of rules<a class=self-link href=#consume-a-list-of-rules0></a></dfn>:
  2.2354 +
  2.2355 +	Create an initially empty list of rules.
  2.2356 +
  2.2357 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>:
  2.2358  
  2.2359  	<dl>
  2.2360  		<dt><a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>
  2.2361  		<dd>
  2.2362 -<p>			Do nothing.
  2.2363 +			Do nothing.
  2.2364  
  2.2365  		<dt><a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>
  2.2366  		<dd>
  2.2367 -<p>			Return the list of rules.
  2.2368 +			Return the list of rules.
  2.2369  
  2.2370  		<dt><a class="production css-code" data-link-type=type href=#typedef-cdo-token title="<cdo-token>">&lt;CDO-token&gt;</a>
  2.2371  		<dt><a class="production css-code" data-link-type=type href=#typedef-cdc-token title="<cdc-token>">&lt;CDC-token&gt;</a>
  2.2372  		<dd>
  2.2373 -<p>			If the <dfn data-dfn-type=dfn data-noexport="" id=top-level-flag><var>top-level flag</var><a class=self-link href=#top-level-flag></a></dfn> is set,
  2.2374 +			If the <dfn data-dfn-type=dfn data-noexport="" id=top-level-flag><var>top-level flag</var><a class=self-link href=#top-level-flag></a></dfn> is set,
  2.2375  			do nothing.
  2.2376  
  2.2377 -<p>			Otherwise,
  2.2378 +			Otherwise,
  2.2379  			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">reconsume the current input token</a>.
  2.2380  			<a data-link-type=dfn href=#consume-a-qualified-rule0 title="consume a qualified rule">Consume a qualified rule</a>.
  2.2381  			If anything is returned,
  2.2382 @@ -3877,14 +3908,14 @@
  2.2383  
  2.2384  		<dt><a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>
  2.2385  		<dd>
  2.2386 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2387 +			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2388  			<a data-link-type=dfn href=#consume-an-at-rule0 title="consume an at-rule">Consume an at-rule</a>.
  2.2389  			If anything is returned,
  2.2390  			append it to the list of rules.
  2.2391  
  2.2392  		<dt>anything else
  2.2393  		<dd>
  2.2394 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2395 +			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2396  			<a data-link-type=dfn href=#consume-a-qualified-rule0 title="consume a qualified rule">Consume a qualified rule</a>.
  2.2397  			If anything is returned,
  2.2398  			append it to the list of rules.
  2.2399 @@ -3894,36 +3925,36 @@
  2.2400  <h4 class="heading settled heading" data-level=5.4.2 id=consume-an-at-rule><span class=secno>5.4.2 </span><span class=content>
  2.2401  Consume an at-rule</span><a class=self-link href=#consume-an-at-rule></a></h4>
  2.2402  
  2.2403 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=consume-an-at-rule0>consume an at-rule<a class=self-link href=#consume-an-at-rule0></a></dfn>:
  2.2404 -
  2.2405 -<p>	<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">Consume the next input token</a>.
  2.2406 +	To <dfn data-dfn-type=dfn data-noexport="" id=consume-an-at-rule0>consume an at-rule<a class=self-link href=#consume-an-at-rule0></a></dfn>:
  2.2407 +
  2.2408 +	<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">Consume the next input token</a>.
  2.2409  	Create a new at-rule
  2.2410  	with its name set to the value of the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>,
  2.2411  	its prelude initially set to an empty list,
  2.2412  	and its value initially set to nothing.
  2.2413  
  2.2414 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>:
  2.2415 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>:
  2.2416  
  2.2417  	<dl>
  2.2418  		<dt><a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a>
  2.2419  		<dt><a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>
  2.2420  		<dd>
  2.2421 -<p>			Return the at-rule.
  2.2422 +			Return the at-rule.
  2.2423  
  2.2424  		<dt><a href=#tokendef-open-curly>&lt;{-token&gt;</a>
  2.2425  		<dd>
  2.2426 -<p>			<a data-link-type=dfn href=#consume-a-simple-block0 title="consume a simple block">Consume a simple block</a>
  2.2427 +			<a data-link-type=dfn href=#consume-a-simple-block0 title="consume a simple block">Consume a simple block</a>
  2.2428  			and assign it to the at-rule’s block.
  2.2429  			Return the at-rule.
  2.2430  
  2.2431  		<dt><a data-link-type=dfn href=#simple-block title="simple block">simple block</a> with an associated token of <a href=#tokendef-open-curly>&lt;{-token&gt;</a>
  2.2432  		<dd>
  2.2433 -<p>			Assign the block to the at-rule’s block.
  2.2434 +			Assign the block to the at-rule’s block.
  2.2435  			Return the at-rule.
  2.2436  
  2.2437  		<dt>anything else
  2.2438  		<dd>
  2.2439 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2440 +			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2441  			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">Consume a component value</a>.
  2.2442  			Append the returned value to the at-rule’s prelude.
  2.2443  	</dl>
  2.2444 @@ -3932,34 +3963,34 @@
  2.2445  <h4 class="heading settled heading" data-level=5.4.3 id=consume-a-qualified-rule><span class=secno>5.4.3 </span><span class=content>
  2.2446  Consume a qualified rule</span><a class=self-link href=#consume-a-qualified-rule></a></h4>
  2.2447  
  2.2448 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-qualified-rule0>consume a qualified rule<a class=self-link href=#consume-a-qualified-rule0></a></dfn>:
  2.2449 -
  2.2450 -<p>	Create a new qualified rule
  2.2451 +	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-qualified-rule0>consume a qualified rule<a class=self-link href=#consume-a-qualified-rule0></a></dfn>:
  2.2452 +
  2.2453 +	Create a new qualified rule
  2.2454  	with its prelude initially set to an empty list,
  2.2455  	and its value initially set to nothing.
  2.2456  
  2.2457 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>:
  2.2458 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>:
  2.2459  
  2.2460  	<dl>
  2.2461  		<dt><a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>
  2.2462  		<dd>
  2.2463 -<p>			This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.2464 +			This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.2465  			Return nothing.
  2.2466  
  2.2467  		<dt><a href=#tokendef-open-curly>&lt;{-token&gt;</a>
  2.2468  		<dd>
  2.2469 -<p>			<a data-link-type=dfn href=#consume-a-simple-block0 title="consume a simple block">Consume a simple block</a>
  2.2470 +			<a data-link-type=dfn href=#consume-a-simple-block0 title="consume a simple block">Consume a simple block</a>
  2.2471  			and assign it to the qualified rule’s block.
  2.2472  			Return the qualified rule.
  2.2473  
  2.2474  		<dt><a data-link-type=dfn href=#simple-block title="simple block">simple block</a> with an associated token of <a href=#tokendef-open-curly>&lt;{-token&gt;</a>
  2.2475  		<dd>
  2.2476 -<p>			Assign the block to the qualified rule’s block.
  2.2477 +			Assign the block to the qualified rule’s block.
  2.2478  			Return the qualified rule.
  2.2479  
  2.2480  		<dt>anything else
  2.2481  		<dd>
  2.2482 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2483 +			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2484  			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">Consume a component value</a>.
  2.2485  			Append the returned value to the qualified rule’s prelude.
  2.2486  	</dl>
  2.2487 @@ -3968,31 +3999,31 @@
  2.2488  <h4 class="heading settled heading" data-level=5.4.4 id=consume-a-list-of-declarations><span class=secno>5.4.4 </span><span class=content>
  2.2489  Consume a list of declarations</span><a class=self-link href=#consume-a-list-of-declarations></a></h4>
  2.2490  
  2.2491 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-list-of-declarations0>consume a list of declarations<a class=self-link href=#consume-a-list-of-declarations0></a></dfn>:
  2.2492 -
  2.2493 -<p>	Create an initially empty list of declarations.
  2.2494 -
  2.2495 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>:
  2.2496 +	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-list-of-declarations0>consume a list of declarations<a class=self-link href=#consume-a-list-of-declarations0></a></dfn>:
  2.2497 +
  2.2498 +	Create an initially empty list of declarations.
  2.2499 +
  2.2500 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a>:
  2.2501  
  2.2502  	<dl>
  2.2503  		<dt><a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>
  2.2504  		<dt><a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a>
  2.2505  		<dd>
  2.2506 -<p>			Do nothing.
  2.2507 +			Do nothing.
  2.2508  
  2.2509  		<dt><a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>
  2.2510  		<dd>
  2.2511 -<p>			Return the list of declarations.
  2.2512 +			Return the list of declarations.
  2.2513  
  2.2514  		<dt><a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>
  2.2515  		<dd>
  2.2516 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2517 +			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2518  			<a data-link-type=dfn href=#consume-an-at-rule0 title="consume an at-rule">Consume an at-rule</a>.
  2.2519  			Append the returned rule to the list of declarations.
  2.2520  
  2.2521  		<dt><a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>
  2.2522  		<dd>
  2.2523 -<p>			Initialize a temporary list initially filled with the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>.
  2.2524 +			Initialize a temporary list initially filled with the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>.
  2.2525  			As long as the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than a <a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a> or <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2526  			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> and append it to the temporary list.
  2.2527  			<a data-link-type=dfn href=#consume-a-declaration0 title="consume a declaration">Consume a declaration</a> from the temporary list.
  2.2528 @@ -4001,7 +4032,7 @@
  2.2529  
  2.2530  		<dt>anything else
  2.2531  		<dd>
  2.2532 -<p>			This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.2533 +			This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.2534  			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2535  			As long as the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than a <a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a> or <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2536  			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a>
  2.2537 @@ -4012,88 +4043,88 @@
  2.2538  <h4 class="heading settled heading" data-level=5.4.5 id=consume-a-declaration><span class=secno>5.4.5 </span><span class=content>
  2.2539  Consume a declaration</span><a class=self-link href=#consume-a-declaration></a></h4>
  2.2540  
  2.2541 -<p class=note>	Note: This algorithm assumes that the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> has already been checked to be an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>.
  2.2542 -
  2.2543 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-declaration0>consume a declaration<a class=self-link href=#consume-a-declaration0></a></dfn>:
  2.2544 -
  2.2545 -<p>	<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">Consume the next input token</a>.
  2.2546 +	Note: This algorithm assumes that the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> has already been checked to be an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>.
  2.2547 +
  2.2548 +	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-declaration0>consume a declaration<a class=self-link href=#consume-a-declaration0></a></dfn>:
  2.2549 +
  2.2550 +	<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">Consume the next input token</a>.
  2.2551  	Create a new declaration
  2.2552  	with its name set to the value of the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>
  2.2553  	and its value initially set to the empty list.
  2.2554  
  2.2555  	<ol>
  2.2556  		<li>
  2.2557 -<p>			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2558 +			While the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>,
  2.2559  			<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>.
  2.2560  
  2.2561  		<li>
  2.2562 -<p>			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than a <a class="production css-code" data-link-type=type href=#typedef-colon-token title="<colon-token>">&lt;colon-token&gt;</a>,
  2.2563 +			If the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than a <a class="production css-code" data-link-type=type href=#typedef-colon-token title="<colon-token>">&lt;colon-token&gt;</a>,
  2.2564  			this is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.2565  			Return nothing.
  2.2566  
  2.2567 -<p>			Otherwise, <a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>.
  2.2568 +			Otherwise, <a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">consume the next input token</a>.
  2.2569  
  2.2570  		<li>
  2.2571 -<p>			As long as the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2572 +			As long as the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than an <a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>,
  2.2573  			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a>
  2.2574  			and append it to the declaration’s value.
  2.2575  
  2.2576  		<li>
  2.2577 -<p>			If the last two non-<a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>s in the declaration’s value are
  2.2578 +			If the last two non-<a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>s in the declaration’s value are
  2.2579  			a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> with the value "!"
  2.2580  			followed by an <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a> with a value that is an <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a> match for "important",
  2.2581  			remove them from the declaration’s value
  2.2582  			and set the declaration’s <var>important</var> flag to true.
  2.2583  
  2.2584  		<li>
  2.2585 -<p>			Return the declaration.
  2.2586 +			Return the declaration.
  2.2587  	</ol>
  2.2588  
  2.2589  
  2.2590  <h4 class="heading settled heading" data-level=5.4.6 id=consume-a-component-value><span class=secno>5.4.6 </span><span class=content>
  2.2591  Consume a component value</span><a class=self-link href=#consume-a-component-value></a></h4>
  2.2592  
  2.2593 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-component-value0>consume a component value<a class=self-link href=#consume-a-component-value0></a></dfn>:
  2.2594 -
  2.2595 -<p>	<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">Consume the next input token</a>.
  2.2596 -
  2.2597 -<p>	If the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>
  2.2598 +	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-component-value0>consume a component value<a class=self-link href=#consume-a-component-value0></a></dfn>:
  2.2599 +
  2.2600 +	<a data-link-type=dfn href=#consume-the-next-input-token title="consume the next input token">Consume the next input token</a>.
  2.2601 +
  2.2602 +	If the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>
  2.2603  	is a <a href=#tokendef-open-curly>&lt;{-token&gt;</a>, <a href=#tokendef-open-square>&lt;[-token&gt;</a>, or <a href=#tokendef-open-paren>&lt;(-token&gt;</a>,
  2.2604  	<a data-link-type=dfn href=#consume-a-simple-block0 title="consume a simple block">consume a simple block</a>
  2.2605  	and return it.
  2.2606  
  2.2607 -<p>	Otherwise, if the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>
  2.2608 +	Otherwise, if the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>
  2.2609  	is a <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>,
  2.2610  	<a data-link-type=dfn href=#consume-a-function0 title="consume a function">consume a function</a>
  2.2611  	and return it.
  2.2612  
  2.2613 -<p>	Otherwise, return the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>.
  2.2614 +	Otherwise, return the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>.
  2.2615  
  2.2616  
  2.2617  <h4 class="heading settled heading" data-level=5.4.7 id=consume-a-simple-block><span class=secno>5.4.7 </span><span class=content>
  2.2618  Consume a simple block</span><a class=self-link href=#consume-a-simple-block></a></h4>
  2.2619  
  2.2620 -<p class=note>	Note: This algorithm assumes that the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> has already been checked to be an <a href=#tokendef-open-curly>&lt;{-token&gt;</a>, <a href=#tokendef-open-square>&lt;[-token&gt;</a>, or <a href=#tokendef-open-paren>&lt;(-token&gt;</a>.
  2.2621 -
  2.2622 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-simple-block0>consume a simple block<a class=self-link href=#consume-a-simple-block0></a></dfn>:
  2.2623 -
  2.2624 -<p>	The <dfn data-dfn-type=dfn data-noexport="" id=ending-token>ending token<a class=self-link href=#ending-token></a></dfn> is the mirror variant of the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>.
  2.2625 +	Note: This algorithm assumes that the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> has already been checked to be an <a href=#tokendef-open-curly>&lt;{-token&gt;</a>, <a href=#tokendef-open-square>&lt;[-token&gt;</a>, or <a href=#tokendef-open-paren>&lt;(-token&gt;</a>.
  2.2626 +
  2.2627 +	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-simple-block0>consume a simple block<a class=self-link href=#consume-a-simple-block0></a></dfn>:
  2.2628 +
  2.2629 +	The <dfn data-dfn-type=dfn data-noexport="" id=ending-token>ending token<a class=self-link href=#ending-token></a></dfn> is the mirror variant of the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>.
  2.2630  	(E.g. if it was called with <a href=#tokendef-open-square>&lt;[-token&gt;</a>, the <a data-link-type=dfn href=#ending-token title="ending token">ending token</a> is <a href=#tokendef-close-square>&lt;]-token&gt;</a>.)
  2.2631  
  2.2632 -<p>	Create a <a data-link-type=dfn href=#simple-block title="simple block">simple block</a> with its associated token set to the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>
  2.2633 +	Create a <a data-link-type=dfn href=#simple-block title="simple block">simple block</a> with its associated token set to the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>
  2.2634  	and with a value with is initially an empty list.
  2.2635  
  2.2636 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> and process it as follows:
  2.2637 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> and process it as follows:
  2.2638  
  2.2639  	<dl>
  2.2640  		<dt><a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>
  2.2641  		<dt><a data-link-type=dfn href=#ending-token title="ending token">ending token</a>
  2.2642  		<dd>
  2.2643 -<p>			Return the block.
  2.2644 +			Return the block.
  2.2645  
  2.2646  		<dt>anything else
  2.2647  		<dd>
  2.2648 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2649 +			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2650  			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">Consume a component value</a>
  2.2651  			and append it to the value of the block.
  2.2652  	</dl>
  2.2653 @@ -4102,24 +4133,24 @@
  2.2654  <h4 class="heading settled heading" data-level=5.4.8 id=consume-a-function><span class=secno>5.4.8 </span><span class=content>
  2.2655  Consume a function</span><a class=self-link href=#consume-a-function></a></h4>
  2.2656  
  2.2657 -<p class=note>	Note: This algorithm assumes that the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> has already been checked to be a <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>.
  2.2658 -
  2.2659 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-function0>consume a function<a class=self-link href=#consume-a-function0></a></dfn>:
  2.2660 -
  2.2661 -<p>	Create a function with a name equal to the value of the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>,
  2.2662 +	Note: This algorithm assumes that the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> has already been checked to be a <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>.
  2.2663 +
  2.2664 +	To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-function0>consume a function<a class=self-link href=#consume-a-function0></a></dfn>:
  2.2665 +
  2.2666 +	Create a function with a name equal to the value of the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>,
  2.2667  	and with a value which is initially an empty list.
  2.2668  
  2.2669 -<p>	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> and process it as follows:
  2.2670 +	Repeatedly consume the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> and process it as follows:
  2.2671  
  2.2672  	<dl>
  2.2673  		<dt><a class="production css-code" data-link-type=type href=#typedef-eof-token title="<eof-token>">&lt;EOF-token&gt;</a>
  2.2674  		<dt><a href=#tokendef-close-paren>&lt;)-token&gt;</a>
  2.2675  		<dd>
  2.2676 -<p>			Return the function.
  2.2677 +			Return the function.
  2.2678  
  2.2679  		<dt>anything else
  2.2680  		<dd>
  2.2681 -<p>			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2682 +			<a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">Reconsume the current input token</a>.
  2.2683  			<a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">Consume a component value</a>
  2.2684  			and append the returned value
  2.2685  			to the function’s value.
  2.2686 @@ -4130,24 +4161,24 @@
  2.2687  <h2 class="heading settled heading" data-level=6 id=anb><span class=secno>6 </span><span class=content>
  2.2688  The <var>An+B</var> microsyntax</span><a class=self-link href=#anb></a></h2>
  2.2689  
  2.2690 -<p>	Several things in CSS,
  2.2691 +	Several things in CSS,
  2.2692  	such as the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/selectors-4/#nth-child-pseudo title=:nth-child()>:nth-child()</a> pseudoclass,
  2.2693  	need to indicate indexes in a list.
  2.2694  	The <var>An+B</var> microsyntax is useful for this,
  2.2695  	allowing an author to easily indicate single elements
  2.2696  	or all elements at regularly-spaced intervals in a list.
  2.2697  
  2.2698 -<p>	The <dfn data-dfn-type=dfn data-export="" id=anb0>An+B<a class=self-link href=#anb0></a></dfn> notation defines an integer step (<dfn data-dfn-type=dfn data-noexport="" id=a>A<a class=self-link href=#a></a></dfn>) and offset (<dfn data-dfn-type=dfn data-noexport="" id=b>B<a class=self-link href=#b></a></dfn>),
  2.2699 +	The <dfn data-dfn-type=dfn data-export="" id=anb0>An+B<a class=self-link href=#anb0></a></dfn> notation defines an integer step (<dfn data-dfn-type=dfn data-noexport="" id=a>A<a class=self-link href=#a></a></dfn>) and offset (<dfn data-dfn-type=dfn data-noexport="" id=b>B<a class=self-link href=#b></a></dfn>),
  2.2700  	and represents the <var>An+B</var>th elements in a list,
  2.2701  	for every positive integer or zero value of <var>n</var>,
  2.2702  	with the first element in the list having index 1 (not 0).
  2.2703  
  2.2704 -<p>	For values of <var>A</var> and <var>B</var> greater than 0,
  2.2705 +	For values of <var>A</var> and <var>B</var> greater than 0,
  2.2706  	this effectively divides the list into groups of <var>A</var> elements
  2.2707  	(the last group taking the remainder),
  2.2708  	and selecting the <var>B</var>th element of each group.
  2.2709  
  2.2710 -<p>	The <var>An+B</var> notation also accepts the <span class=css data-link-type=maybe title=even>even</span> and <span class=css data-link-type=maybe title=odd>odd</span> keywords,
  2.2711 +	The <var>An+B</var> notation also accepts the <span class=css data-link-type=maybe title=even>even</span> and <span class=css data-link-type=maybe title=odd>odd</span> keywords,
  2.2712  	which have the same meaning as <span class=css data-link-type=maybe title=2n>2n</span> and <span class=css data-link-type=maybe title=2n+1>2n+1</span>, respectively.
  2.2713  
  2.2714  	<div class=example>
  2.2715 @@ -4156,7 +4187,7 @@
  2.2716  even   /* same */
  2.2717  4n+1   /* represents the 1st, 5th, 9th, 13th, etc. elements in the list */</pre>	</div>
  2.2718  
  2.2719 -<p>	The values of <var>A</var> and <var>B</var> can be negative,
  2.2720 +	The values of <var>A</var> and <var>B</var> can be negative,
  2.2721  	but only the positive results of <var>An+B</var>,
  2.2722  	for <var>n</var> ≥ 0,
  2.2723  	are used.
  2.2724 @@ -4167,15 +4198,15 @@
  2.2725  -4n+10  /* represents the 2nd, 6th, and 10th elements of the list */
  2.2726  </pre>	</div>
  2.2727  
  2.2728 -<p>	If both <var>A</var> and <var>B</var> are 0,
  2.2729 +	If both <var>A</var> and <var>B</var> are 0,
  2.2730  	the pseudo-class represents no element in the list.
  2.2731  
  2.2732  <h3 class="heading settled heading" data-level=6.1 id=anb-syntax><span class=secno>6.1 </span><span class=content>
  2.2733  Informal Syntax Description</span><a class=self-link href=#anb-syntax></a></h3>
  2.2734  
  2.2735 -<p>	<em>This section is non-normative.</em>
  2.2736 -
  2.2737 -<p>	When <var>A</var> is 0, the <var>An</var> part may be omitted
  2.2738 +	<em>This section is non-normative.</em>
  2.2739 +
  2.2740 +	When <var>A</var> is 0, the <var>An</var> part may be omitted
  2.2741  	(unless the <var>B</var> part is already omitted).
  2.2742  	When <var>An</var> is not included
  2.2743  	and <var>B</var> is non-negative,
  2.2744 @@ -4188,7 +4219,7 @@
  2.2745  		<pre>0n+5   /* represents the 5th element in the list */
  2.2746  5      /* same */</pre>	</div>
  2.2747  
  2.2748 -<p>	When <var>A</var> is 1 or -1,
  2.2749 +	When <var>A</var> is 1 or -1,
  2.2750  	the <code>1</code> may be omitted from the rule.
  2.2751  
  2.2752  	<div class=example>
  2.2753 @@ -4198,7 +4229,7 @@
  2.2754  n+0    /* same */
  2.2755  n      /* same */</pre>	</div>
  2.2756  
  2.2757 -<p>	If <var>B</var> is 0, then every <var>A</var>th element is picked.
  2.2758 +	If <var>B</var> is 0, then every <var>A</var>th element is picked.
  2.2759  	In such a case,
  2.2760  	the <var>+B</var> (or <var>-B</var>) part may be omitted
  2.2761  	unless the <var>A</var> part is already omitted.
  2.2762 @@ -4208,14 +4239,14 @@
  2.2763  		<pre>2n+0   /* represents every even element in the list */
  2.2764  2n     /* same */</pre>	</div>
  2.2765  
  2.2766 -<p>	When B is negative, its minus sign replaces the <span class=css data-link-type=maybe title=+>+</span> sign.
  2.2767 +	When B is negative, its minus sign replaces the <span class=css data-link-type=maybe title=+>+</span> sign.
  2.2768  
  2.2769  	<div class=example>
  2.2770  		<p>Valid example:
  2.2771  <pre>3n-6</pre>		<p>Invalid example:
  2.2772  <pre>3n + -6</pre>	</div>
  2.2773  
  2.2774 -<p>	Whitespace is permitted on either side of the <span class=css data-link-type=maybe title=+>+</span> or <span class=css data-link-type=maybe title=->-</span>
  2.2775 +	Whitespace is permitted on either side of the <span class=css data-link-type=maybe title=+>+</span> or <span class=css data-link-type=maybe title=->-</span>
  2.2776  	that separates the <var>An</var> and <var>B</var> parts when both are present.
  2.2777  
  2.2778  	<div class=example>
  2.2779 @@ -4232,13 +4263,13 @@
  2.2780  <h3 class="heading settled heading" data-level=6.2 id=the-anb-type><span class=secno>6.2 </span><span class=content>
  2.2781  The <code>&lt;an+b&gt;</code> type</span><a class=self-link href=#the-anb-type></a></h3>
  2.2782  
  2.2783 -<p>	The <var>An+B</var> notation was originally defined using a slightly different tokenizer than the rest of CSS,
  2.2784 +	The <var>An+B</var> notation was originally defined using a slightly different tokenizer than the rest of CSS,
  2.2785  	resulting in a somewhat odd definition when expressed in terms of CSS tokens.
  2.2786  	This section describes how to recognize the <var>An+B</var> notation in terms of CSS tokens
  2.2787  	(thus defining the <var>&lt;an+b&gt;</var> type for CSS grammar purposes),
  2.2788  	and how to interpret the CSS tokens to obtain values for <var>A</var> and <var>B</var>.
  2.2789  
  2.2790 -<p>	The <var>&lt;an+b&gt;</var> type is defined
  2.2791 +	The <var>&lt;an+b&gt;</var> type is defined
  2.2792  	(using the <a href=http://www.w3.org/TR/css3-values/#value-defs>Value Definition Syntax in the Values &amp; Units spec</a>)
  2.2793  	as:
  2.2794  
  2.2795 @@ -4266,9 +4297,9 @@
  2.2796      '+'?<sup><a href=#anb-plus>†</a></sup> n ['+' | '-'] <var>&lt;signless-integer&gt;</var> |
  2.2797      -n ['+' | '-'] <var>&lt;signless-integer&gt;</var>
  2.2798  </pre>
  2.2799 -<p>	where:
  2.2800 -
  2.2801 -<p>	<ul>
  2.2802 +	where:
  2.2803 +
  2.2804 +	<ul>
  2.2805  		<li><dfn class=css-code data-dfn-type=type data-export="" id=typedef-n-dimension><code>&lt;n-dimension&gt;</code><a class=self-link href=#typedef-n-dimension></a></dfn> is a <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> with its type flag set to "integer", and a unit that is an <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a> match for "n"
  2.2806  		<li><dfn class=css-code data-dfn-type=type data-export="" id=typedef-ndash-dimension><code>&lt;ndash-dimension&gt;</code><a class=self-link href=#typedef-ndash-dimension></a></dfn> is a <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> with its type flag set to "integer", and a unit that is an <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a> match for "n-"
  2.2807  		<li><dfn class=css-code data-dfn-type=type data-export="" id=typedef-ndashdigit-dimension><code>&lt;ndashdigit-dimension&gt;</code><a class=self-link href=#typedef-ndashdigit-dimension></a></dfn> is a <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> with its type flag set to "integer", and a unit that is an <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a> match for "n-*", where "*" is a series of one or more <a data-link-type=dfn href=#digit title=digits>digits</a>
  2.2808 @@ -4285,39 +4316,39 @@
  2.2809  		or else the tokens do not match the above grammar.
  2.2810  		Whitespace is valid (and ignored) between any other two tokens.
  2.2811  
  2.2812 -<p>	The clauses of the production are interpreted as follows:
  2.2813 +	The clauses of the production are interpreted as follows:
  2.2814  
  2.2815  	<dl>
  2.2816  		<dt><span class=css data-link-type=maybe title=odd>odd</span>
  2.2817  		<dd>
  2.2818 -<p>			<var>A</var> is 2, <var>B</var> is 1.
  2.2819 +			<var>A</var> is 2, <var>B</var> is 1.
  2.2820  
  2.2821  		<dt><span class=css data-link-type=maybe title=even>even</span>
  2.2822  		<dd>
  2.2823 -<p>			<var>A</var> is 2, <var>B</var> is 0.
  2.2824 +			<var>A</var> is 2, <var>B</var> is 0.
  2.2825  
  2.2826  		<dt><code><var>&lt;integer&gt;</var></code>
  2.2827  		<dd>
  2.2828 -<p>			<var>A</var> is 0, <var>B</var> is the integer’s value.
  2.2829 +			<var>A</var> is 0, <var>B</var> is the integer’s value.
  2.2830  
  2.2831  		<dt><code><var>&lt;n-dimension&gt;</var></code>
  2.2832  		<dt><code>'+'? n</code>
  2.2833  		<dt><code>-n</code>
  2.2834  		<dd>
  2.2835 -<p>			<var>A</var> is the dimension’s value, 1, or -1, respectively.
  2.2836 +			<var>A</var> is the dimension’s value, 1, or -1, respectively.
  2.2837  			<var>B</var> is 0.
  2.2838  
  2.2839  		<dt><code><var>&lt;ndashdigit-dimension&gt;</var></code>
  2.2840  		<dt><code>'+'? <var>&lt;ndashdigit-ident&gt;</var></code>
  2.2841  		<dd>
  2.2842 -<p>			<var>A</var> is the dimension’s value or 1, respectively.
  2.2843 +			<var>A</var> is the dimension’s value or 1, respectively.
  2.2844  			<var>B</var> is the dimension’s unit or ident’s value, respectively,
  2.2845  			with the first <a data-link-type=dfn href=#code-point title="code point">code point</a> removed and the remainder interpreted as a base-10 number.
  2.2846  			<span class=note>B is negative.</span>
  2.2847  
  2.2848  		<dt><code><var>&lt;dashndashdigit-ident&gt;</var></code>
  2.2849  		<dd>
  2.2850 -<p>			<var>A</var> is -1.
  2.2851 +			<var>A</var> is -1.
  2.2852  			<var>B</var> is the ident’s value, with the first two <a data-link-type=dfn href=#code-point title="code points">code points</a> removed and the remainder interpreted as a base-10 number.
  2.2853  			<span class=note>B is negative.</span>
  2.2854  
  2.2855 @@ -4325,21 +4356,21 @@
  2.2856  		<dt><code>'+'? n <var>&lt;signed-integer&gt;</var></code>
  2.2857  		<dt><code>-n <var>&lt;signed-integer&gt;</var></code>
  2.2858  		<dd>
  2.2859 -<p>			<var>A</var> is the dimension’s value, 1, or -1, respectively.
  2.2860 +			<var>A</var> is the dimension’s value, 1, or -1, respectively.
  2.2861  			<var>B</var> is the integer’s value.
  2.2862  
  2.2863  		<dt><code><var>&lt;ndash-dimension&gt;</var> <var>&lt;signless-integer&gt;</var></code>
  2.2864  		<dt><code>'+'? n- <var>&lt;signless-integer&gt;</var></code>
  2.2865  		<dt><code>-n- <var>&lt;signless-integer&gt;</var></code>
  2.2866  		<dd>
  2.2867 -<p>			<var>A</var> is the dimension’s value, 1, or -1, respectively.
  2.2868 +			<var>A</var> is the dimension’s value, 1, or -1, respectively.
  2.2869  			<var>B</var> is the negation of the integer’s value.
  2.2870  
  2.2871  		<dt><code><var>&lt;n-dimension&gt;</var> ['+' | '-'] <var>&lt;signless-integer&gt;</var></code>
  2.2872  		<dt><code>'+'? n ['+' | '-'] <var>&lt;signless-integer&gt;</var></code>
  2.2873  		<dt><code>-n ['+' | '-'] <var>&lt;signless-integer&gt;</var></code>
  2.2874  		<dd>
  2.2875 -<p>			<var>A</var> is the dimension’s value, 1, or -1, respectively.
  2.2876 +			<var>A</var> is the dimension’s value, 1, or -1, respectively.
  2.2877  			<var>B</var> is the integer’s value.
  2.2878  			If a '-' was provided between the two, <var>B</var> is instead the negation of the integer’s value.
  2.2879  	</dl>
  2.2880 @@ -4349,24 +4380,24 @@
  2.2881  <h2 class="heading settled heading" data-level=7 id=rule-defs><span class=secno>7 </span><span class=content>
  2.2882  Defining Grammars for Rules and Other Values</span><a class=self-link href=#rule-defs></a></h2>
  2.2883  
  2.2884 -<p>	The <a href=http://www.w3.org/TR/css3-values/>Values</a> spec defines how to specify a grammar for properties.
  2.2885 +	The <a href=http://www.w3.org/TR/css3-values/>Values</a> spec defines how to specify a grammar for properties.
  2.2886  	This section does the same, but for rules.
  2.2887  
  2.2888 -<p>	Just like in property grammars,
  2.2889 +	Just like in property grammars,
  2.2890  	the notation <code>&lt;foo&gt;</code> refers to the "foo" grammar term,
  2.2891  	assumed to be defined elsewhere.
  2.2892  	Substituting the <code>&lt;foo&gt;</code> for its definition results in a semantically identical grammar.
  2.2893  
  2.2894 -<p>	Several types of tokens are written literally, without quotes:
  2.2895 -
  2.2896 -<p>	<ul>
  2.2897 +	Several types of tokens are written literally, without quotes:
  2.2898 +
  2.2899 +	<ul>
  2.2900  		<li><a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>s (such as <span class=css data-link-type=maybe title=auto>auto</span>, <span class=css data-link-type=maybe title=disc>disc</span>, etc), which are simply written as their value.
  2.2901  		<li><a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>s, which are written as an @ character followed by the token’s value, like "@media".
  2.2902  		<li><a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a>s, which are written as the function name followed by a ( character, like "translate(".
  2.2903  		<li>The <a class="production css-code" data-link-type=type href=#typedef-colon-token title="<colon-token>">&lt;colon-token&gt;</a> (written as <code>:</code>), <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a> (written as <code>,</code>), <a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a> (written as <code>;</code>), <a href=#tokendef-open-paren>&lt;(-token&gt;</a>, <a href=#tokendef-close-paren>&lt;)-token&gt;</a>, <a href=#tokendef-open-curly>&lt;{-token&gt;</a>, and <a href=#tokendef-close-curly>&lt;}-token&gt;</a>s.
  2.2904  	</ul>
  2.2905  
  2.2906 -<p>	Tokens match if their value is an <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a> match
  2.2907 +	Tokens match if their value is an <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a> match
  2.2908  	for the value defined in the grammar.
  2.2909  
  2.2910  	<p class=note>
  2.2911 @@ -4375,7 +4406,7 @@
  2.2912  		such a tokens is not a <a class="production css-code" data-link-type=type href=#typedef-function-token title="<function-token>">&lt;function-token&gt;</a> or an <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>
  2.2913  		and does not match corresponding grammar definitions.
  2.2914  
  2.2915 -<p>	<a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>s are written with their value enclosed in single quotes.
  2.2916 +	<a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>s are written with their value enclosed in single quotes.
  2.2917  	For example, a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> containing the "+" <a data-link-type=dfn href=#code-point title="code point">code point</a> is written as <code>'+'</code>.
  2.2918  	Similarly, the <a href=#tokendef-open-square>&lt;[-token&gt;</a> and <a href=#tokendef-close-square>&lt;]-token&gt;</a>s must be written in single quotes,
  2.2919  	as they’re used by the syntax of the grammar itself to group clauses.
  2.2920 @@ -4385,7 +4416,7 @@
  2.2921  	(For example, if the prelude of a rule is a selector,
  2.2922  	whitespace is significant.)
  2.2923  
  2.2924 -<p>	When defining a function or a block,
  2.2925 +	When defining a function or a block,
  2.2926  	the ending token must be specified in the grammar,
  2.2927  	but if it’s not present in the eventual token stream,
  2.2928  	it still matches.
  2.2929 @@ -4394,10 +4425,10 @@
  2.2930  		For example, the syntax of the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-transforms-1/#funcdef-translatex title=translatex()>translateX()</a> function is:
  2.2931  
  2.2932  <pre>translateX( <a class="production css-code" data-link-type=type href=http://www.w3.org/TR/css3-2d-transforms/#typedef-translation-value title="<translation-value>">&lt;translation-value&gt;</a> )</pre>
  2.2933 -<p>		However, the stylesheet may end with the function unclosed, like:
  2.2934 +		However, the stylesheet may end with the function unclosed, like:
  2.2935  
  2.2936  <pre>.foo { transform: translate(50px</pre>
  2.2937 -<p>		The CSS parser parses this as a style rule containing one declaration,
  2.2938 +		The CSS parser parses this as a style rule containing one declaration,
  2.2939  		whose value is a function named "translate".
  2.2940  		This matches the above grammar,
  2.2941  		even though the ending token didn’t appear in the token stream,
  2.2942 @@ -4409,20 +4440,20 @@
  2.2943  <h3 class="heading settled heading" data-level=7.1 id=declaration-rule-list><span class=secno>7.1 </span><span class=content>
  2.2944  Defining Block Contents: the <a class="production css-code" data-link-type=type href=#typedef-declaration-list title="<declaration-list>">&lt;declaration-list&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-rule-list title="<rule-list>">&lt;rule-list&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-stylesheet title="<stylesheet>">&lt;stylesheet&gt;</a> productions</span><a class=self-link href=#declaration-rule-list></a></h3>
  2.2945  
  2.2946 -<p>	The CSS parser is agnostic as to the contents of blocks,
  2.2947 +	The CSS parser is agnostic as to the contents of blocks,
  2.2948  	such as those that come at the end of some at-rules.
  2.2949  	Defining the generic grammar of the blocks in terms of tokens is non-trivial,
  2.2950  	but there are dedicated and unambiguous algorithms defined for parsing this.
  2.2951  
  2.2952 -<p>	The <dfn class=css-code data-dfn-type=type data-export="" id=typedef-declaration-list>&lt;declaration-list&gt;<a class=self-link href=#typedef-declaration-list></a></dfn> production represents a list of declarations.
  2.2953 +	The <dfn class=css-code data-dfn-type=type data-export="" id=typedef-declaration-list>&lt;declaration-list&gt;<a class=self-link href=#typedef-declaration-list></a></dfn> production represents a list of declarations.
  2.2954  	It may only be used in grammars as the sole value in a block,
  2.2955  	and represents that the contents of the block must be parsed using the <a data-link-type=dfn href=#consume-a-list-of-declarations0 title="consume a list of declarations">consume a list of declarations</a> algorithm.
  2.2956  
  2.2957 -<p>	Similarly, the <dfn class=css-code data-dfn-type=type data-export="" id=typedef-rule-list>&lt;rule-list&gt;<a class=self-link href=#typedef-rule-list></a></dfn> production represents a list of rules,
  2.2958 +	Similarly, the <dfn class=css-code data-dfn-type=type data-export="" id=typedef-rule-list>&lt;rule-list&gt;<a class=self-link href=#typedef-rule-list></a></dfn> production represents a list of rules,
  2.2959  	and may only be used in grammars as the sole value in a block.
  2.2960  	It represents that the contents of the block must be parsed using the <a data-link-type=dfn href=#consume-a-list-of-rules0 title="consume a list of rules">consume a list of rules</a> algorithm.
  2.2961  
  2.2962 -<p>	Finally, the <dfn class=css-code data-dfn-type=type data-export="" id=typedef-stylesheet>&lt;stylesheet&gt;<a class=self-link href=#typedef-stylesheet></a></dfn> production represents a list of rules.
  2.2963 +	Finally, the <dfn class=css-code data-dfn-type=type data-export="" id=typedef-stylesheet>&lt;stylesheet&gt;<a class=self-link href=#typedef-stylesheet></a></dfn> production represents a list of rules.
  2.2964  	It is identical to <a class="production css-code" data-link-type=type href=#typedef-rule-list title="<rule-list>">&lt;rule-list&gt;</a>,
  2.2965  	except that blocks using it default to accepting all rules
  2.2966  	that aren’t otherwise limited to a particular context.
  2.2967 @@ -4433,23 +4464,23 @@
  2.2968  		This is expressed with the following grammar:
  2.2969  
  2.2970  <pre>@font-face { <a class="production css-code" data-link-type=type href=#typedef-declaration-list title="<declaration-list>">&lt;declaration-list&gt;</a> }</pre>
  2.2971 -<p>		This is a complete and sufficient definition of the rule’s grammar.
  2.2972 -
  2.2973 -<p>		For another example,
  2.2974 +		This is a complete and sufficient definition of the rule’s grammar.
  2.2975 +
  2.2976 +		For another example,
  2.2977  		<a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-animations-1/#at-ruledef-keyframes title=@keyframes>@keyframes</a> rules are more complex,
  2.2978  		interpreting their prelude as a name and containing keyframes rules in their block
  2.2979  		Their grammar is:
  2.2980  
  2.2981  <pre>@keyframes <a class="production css-code" data-link-type=type title="<keyframes-name>">&lt;keyframes-name&gt;</a> { <a class="production css-code" data-link-type=type href=#typedef-rule-list title="<rule-list>">&lt;rule-list&gt;</a> }</pre>	</div>
  2.2982  
  2.2983 -<p>	For rules that use <a class="production css-code" data-link-type=type href=#typedef-declaration-list title="<declaration-list>">&lt;declaration-list&gt;</a>,
  2.2984 +	For rules that use <a class="production css-code" data-link-type=type href=#typedef-declaration-list title="<declaration-list>">&lt;declaration-list&gt;</a>,
  2.2985  	the spec for the rule must define which properties, descriptors, and/or at-rules are valid inside the rule;
  2.2986  	this may be as simple as saying "The @foo rule accepts the properties/descriptors defined in this specification/section.",
  2.2987  	and extension specs may simply say "The @foo rule additionally accepts the following properties/descriptors.".
  2.2988  	Any declarations or at-rules found inside the block that are not defined as valid
  2.2989  	must be removed from the rule’s value.
  2.2990  
  2.2991 -<p>	Within a <a class="production css-code" data-link-type=type href=#typedef-declaration-list title="<declaration-list>">&lt;declaration-list&gt;</a>,
  2.2992 +	Within a <a class="production css-code" data-link-type=type href=#typedef-declaration-list title="<declaration-list>">&lt;declaration-list&gt;</a>,
  2.2993  	<code>!important</code> is automatically invalid on any descriptors.
  2.2994  	If the rule accepts properties,
  2.2995  	the spec for the rule must define whether the properties interact with the cascade,
  2.2996 @@ -4464,7 +4495,7 @@
  2.2997  		define that the allowed declarations are the descriptors defined in the Fonts spec.
  2.2998  	</div>
  2.2999  
  2.3000 -<p>	For rules that use <a class="production css-code" data-link-type=type href=#typedef-rule-list title="<rule-list>">&lt;rule-list&gt;</a>,
  2.3001 +	For rules that use <a class="production css-code" data-link-type=type href=#typedef-rule-list title="<rule-list>">&lt;rule-list&gt;</a>,
  2.3002  	the spec for the rule must define what types of rules are valid inside the rule,
  2.3003  	same as <a class="production css-code" data-link-type=type href=#typedef-declaration-list title="<declaration-list>">&lt;declaration-list&gt;</a>,
  2.3004  	and unrecognized rules must similarly be removed from the rule’s value.
  2.3005 @@ -4476,13 +4507,13 @@
  2.3006  		which are defined as:
  2.3007  
  2.3008  <pre><a class="production css-code" data-link-type=type title="<keyframe-rule>">&lt;keyframe-rule&gt;</a> = <a class="production css-code" data-link-type=type title="<keyframe-selector>">&lt;keyframe-selector&gt;</a> { <a class="production css-code" data-link-type=type href=#typedef-declaration-list title="<declaration-list>">&lt;declaration-list&gt;</a> }</pre>
  2.3009 -<p>		Keyframe rules, then,
  2.3010 +		Keyframe rules, then,
  2.3011  		must further define that they accept as declarations all animatable CSS properties,
  2.3012  		plus the <a class=property data-link-type=propdesc href=http://dev.w3.org/csswg/css-animations-1/#propdef-animation-timing-function title=animation-timing-function>animation-timing-function</a> property,
  2.3013  		but that they do not interact with the cascade.
  2.3014  	</div>
  2.3015  
  2.3016 -<p>	For rules that use <a class="production css-code" data-link-type=type href=#typedef-stylesheet title="<stylesheet>">&lt;stylesheet&gt;</a>,
  2.3017 +	For rules that use <a class="production css-code" data-link-type=type href=#typedef-stylesheet title="<stylesheet>">&lt;stylesheet&gt;</a>,
  2.3018  	all rules are allowed by default,
  2.3019  	but the spec for the rule may define what types of rules are <em>invalid</em> inside the rule.
  2.3020  
  2.3021 @@ -4492,7 +4523,7 @@
  2.3022  		As such, its grammar is:
  2.3023  
  2.3024  <pre>@media <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/mediaqueries-4/#typedef-media-query-list title="<media-query-list>">&lt;media-query-list&gt;</a> { <a class="production css-code" data-link-type=type href=#typedef-stylesheet title="<stylesheet>">&lt;stylesheet&gt;</a> }</pre>
  2.3025 -<p>		It additionally defines a restriction that the <a class="production css-code" data-link-type=type href=#typedef-stylesheet title="<stylesheet>">&lt;stylesheet&gt;</a> can not contain <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a> rules,
  2.3026 +		It additionally defines a restriction that the <a class="production css-code" data-link-type=type href=#typedef-stylesheet title="<stylesheet>">&lt;stylesheet&gt;</a> can not contain <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a> rules,
  2.3027  		which causes them to be dropped from the outer rule’s value if they appear.
  2.3028  	</div>
  2.3029  
  2.3030 @@ -4500,11 +4531,11 @@
  2.3031  <h2 class="heading settled heading" data-level=8 id=css-stylesheets><span class=secno>8 </span><span class=content>
  2.3032  CSS stylesheets</span><a class=self-link href=#css-stylesheets></a></h2>
  2.3033  
  2.3034 -<p>	To <dfn data-dfn-type=dfn data-noexport="" id=parse-a-css-stylesheet>parse a CSS stylesheet<a class=self-link href=#parse-a-css-stylesheet></a></dfn>,
  2.3035 +	To <dfn data-dfn-type=dfn data-noexport="" id=parse-a-css-stylesheet>parse a CSS stylesheet<a class=self-link href=#parse-a-css-stylesheet></a></dfn>,
  2.3036  	first <a data-link-type=dfn href=#parse-a-stylesheet0 title="parse a stylesheet">parse a stylesheet</a>.
  2.3037  	Interpret all of the resulting top-level <a data-link-type=dfn href=#qualified-rule title="qualified rules">qualified rules</a> as <a data-link-type=dfn href=#style-rule title="style rules">style rules</a>, defined below.
  2.3038  
  2.3039 -<p>	If any style rule is invalid,
  2.3040 +	If any style rule is invalid,
  2.3041  	or any at-rule is not recognized or is invalid according to its grammar or context,
  2.3042  	it’s a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>.
  2.3043  	Discard that rule.
  2.3044 @@ -4512,19 +4543,19 @@
  2.3045  <h3 class="heading settled heading" data-level=8.1 id=style-rules><span class=secno>8.1 </span><span class=content>
  2.3046  Style rules</span><a class=self-link href=#style-rules></a></h3>
  2.3047  
  2.3048 -<p>	A <dfn data-dfn-type=dfn data-noexport="" id=style-rule>style rule<a class=self-link href=#style-rule></a></dfn> is a <a data-link-type=dfn href=#qualified-rule title="qualified rule">qualified rule</a>
  2.3049 +	A <dfn data-dfn-type=dfn data-noexport="" id=style-rule>style rule<a class=self-link href=#style-rule></a></dfn> is a <a data-link-type=dfn href=#qualified-rule title="qualified rule">qualified rule</a>
  2.3050  	that associates a <a href=http://dev.w3.org/csswg/selectors4/#selector-list>selector list</a> <a data-biblio-type=normative data-link-type=biblio href=#select title=select>[SELECT]</a>
  2.3051  	with a list of property declarations.
  2.3052  	They are also called
  2.3053  	<a href=http://www.w3.org/TR/CSS21/syndata.html#rule-sets>rule sets</a> in <a data-biblio-type=normative data-link-type=biblio href=#css21 title=css21>[CSS21]</a>.
  2.3054  	CSS Cascading and Inheritance <a data-biblio-type=normative data-link-type=biblio href=#css3cascade title=css3cascade>[CSS3CASCADE]</a> defines how the declarations inside of style rules participate in the cascade.
  2.3055  
  2.3056 -<p>	The prelude of the qualified rule is parsed as a
  2.3057 +	The prelude of the qualified rule is parsed as a
  2.3058  	<a href=http://dev.w3.org/csswg/selectors4/#selector-list>selector list</a>.
  2.3059  	If this results in an <a href=http://dev.w3.org/csswg/selectors4/#invalid>invalid selector list</a>,
  2.3060  	the entire style rule is invalid.
  2.3061  
  2.3062 -<p>	The content of the qualified rule’s block is parsed as a
  2.3063 +	The content of the qualified rule’s block is parsed as a
  2.3064  	<a data-link-type=dfn href=#parse-a-list-of-declarations0 title="parse a list of declarations">list of declarations</a>.
  2.3065  	Unless defined otherwise by another specification or a future level of this specification,
  2.3066  	at-rules in that list are invalid
  2.3067 @@ -4535,9 +4566,9 @@
  2.3068  	The validity of the style rule’s contents have no effect on the validity of the style rule itself.
  2.3069  	Unless otherwise specified, property names are <a data-link-type=dfn href=#ascii-case-insensitive title="ascii case-insensitive">ASCII case-insensitive</a>.
  2.3070  
  2.3071 -<p class=note>	Note: The names of Custom Properties <a data-biblio-type=informative data-link-type=biblio href=#css-variables title=css-variables>[CSS-VARIABLES]</a> are case-sensitive.
  2.3072 -
  2.3073 -<p>	<a data-link-type=dfn href=#qualified-rule title="qualified rules">Qualified rules</a> at the top-level of a CSS stylesheet are style rules.
  2.3074 +	Note: The names of Custom Properties <a data-biblio-type=informative data-link-type=biblio href=#css-variables title=css-variables>[CSS-VARIABLES]</a> are case-sensitive.
  2.3075 +
  2.3076 +	<a data-link-type=dfn href=#qualified-rule title="qualified rules">Qualified rules</a> at the top-level of a CSS stylesheet are style rules.
  2.3077  	Qualified rules in other contexts may or may not be style rules,
  2.3078  	as defined by the context.
  2.3079  
  2.3080 @@ -4548,16 +4579,16 @@
  2.3081  <h3 class="heading settled heading" data-level=8.2 id=charset-rule><span class=secno>8.2 </span><span class=content>
  2.3082  The <a class=css data-link-type=maybe href=#at-ruledef-charset title=@charset>@charset</a> Rule</span><a class=self-link href=#charset-rule></a></h3>
  2.3083  
  2.3084 -<p>	The @charset rule is an artifact of the algorithm used to <a data-link-type=dfn href=#determine-the-fallback-encoding title="determine the fallback encoding">determine the fallback encoding</a> for the stylesheet.
  2.3085 +	The @charset rule is an artifact of the algorithm used to <a data-link-type=dfn href=#determine-the-fallback-encoding title="determine the fallback encoding">determine the fallback encoding</a> for the stylesheet.
  2.3086  	That algorithm looks for a specific byte sequence as the very first few bytes in the file,
  2.3087  	which has the syntactic form of an @-rule.
  2.3088  	Those bytes are not discarded from the input,
  2.3089  	whether or not they influence the encoding actually used to process the stylesheet.
  2.3090  
  2.3091 -<p>	Therefore, the stylesheet parser recognizes an @-rule with the general syntax
  2.3092 +	Therefore, the stylesheet parser recognizes an @-rule with the general syntax
  2.3093  
  2.3094  <pre class=prod><dfn class=css-code data-dfn-type=at-rule data-export="" id=at-ruledef-charset>@charset<a class=self-link href=#at-ruledef-charset></a></dfn> = @charset <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#string-value title="<string>">&lt;string&gt;</a> ;</pre>
  2.3095 -<p>	and, for backward compatibility, includes it in the object model for the stylesheet.
  2.3096 +	and, for backward compatibility, includes it in the object model for the stylesheet.
  2.3097  	Modifying, adding, or removing an @charset rule via the object model has no effect
  2.3098  	(in particular it does <strong>not</strong> cause the stylesheet to be rescanned in a different encoding).
  2.3099  	The @charset rule is invalid if it is not the very first, top-level rule in the stylesheet,
  2.3100 @@ -4571,56 +4602,56 @@
  2.3101  <h2 class="heading settled heading" data-level=9 id=serialization><span class=secno>9 </span><span class=content>
  2.3102  Serialization</span><a class=self-link href=#serialization></a></h2>
  2.3103  
  2.3104 -<p>	The tokenizer described in this specification does not produce tokens for comments,
  2.3105 +	The tokenizer described in this specification does not produce tokens for comments,
  2.3106  	or otherwise preserve them in any way.
  2.3107  	Implementations may preserve the contents of comments and their location in the token stream.
  2.3108  	If they do, this preserved information must have no effect on the parsing step.
  2.3109  
  2.3110 -<p>	This specification does not define how to serialize CSS in general,
  2.3111 +	This specification does not define how to serialize CSS in general,
  2.3112  	leaving that task to the CSSOM and individual feature specifications.
  2.3113  	In particular, the serialization of comments an whitespace is not defined.
  2.3114  
  2.3115 -<p>	The only requirement for serialization is that it must "round-trip" with parsing,
  2.3116 +	The only requirement for serialization is that it must "round-trip" with parsing,
  2.3117  	that is, parsing the stylesheet must produce the same data structures as
  2.3118  	parsing, serializing, and parsing again,
  2.3119  	except for consecutive <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>s,
  2.3120  	which may be collapsed into a single token.
  2.3121  
  2.3122 -<p class=note>	Note: This exception can exist because
  2.3123 +	Note: This exception can exist because
  2.3124  	CSS grammars always interpret any amount of whitespace as identical to a single space.
  2.3125  
  2.3126  	<div class=note id=serialization-tables><a class=self-link href=#serialization-tables></a>
  2.3127  		To satisfy this requirement:
  2.3128  
  2.3129 -<p>		<ul>
  2.3130 +		<ul>
  2.3131  			<li>
  2.3132 -<p>				A <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> containing U+005C REVERSE SOLIDUS (\)
  2.3133 +				A <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> containing U+005C REVERSE SOLIDUS (\)
  2.3134  				must be serialized as U+005C REVERSE SOLIDUS
  2.3135  				followed by a <a data-link-type=dfn href=#newline title=newline>newline</a>.
  2.3136  				(The tokenizer only ever emits such a token followed by a <a class="production css-code" data-link-type=type href=#typedef-whitespace-token title="<whitespace-token>">&lt;whitespace-token&gt;</a>
  2.3137  				that starts with a newline.)
  2.3138  
  2.3139  			<li>
  2.3140 -<p>				A <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a> with the "unrestricted" type flag may not need
  2.3141 +				A <a class="production css-code" data-link-type=type href=#typedef-hash-token title="<hash-token>">&lt;hash-token&gt;</a> with the "unrestricted" type flag may not need
  2.3142  				as much escaping as the same token with the "id" type flag.
  2.3143  
  2.3144  			<li>
  2.3145 -<p>				The unit of a <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> may need escaping
  2.3146 +				The unit of a <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> may need escaping
  2.3147  				to disambiguate with scientific notation.
  2.3148  
  2.3149  			<li>
  2.3150 -<p>				For any consecutive pair of tokens,
  2.3151 +				For any consecutive pair of tokens,
  2.3152  				if the first token shows up in the row headings of either of the following two tables,
  2.3153  				and the second token shows up in the column headings,
  2.3154  				and there’s a ✗ in the cell denoted by the intersection of the chosen row and column,
  2.3155  				the pair of tokens must be serialized with a comment between them.
  2.3156  
  2.3157 -<p>				If the tokenizer preserves comments,
  2.3158 +				If the tokenizer preserves comments,
  2.3159  				the preserved comment should be used;
  2.3160  				otherwise, an empty comment (<code>/**/</code>) must be inserted.
  2.3161  				(Preserved comments may be reinserted even if the following tables don’t require a comment between two tokens.)
  2.3162  
  2.3163 -<p>				Single characters in the row and column headings represent a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> with that value,
  2.3164 +				Single characters in the row and column headings represent a <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> with that value,
  2.3165  				except for "<code>(</code>",
  2.3166  				which represents a <a href=#tokendef-open-paren>(-token</a>.
  2.3167  		</ul>
  2.3168 @@ -4703,43 +4734,43 @@
  2.3169  <h3 class="heading settled heading" data-level=9.1 id=serializing-anb><span class=secno>9.1 </span><span class=content>
  2.3170  Serializing <var>&lt;an+b&gt;</var></span><a class=self-link href=#serializing-anb></a></h3>
  2.3171  
  2.3172 -<p>	To serialize an <var>&lt;an+b&gt;</var> value,
  2.3173 +	To serialize an <var>&lt;an+b&gt;</var> value,
  2.3174  	let <var>s</var> initially be the empty string:
  2.3175  
  2.3176  	<dl>
  2.3177  		<dt><var>A</var> and <var>B</var> are both zero
  2.3178  		<dd>
  2.3179 -<p>			Append "0" to <var>s</var>.
  2.3180 +			Append "0" to <var>s</var>.
  2.3181  
  2.3182  		<dt><var>A</var> is zero, <var>B</var> is non-zero
  2.3183  		<dd>
  2.3184 -<p>			Serialize <var>B</var> and append it to <var>s</var>.
  2.3185 +			Serialize <var>B</var> and append it to <var>s</var>.
  2.3186  
  2.3187  		<dt><var>A</var> is non-zero, <var>B</var> is zero
  2.3188  		<dd>
  2.3189 -<p>			Serialize <var>A</var> and append it to <var>s</var>.
  2.3190 +			Serialize <var>A</var> and append it to <var>s</var>.
  2.3191  			Append "n" to <var>s</var>.
  2.3192  
  2.3193  		<dt><var>A</var> and <var>B</var> are both non-zero
  2.3194  		<dd>
  2.3195 -<p>			Serialize <var>A</var> and append it to <var>s</var>.
  2.3196 +			Serialize <var>A</var> and append it to <var>s</var>.
  2.3197  			Append "n" to <var>s</var>.
  2.3198  			If <var>B</var> is positive,
  2.3199  			append "+" to <var>s</var>
  2.3200  			Serialize <var>B</var> and append it to <var>s</var>.
  2.3201  	</dl>
  2.3202  
  2.3203 -<p>		Return <var>s</var>.
  2.3204 +		Return <var>s</var>.
  2.3205  
  2.3206  <h2 class="heading settled heading" data-level=10 id=changes0><span class=secno>10 </span><span class=content>
  2.3207  Changes</span><a class=self-link href=#changes0></a></h2>
  2.3208  
  2.3209 -<p>	<em>This section is non-normative.</em>
  2.3210 +	<em>This section is non-normative.</em>
  2.3211  
  2.3212  <h3 class="heading settled heading" data-level=10.1 id=changes-CR-20140220><span class=secno>10.1 </span><span class=content>
  2.3213  Changes from the 20 February 2014 Candidate Recommendation</span><a class=self-link href=#changes-CR-20140220></a></h3>
  2.3214  
  2.3215 -<p>	<ul>
  2.3216 +	<ul>
  2.3217  		<li>Fix several bugs in the tokenization and parsing algorithms.
  2.3218  		<li>Change the definition of ident-like tokens to allow "--" to start an ident.
  2.3219  		<li>Minor editorial restructuring of algorithms.
  2.3220 @@ -4748,18 +4779,18 @@
  2.3221  <h3 class="heading settled heading" data-level=10.2 id=changes-WD-20131105><span class=secno>10.2 </span><span class=content>
  2.3222  Changes from the 5 November 2013 Last Call Working Draft</span><a class=self-link href=#changes-WD-20131105></a></h3>
  2.3223  
  2.3224 -<p>	<ul>
  2.3225 +	<ul>
  2.3226  		<li>
  2.3227 -<p>			The <a href=#serialization>Serialization</a> section has been rewritten
  2.3228 +			The <a href=#serialization>Serialization</a> section has been rewritten
  2.3229  			to make only the "round-trip" requirement normative,
  2.3230  			and move the details of how to achieve it into a note.
  2.3231  			Some corner cases in these details have been fixed.
  2.3232  		<li>
  2.3233 -<p>			<a data-biblio-type=informative data-link-type=biblio href=#encoding title=encoding>[ENCODING]</a> has been added to the list of normative references.
  2.3234 +			<a data-biblio-type=informative data-link-type=biblio href=#encoding title=encoding>[ENCODING]</a> has been added to the list of normative references.
  2.3235  			It was already referenced in normative text before,
  2.3236  			just not listed as such.
  2.3237  		<li>
  2.3238 -<p>			In the algorithm to <a data-link-type=dfn href=#determine-the-fallback-encoding title="determine the fallback encoding">determine the fallback encoding</a> of a stylesheet,
  2.3239 +			In the algorithm to <a data-link-type=dfn href=#determine-the-fallback-encoding title="determine the fallback encoding">determine the fallback encoding</a> of a stylesheet,
  2.3240  			limit the <code>@charset</code> byte sequence to 1024 bytes.
  2.3241  			This aligns with what HTML does for <code>&lt;meta charset&gt;</code>
  2.3242  			and makes sure the size of the sequence is bounded.
  2.3243 @@ -4771,9 +4802,9 @@
  2.3244  <h3 class="heading settled heading" data-level=10.3 id=changes-WD-20130919><span class=secno>10.3 </span><span class=content>
  2.3245  Changes from the 19 September 2013 Working Draft</span><a class=self-link href=#changes-WD-20130919></a></h3>
  2.3246  
  2.3247 -<p>	<ul>
  2.3248 +	<ul>
  2.3249  		<li>
  2.3250 -<p>			The concept of <a data-link-type=dfn href=#environment-encoding title="environment encoding">environment encoding</a> was added.
  2.3251 +			The concept of <a data-link-type=dfn href=#environment-encoding title="environment encoding">environment encoding</a> was added.
  2.3252  			The behavior does not change,
  2.3253  			but some of the definitions should be moved to the relevant specs.
  2.3254  	</ul>
  2.3255 @@ -4781,68 +4812,68 @@
  2.3256  <h3 class="heading settled heading" data-level=10.4 id=changes-css21><span class=secno>10.4 </span><span class=content>
  2.3257  Changes from CSS 2.1 and Selectors Level 3</span><a class=self-link href=#changes-css21></a></h3>
  2.3258  
  2.3259 -<p class=note>	Note: The point of this spec is to match reality;
  2.3260 +	Note: The point of this spec is to match reality;
  2.3261  	changes from CSS2.1 are nearly always because CSS 2.1 specified something that doesn’t match actual browser behavior,
  2.3262  	or left something unspecified.
  2.3263  	If some detail doesn’t match browsers,
  2.3264  	please let me know
  2.3265  	as it’s almost certainly unintentional.
  2.3266  
  2.3267 -<p>	Changes in decoding from a byte stream:
  2.3268 -
  2.3269 -<p>	<ul>
  2.3270 +	Changes in decoding from a byte stream:
  2.3271 +
  2.3272 +	<ul>
  2.3273  		<li>
  2.3274 -<p>			Only detect <a class=css data-link-type=maybe href=#at-ruledef-charset title=@charset>@charset</a> rules in ASCII-compatible byte patterns.
  2.3275 +			Only detect <a class=css data-link-type=maybe href=#at-ruledef-charset title=@charset>@charset</a> rules in ASCII-compatible byte patterns.
  2.3276  
  2.3277  		<li>
  2.3278 -<p>			Ignore <a class=css data-link-type=maybe href=#at-ruledef-charset title=@charset>@charset</a> rules that specify an ASCII-incompatible encoding,
  2.3279 +			Ignore <a class=css data-link-type=maybe href=#at-ruledef-charset title=@charset>@charset</a> rules that specify an ASCII-incompatible encoding,
  2.3280  			as that would cause the rule itself to not decode properly.
  2.3281  
  2.3282  		<li>
  2.3283 -<p>			Refer to <a data-biblio-type=normative data-link-type=biblio href=#encoding title=encoding>[ENCODING]</a>
  2.3284 +			Refer to <a data-biblio-type=normative data-link-type=biblio href=#encoding title=encoding>[ENCODING]</a>
  2.3285  			rather than the IANA registery for character encodings.
  2.3286  
  2.3287  	</ul>
  2.3288  
  2.3289 -<p>	Tokenization changes:
  2.3290 -
  2.3291 -<p>	<ul>
  2.3292 +	Tokenization changes:
  2.3293 +
  2.3294 +	<ul>
  2.3295  		<li>
  2.3296 -<p>			Any U+0000 NULL <a data-link-type=dfn href=#code-point title="code point">code point</a> in the CSS source is replaced with U+FFFD REPLACEMENT CHARACTER.
  2.3297 +			Any U+0000 NULL <a data-link-type=dfn href=#code-point title="code point">code point</a> in the CSS source is replaced with U+FFFD REPLACEMENT CHARACTER.
  2.3298  
  2.3299  		<li>
  2.3300 -<p>			Any hexadecimal escape sequence such as <span class=css data-link-type=maybe title=\0>\0</span> that evaluates to zero
  2.3301 +			Any hexadecimal escape sequence such as <span class=css data-link-type=maybe title=\0>\0</span> that evaluates to zero
  2.3302  			produce U+FFFD REPLACEMENT CHARACTER rather than U+0000 NULL.
  2.3303  			
  2.3304  
  2.3305  		<li>
  2.3306 -<p>			The definition of <a data-link-type=dfn href=#non-ascii-code-point title="non-ascii code point">non-ASCII code point</a> was changed
  2.3307 +			The definition of <a data-link-type=dfn href=#non-ascii-code-point title="non-ascii code point">non-ASCII code point</a> was changed
  2.3308  			to be consistent with every definition of ASCII.
  2.3309  			This affects <a data-link-type=dfn href=#code-point title="code points">code points</a> U+0080 to U+009F,
  2.3310  			which are now <a data-link-type=dfn href=#name-code-point title="name code points">name code points</a> rather than <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a>s,
  2.3311  			like the rest of <a data-link-type=dfn href=#non-ascii-code-point title="non-ascii code points">non-ASCII code points</a>.
  2.3312  
  2.3313  		<li>
  2.3314 -<p>			Tokenization does not emit COMMENT or BAD_COMMENT tokens anymore.
  2.3315 +			Tokenization does not emit COMMENT or BAD_COMMENT tokens anymore.
  2.3316  			BAD_COMMENT is now considered the same as a normal token (not an error).
  2.3317  			<a href=#serialization>Serialization</a> is responsible
  2.3318  			for inserting comments as necessary between tokens that need to be separated,
  2.3319  			e.g. two consecutive <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>s.
  2.3320  
  2.3321  		<li>
  2.3322 -<p>			The <a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a> is now more restrictive,
  2.3323 +			The <a class="production css-code" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>">&lt;unicode-range-token&gt;</a> is now more restrictive,
  2.3324  			and doesn’t include non-sensical patterns that the 2.1 definition allowed.
  2.3325  
  2.3326  		<li>
  2.3327 -<p>			Apply the <a href=http://www.w3.org/TR/CSS21/syndata.html#unexpected-eof>EOF error handling rule</a> in the tokenizer
  2.3328 +			Apply the <a href=http://www.w3.org/TR/CSS21/syndata.html#unexpected-eof>EOF error handling rule</a> in the tokenizer
  2.3329  			and emit normal <a class="production css-code" data-link-type=type href=#typedef-string-token title="<string-token>">&lt;string-token&gt;</a> and <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a> rather than BAD_STRING or BAD_URI
  2.3330  			on EOF.
  2.3331  
  2.3332  		<li>
  2.3333 -<p>			<a class="production css-code" data-link-type=type href=#typedef-prefix-match-token title="<prefix-match-token>">&lt;prefix-match-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-suffix-match-token title="<suffix-match-token>">&lt;suffix-match-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-substring-match-token title="<substring-match-token>">&lt;substring-match-token&gt;</a> have been imported from Selectors 3.
  2.3334 +			<a class="production css-code" data-link-type=type href=#typedef-prefix-match-token title="<prefix-match-token>">&lt;prefix-match-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-suffix-match-token title="<suffix-match-token>">&lt;suffix-match-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-substring-match-token title="<substring-match-token>">&lt;substring-match-token&gt;</a> have been imported from Selectors 3.
  2.3335  
  2.3336  		<li>
  2.3337 -<p>			The BAD_URI token (now <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a>) is "self-contained".
  2.3338 +			The BAD_URI token (now <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a>) is "self-contained".
  2.3339  			In other words, once the tokenizer realizes it’s in a <a class="production css-code" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>">&lt;bad-url-token&gt;</a> rather than a <a class="production css-code" data-link-type=type href=#typedef-url-token title="<url-token>">&lt;url-token&gt;</a>,
  2.3340  			it just seeks forward to look for the closing ),
  2.3341  			ignoring everything else.
  2.3342 @@ -4852,33 +4883,33 @@
  2.3343  			but it doesn’t appear that we’ve gotten any compat bugs from it.
  2.3344  
  2.3345  		<li>
  2.3346 -<p>			The <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a> has been added.
  2.3347 +			The <a class="production css-code" data-link-type=type href=#typedef-comma-token title="<comma-token>">&lt;comma-token&gt;</a> has been added.
  2.3348  
  2.3349  		<li>
  2.3350 -<p>			<a class="production css-code" data-link-type=type href=#typedef-number-token title="<number-token>">&lt;number-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-percentage-token title="<percentage-token>">&lt;percentage-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> have been changed
  2.3351 +			<a class="production css-code" data-link-type=type href=#typedef-number-token title="<number-token>">&lt;number-token&gt;</a>, <a class="production css-code" data-link-type=type href=#typedef-percentage-token title="<percentage-token>">&lt;percentage-token&gt;</a>, and <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> have been changed
  2.3352  			to include the preceding +/- sign as part of their value
  2.3353  			(rather than as a separate <a class="production css-code" data-link-type=type href=#typedef-delim-token title="<delim-token>">&lt;delim-token&gt;</a> that needs to be manually handled every time the token is mentioned in other specs).
  2.3354  			The only consequence of this is that comments can no longer be inserted between the sign and the number.
  2.3355  
  2.3356  		<li>
  2.3357 -<p>			Scientific notation is supported for numbers/percentages/dimensions to match SVG,
  2.3358 +			Scientific notation is supported for numbers/percentages/dimensions to match SVG,
  2.3359  			per WG resolution.
  2.3360  
  2.3361  		<li>
  2.3362 -<p>			<a class="production css-code" data-link-type=type href=#typedef-column-token title="<column-token>">&lt;column-token&gt;</a> has been added,
  2.3363 +			<a class="production css-code" data-link-type=type href=#typedef-column-token title="<column-token>">&lt;column-token&gt;</a> has been added,
  2.3364  			to keep Selectors parsing in single-token lookahead.
  2.3365  
  2.3366  		<li>
  2.3367 -<p>			Hexadecimal escape for <a data-link-type=dfn href=#surrogate-code-point title="surrogate code points">surrogate code points</a> now emit a replacement character rather than the surrogate.
  2.3368 +			Hexadecimal escape for <a data-link-type=dfn href=#surrogate-code-point title="surrogate code points">surrogate code points</a> now emit a replacement character rather than the surrogate.
  2.3369  			This allows implementations to safely use UTF-16 internally.
  2.3370  
  2.3371  	</ul>
  2.3372  
  2.3373 -<p>	Parsing changes:
  2.3374 -
  2.3375 -<p>	<ul>
  2.3376 +	Parsing changes:
  2.3377 +
  2.3378 +	<ul>
  2.3379  		<li>
  2.3380 -<p>			Any list of declarations now also accepts at-rules, like <span class=css data-link-type=maybe title=@page>@page</span>,
  2.3381 +			Any list of declarations now also accepts at-rules, like <span class=css data-link-type=maybe title=@page>@page</span>,
  2.3382  			per WG resolution.
  2.3383  			This makes a difference in error handling
  2.3384  			even if no such at-rules are defined yet:
  2.3385 @@ -4886,7 +4917,7 @@
  2.3386  			and lets the next declaration begin.
  2.3387  
  2.3388  		<li>
  2.3389 -<p>			The handling of some miscellanous "special" tokens
  2.3390 +			The handling of some miscellanous "special" tokens
  2.3391  			(like an unmatched <a href=#tokendef-close-curly>&lt;}-token&gt;</a>)
  2.3392  			showing up in various places in the grammar
  2.3393  			has been specified with some reasonable behavior shown by at least one browser.
  2.3394 @@ -4894,30 +4925,30 @@
  2.3395  			so their handling was totally undefined.
  2.3396  			Specifically:
  2.3397  
  2.3398 -<p>			<ul>
  2.3399 +			<ul>
  2.3400  				<li>
  2.3401 -<p>					[] blocks, () blocks and functions can now contain {} blocks, <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>s or <a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a>s
  2.3402 +					[] blocks, () blocks and functions can now contain {} blocks, <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>s or <a class="production css-code" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>">&lt;semicolon-token&gt;</a>s
  2.3403  
  2.3404  				<li>
  2.3405 -<p>					Qualified rule preludes can now contain semicolons
  2.3406 +					Qualified rule preludes can now contain semicolons
  2.3407  
  2.3408  				<li>
  2.3409 -<p>					Qualified rule and at-rule preludes can now contain <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>s
  2.3410 +					Qualified rule and at-rule preludes can now contain <a class="production css-code" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>">&lt;at-keyword-token&gt;</a>s
  2.3411  			</ul>
  2.3412  
  2.3413  	</ul>
  2.3414  
  2.3415 -<p>	<var>An+B</var> changes from Selectors Level 3 <a data-biblio-type=informative data-link-type=biblio href=#select title=select>[SELECT]</a>:
  2.3416 -
  2.3417 -<p>	<ul>
  2.3418 +	<var>An+B</var> changes from Selectors Level 3 <a data-biblio-type=informative data-link-type=biblio href=#select title=select>[SELECT]</a>:
  2.3419 +
  2.3420 +	<ul>
  2.3421  		<li>
  2.3422 -<p>			The <var>An+B</var> microsyntax has now been formally defined in terms of CSS tokens,
  2.3423 +			The <var>An+B</var> microsyntax has now been formally defined in terms of CSS tokens,
  2.3424  			rather than with a separate tokenizer.
  2.3425  			This has resulted in minor differences:
  2.3426  
  2.3427 -<p>			<ul>
  2.3428 +			<ul>
  2.3429  				<li>
  2.3430 -<p>					In some cases, minus signs or digits can be escaped
  2.3431 +					In some cases, minus signs or digits can be escaped
  2.3432  					(when they appear as part of the unit of a <a class="production css-code" data-link-type=type href=#typedef-dimension-token title="<dimension-token>">&lt;dimension-token&gt;</a> or <a class="production css-code" data-link-type=type href=#typedef-ident-token title="<ident-token>">&lt;ident-token&gt;</a>).
  2.3433  			</ul>
  2.3434  	</ul>
  2.3435 @@ -4933,29 +4964,30 @@
  2.3436  		Johannes Koch,
  2.3437  		呂康豪 (Kang-Hao Lu),
  2.3438  		Marc O’Morain,
  2.3439 +		Raffaello Giulietti,
  2.3440  		Simon Pieter,
  2.3441  		and Zack Weinberg.
  2.3442  
  2.3443  <h2 class="no-num heading settled heading" id=changes><span class=content>
  2.3444  Changes Since the 20 Feb 2014 CR Publication</span><a class=self-link href=#changes></a></h2>
  2.3445  
  2.3446 -<p>	The following substantive changes were made:
  2.3447 -
  2.3448 -<p>	<ul>
  2.3449 +	The following substantive changes were made:
  2.3450 +
  2.3451 +	<ul>
  2.3452  		<li>
  2.3453 -<p>			Fixed a bug in the "Consume a URL token" algorithm,
  2.3454 +			Fixed a bug in the "Consume a URL token" algorithm,
  2.3455  			where it didn’t consume the quote character starting a string before attempting to consume the string.
  2.3456  
  2.3457  		<li>
  2.3458 -<p>			Fixed a bug in several of the parser algorithms
  2.3459 +			Fixed a bug in several of the parser algorithms
  2.3460  			related to the current/next input token and things getting consumed early/late.
  2.3461  	</ul>
  2.3462  
  2.3463 -<p>	The following editorial changes were made:
  2.3464 -
  2.3465 -<p>	<ul>
  2.3466 +	The following editorial changes were made:
  2.3467 +
  2.3468 +	<ul>
  2.3469  		<li>
  2.3470 -<p>			The "Consume a string token" algorithm was changed to allow calling it without specifying an explicit ending token,
  2.3471 +			The "Consume a string token" algorithm was changed to allow calling it without specifying an explicit ending token,
  2.3472  			so that it uses the current input token instead.
  2.3473  			The three call-sites of the algorithm were changed to use that form.
  2.3474  	</ul>

mercurial