[selectors] make the :focus pseudo class propagate the same was as the :active pseudo class does, except for matching on the parent element.

Wed, 26 Nov 2014 22:38:46 +0100

author
Florian Rivoal <florian@rivoal.net>
date
Wed, 26 Nov 2014 22:38:46 +0100
changeset 14820
2539f118cb22
parent 14819
775c1bad71a3
child 14821
db327947a378
child 14822
e9c7f60ea4e2

[selectors] make the :focus pseudo class propagate the same was as the :active pseudo class does, except for matching on the parent element.

selectors/Overview.bs file | annotate | diff | comparison | revisions
selectors/Overview.html file | annotate | diff | comparison | revisions
     1.1 --- a/selectors/Overview.bs	Wed Nov 26 11:42:08 2014 -0800
     1.2 +++ b/selectors/Overview.bs	Wed Nov 26 22:38:46 2014 +0100
     1.3 @@ -2202,6 +2202,10 @@
     1.4  	which elements can acquire '':focus''.
     1.5  	For example, [[HTML5]] defines a <a href="http://www.whatwg.org/html/selectors.html#selector-active">list of activatable elements</a>.
     1.6  
     1.7 +	If the host language has defined additional ways by which an element can match '':active'',
     1.8 +	the same ways must apply to elements matching '':focus'' as well,
     1.9 +	except that the parent of an element that matches '':focus'' must not match '':focus''.
    1.10 +
    1.11  <h3 id="drag-pseudos">
    1.12  The drag-and-drop pseudo-class '':drop'' and '':drop()''</h3>
    1.13  
     2.1 --- a/selectors/Overview.html	Wed Nov 26 11:42:08 2014 -0800
     2.2 +++ b/selectors/Overview.html	Wed Nov 26 22:38:46 2014 +0100
     2.3 @@ -914,7 +914,7 @@
     2.4  		has a flag indicating that it matches the <a class=css data-link-type=maybe href=#first-child-pseudo>:first-child</a> pseudo-element.
     2.5  
     2.6  <p>For another example,
     2.7 -		all elements have <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-before>::before</a> pseudo-elements,
     2.8 +		all elements have <span class=css>::before</span> pseudo-elements,
     2.9  		but not only elements with <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#shadow-tree>shadow trees</a> have <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-scoping-1/#selectordef-shadow>::shadow</a> pseudo-elements.</p>
    2.10  	</div>
    2.11  
    2.12 @@ -943,8 +943,8 @@
    2.13  	Individual <a data-link-type=dfn href=#featureless>featureless</a> elements may define additional restrictions on what kinds of selectors can match them.</p>
    2.14  
    2.15  	<div class=example>
    2.16 -		For example, the <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#host-element>host element</a> in a <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#shadow-tree>shadow tree</a> is <a data-link-type=dfn href=#featureless>featureless</a>,
    2.17 -		and can’t be matched by <em>any</em> <a data-link-type=dfn href=#pseudo-class>pseudo-class</a> except for <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-scoping-1/#selectordef-host>:host</a> and <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-scoping-1/#selectordef-host-context>:host-context()</a>.)
    2.18 +		For example, the <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#host-element0>host element</a> in a <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#shadow-tree>shadow tree</a> is <a data-link-type=dfn href=#featureless>featureless</a>,
    2.19 +		and can’t be matched by <em>any</em> <a data-link-type=dfn href=#pseudo-class>pseudo-class</a> except for <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-scoping-1/#selectordef-host0>:host</a> and <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-scoping-1/#selectordef-host-context>:host-context()</a>.)
    2.20  	</div>
    2.21  
    2.22  	<details class=why>
    2.23 @@ -961,7 +961,7 @@
    2.24  		but default namespaces still exist,
    2.25  		and have to apply to all compound selectors.
    2.26  		The behavior of <a data-link-type=dfn href=#featureless>featureless</a> elements,
    2.27 -		like the <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#host-element>host element</a> in a shadow tree,
    2.28 +		like the <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#host-element0>host element</a> in a shadow tree,
    2.29  		thus needs to accommodate that and work appropriately.
    2.30  		In this case, "appropriately" means "ignoring the default namespace".</p>
    2.31  	</details>
    2.32 @@ -1219,11 +1219,11 @@
    2.33  		For instance, document languages do not offer mechanisms to access
    2.34  		the first letter or first line of an element’s content,
    2.35  		but there exist <a data-link-type=dfn href=#pseudo-element>pseudo-elements</a>
    2.36 -		(<span class=css>::first-letter</span> and <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-first-line>::first-line</a>)
    2.37 +		(<span class=css>::first-letter</span> and <span class=css>::first-line</span>)
    2.38  		that allow those things to be styled.
    2.39  
    2.40  <p><a data-link-type=dfn href=#pseudo-element>Pseudo-elements</a> can also represent content that doesn’t exist in the source document at all,
    2.41 -		such as the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-before>::before</a> and <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-after>::after</a> pseudo-elements
    2.42 +		such as the <span class=css>::before</span> and <span class=css>::after</span> pseudo-elements
    2.43  		which allow additional content to be inserted before or after the contents of any element.</p>
    2.44  	</div>
    2.45  
    2.46 @@ -1234,7 +1234,7 @@
    2.47  	No <a data-link-type=dfn href=#whitespace>white space</a> is allowed between the two colons, or between the colons and the name.</p>
    2.48  
    2.49  <p>Due to legacy constraints,
    2.50 -	user agents must allow <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-before>::before</a>, <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-after>::after</a>, <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-first-line>::first-line</a>, and <span class=css>::first-letter</span> pseudo-elements
    2.51 +	user agents must allow <span class=css>::before</span>, <span class=css>::after</span>, <span class=css>::first-line</span>, and <span class=css>::first-letter</span> pseudo-elements
    2.52  	to be written with a single colon rather than two,
    2.53  	similar to <a data-link-type=dfn href=#pseudo-class>pseudo-class</a> syntax.
    2.54  	Authors must always use the double-colon syntax for these <a data-link-type=dfn href=#pseudo-element>pseudo-elements</a>.</p>
    2.55 @@ -1251,10 +1251,10 @@
    2.56  	<div class=example>
    2.57  		For example, in the selector <span class=css>div a::before</span>,
    2.58  		the <span class=css>a</span> elements matched by the selector are the <a data-link-type=dfn href=#originating-element>originating elements</a>
    2.59 -		for the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-before>::before</a> pseudo-elements attached to them.
    2.60 -
    2.61 -<p>The selector <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-first-line>::first-line</a> is equivalent to <span class=css>*::first-line</span>,
    2.62 -		which selects the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-first-line>::first-line</a> pseudo-element on <em>every</em> element in the document.</p>
    2.63 +		for the <span class=css>::before</span> pseudo-elements attached to them.
    2.64 +
    2.65 +<p>The selector <span class=css>::first-line</span> is equivalent to <span class=css>*::first-line</span>,
    2.66 +		which selects the <span class=css>::first-line</span> pseudo-element on <em>every</em> element in the document.</p>
    2.67  	</div>
    2.68  
    2.69  <p><a data-link-type=dfn href=#pseudo-element>Pseudo-elements</a> are <a data-link-type=dfn href=#featureless>featureless</a>,
    2.70 @@ -1274,8 +1274,8 @@
    2.71  		For example, the <a class=css data-link-type=maybe href=#hover-pseudo>:hover</a> pseudo-class specifies that it
    2.72  		can apply to any pseudo-element, i.e. <span class=css>::first-line:hover</span>
    2.73  		will match when the first line is hovered.
    2.74 -		However, since neither <a class=css data-link-type=maybe href=#focus-pseudo>:focus</a> nor <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-first-line>::first-line</a>
    2.75 -		define that <a class=css data-link-type=maybe href=#focus-pseudo>:focus</a> can apply to <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-first-line>::first-line</a>,
    2.76 +		However, since neither <a class=css data-link-type=maybe href=#focus-pseudo>:focus</a> nor <span class=css>::first-line</span>
    2.77 +		define that <a class=css data-link-type=maybe href=#focus-pseudo>:focus</a> can apply to <span class=css>::first-line</span>,
    2.78  		the selector <span class=css>::first-line:focus</span> will never match anything.
    2.79  	</div>
    2.80  
    2.81 @@ -1307,7 +1307,7 @@
    2.82  	</div>
    2.83  
    2.84  <p>The host language defines which pseudo-elements exist and their meaning.
    2.85 -	<a data-biblio-type=informative data-link-type=biblio href=#biblio-css21 title=CSS21>[CSS21]</a> defines the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-before>::before</a>, <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-after>::after</a>, <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-first-line>::first-line</a> and <span class=css>::first-letter</span> pseudo-elements
    2.86 +	<a data-biblio-type=informative data-link-type=biblio href=#biblio-css21 title=CSS21>[CSS21]</a> defines the <span class=css>::before</span>, <span class=css>::after</span>, <span class=css>::first-line</span> and <span class=css>::first-letter</span> pseudo-elements
    2.87  	which exist in all document languages.</p>
    2.88  
    2.89  <h4 class="heading settled" data-level=3.7.1 id=pseudo-element-types><span class=secno>3.7.1. </span><span class=content>
    2.90 @@ -1326,7 +1326,7 @@
    2.91  	it’s otherwise treated exactly like an element inserted in its place.</p>
    2.92  
    2.93  	<div class=example>
    2.94 -		For example, the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-before>::before</a> <a data-link-type=dfn href=#pseudo-element>pseudo-element</a> is a <a data-link-type=dfn href=#content-pseudo-element>content pseudo-element</a>,
    2.95 +		For example, the <span class=css>::before</span> <a data-link-type=dfn href=#pseudo-element>pseudo-element</a> is a <a data-link-type=dfn href=#content-pseudo-element>content pseudo-element</a>,
    2.96  		as it can be styled like any other element
    2.97  		(as long as its <a class=property data-link-type=propdesc href=http://dev.w3.org/csswg/css-content-3/#content>content</a> property is set to a non-<span class=css data-link-for=content>none</span> value).
    2.98  
    2.99 @@ -1348,7 +1348,7 @@
   2.100  	<span class=issue id=issue-2422b936><a class=self-link href=#issue-2422b936></a>Explain this better.</span></p>
   2.101  
   2.102  	<div class=example>
   2.103 -		The <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-pseudo-4/#selectordef-first-line>::first-line</a> and <span class=css>::first-letter</span> <a data-link-type=dfn href=#pseudo-element>pseudo-elements</a>
   2.104 +		The <span class=css>::first-line</span> and <span class=css>::first-letter</span> <a data-link-type=dfn href=#pseudo-element>pseudo-elements</a>
   2.105  		are both <a data-link-type=dfn href=#text-pseudo-element>text pseudo-elements</a>.
   2.106  	</div>
   2.107  
   2.108 @@ -1512,7 +1512,7 @@
   2.109  	they are not valid within <a class=css data-link-type=maybe href=#negation-pseudo>:not()</a>.</p>
   2.110  
   2.111  	<div class=example>
   2.112 -		For example, the following selector matches all <a data-link-type=element>button</a> elements in an HTML document
   2.113 +		For example, the following selector matches all <a data-link-type=element href=https://html.spec.whatwg.org/#the-button-element>button</a> elements in an HTML document
   2.114  		that are not disabled.
   2.115  
   2.116  <pre>button:not([DISABLED]) </pre>
   2.117 @@ -1752,7 +1752,7 @@
   2.118  			its value either being exactly "val"
   2.119  			or beginning with "val" immediately followed by "-" (U+002D).
   2.120  			This is primarily intended to allow language subcode matches
   2.121 -			(e.g., the <code>hreflang</code> attribute on the <a data-link-type=element>a</a> element in HTML)
   2.122 +			(e.g., the <code>hreflang</code> attribute on the <a data-link-type=element href=https://html.spec.whatwg.org/#the-a-element>a</a> element in HTML)
   2.123  			as described in BCP 47 (<a data-biblio-type=informative data-link-type=biblio href=#biblio-bcp47 title=BCP47>[BCP47]</a>) or its successor.
   2.124  			For <code>lang</code> (or <code>xml:lang</code>) language subcode matching,
   2.125  			please see the <span class=css>:lang</span> pseudo-class.
   2.126 @@ -1770,14 +1770,14 @@
   2.127  <pre>h1[title]</pre>
   2.128  
   2.129  <p>In the following example, the selector represents a
   2.130 -		<a data-link-type=element>span</a> element whose <code>class</code> attribute has
   2.131 +		<a data-link-type=element href=https://html.spec.whatwg.org/#the-span-element>span</a> element whose <code>class</code> attribute has
   2.132  		exactly the value "example":</p>
   2.133  
   2.134  <pre>span[class="example"]</pre>
   2.135  
   2.136  <p>Multiple attribute selectors can be used to represent several
   2.137  		attributes of an element, or several conditions on the same
   2.138 -		attribute. Here, the selector represents a <a data-link-type=element>span</a> element
   2.139 +		attribute. Here, the selector represents a <a data-link-type=element href=https://html.spec.whatwg.org/#the-span-element>span</a> element
   2.140  		whose <code>hello</code> attribute has exactly the value "Cleveland"
   2.141  		and whose <code>goodbye</code> attribute has exactly the value
   2.142  		"Columbus":</p>
   2.143 @@ -1786,21 +1786,21 @@
   2.144  
   2.145  <p>The following CSS rules illustrate the differences between
   2.146  		"=" and "~=".  The first selector would match, for example, an
   2.147 -		<a data-link-type=element>a</a> element with the value "copyright copyleft
   2.148 +		<a data-link-type=element href=https://html.spec.whatwg.org/#the-a-element>a</a> element with the value "copyright copyleft
   2.149  		copyeditor" on a <code>rel</code> attribute. The second selector
   2.150 -		would only match an <a data-link-type=element>a</a> element with an <code>href</code>
   2.151 +		would only match an <a data-link-type=element href=https://html.spec.whatwg.org/#the-a-element>a</a> element with an <code>href</code>
   2.152  		attribute having the exact value "http://www.w3.org/".</p>
   2.153  
   2.154  		<pre>a[rel~="copyright"] { ... }
   2.155  a[href="http://www.w3.org/"] { ... }
   2.156  </pre>
   2.157  
   2.158 -<p>The following selector represents an <a data-link-type=element>a</a> element
   2.159 +<p>The following selector represents an <a data-link-type=element href=https://html.spec.whatwg.org/#the-a-element>a</a> element
   2.160  		whose <code>hreflang</code> attribute is exactly "fr".</p>
   2.161  
   2.162  <pre>a[hreflang=fr] </pre>
   2.163  
   2.164 -<p>The following selector represents an <a data-link-type=element>a</a> element for
   2.165 +<p>The following selector represents an <a data-link-type=element href=https://html.spec.whatwg.org/#the-a-element>a</a> element for
   2.166  		which the value of the <code>hreflang</code> attribute begins with
   2.167  		"en", including "en", "en-US", and "en-scouse":</p>
   2.168  
   2.169 @@ -1849,12 +1849,12 @@
   2.170  
   2.171  	<div class=example>
   2.172  		Examples:
   2.173 -		The following selector represents an HTML <a data-link-type=element>object</a> element,
   2.174 +		The following selector represents an HTML <a data-link-type=element href=https://html.spec.whatwg.org/#the-object-element>object</a> element,
   2.175  		referencing an image:
   2.176  
   2.177  <pre>object[type^="image/"] </pre>
   2.178  
   2.179 -<p>The following selector represents an HTML <a data-link-type=element>a</a> element
   2.180 +<p>The following selector represents an HTML <a data-link-type=element href=https://html.spec.whatwg.org/#the-a-element>a</a> element
   2.181  		with an <code>href</code> attribute whose value ends with ".html".</p>
   2.182  
   2.183  <pre>a[href$=".html"] </pre>
   2.184 @@ -2021,7 +2021,7 @@
   2.185  &lt;H1 class="pastoral"&gt;Very green&lt;/H1&gt;
   2.186  </pre>
   2.187  
   2.188 -<p>The following rule matches any <a data-link-type=element>P</a> element whose <code>class</code>
   2.189 +<p>The following rule matches any <a data-link-type=element href=https://html.spec.whatwg.org/#the-p-element>P</a> element whose <code>class</code>
   2.190  		attribute has been assigned a list of <a href=#whitespace>whitespace</a>-separated values that includes both
   2.191  		<code>pastoral</code> and <code>marine</code>:</p>
   2.192  
   2.193 @@ -2035,7 +2035,7 @@
   2.194  <p class=note role=note>Note: Because CSS gives considerable
   2.195  	power to the "class" attribute, authors could conceivably design their
   2.196  	own "document language" based on elements with almost no associated
   2.197 -	presentation (such as <a data-link-type=element>div</a> and <a data-link-type=element>span</a> in HTML)
   2.198 +	presentation (such as <a data-link-type=element href=https://html.spec.whatwg.org/#the-div-element>div</a> and <a data-link-type=element href=https://html.spec.whatwg.org/#the-span-element>span</a> in HTML)
   2.199  	and assigning style
   2.200  	information through the "class" attribute.  Authors should avoid this
   2.201  	practice since the structural elements of a document language often
   2.202 @@ -2180,7 +2180,7 @@
   2.203  		Examples:
   2.204  		The two following selectors represent an HTML document that is in
   2.205  		Belgian French or German. The two next selectors represent
   2.206 -		<a data-link-type=element>q</a> quotations in an arbitrary element in Belgian French
   2.207 +		<a data-link-type=element href=https://html.spec.whatwg.org/#the-q-element>q</a> quotations in an arbitrary element in Belgian French
   2.208  		or German.
   2.209  
   2.210  		<pre>html:lang(fr-be)
   2.211 @@ -2238,7 +2238,7 @@
   2.212  
   2.213  <p>The <dfn class=css data-dfn-type=selector data-export="" id=any-link-pseudo>:any-link<a class=self-link href=#any-link-pseudo></a></dfn> pseudo-class represents an element
   2.214  	that acts as the source anchor of a hyperlink.
   2.215 -	For example, in <a data-biblio-type=informative data-link-type=biblio href=#biblio-html5 title=HTML5>[HTML5]</a>, any <a data-link-type=element>a</a>, <a data-link-type=element>area</a>, or <a data-link-type=element>link</a> elements with an <code>href</code> attribute
   2.216 +	For example, in <a data-biblio-type=informative data-link-type=biblio href=#biblio-html5 title=HTML5>[HTML5]</a>, any <a data-link-type=element href=https://html.spec.whatwg.org/#the-a-element>a</a>, <a data-link-type=element href=https://html.spec.whatwg.org/#the-area-element>area</a>, or <a data-link-type=element href=https://html.spec.whatwg.org/#the-link-element>link</a> elements with an <code>href</code> attribute
   2.217  	are hyperlinks, and thus <a href=http://www.whatwg.org/html/selectors.html#selector-link>match <code>:any-link</code></a>.
   2.218  	It matches an element if the element would match <a class=css data-link-type=maybe href=#link-pseudo>:link</a> or <a class=css data-link-type=maybe href=#visited-pseudo>:visited</a>,
   2.219  	equivalent to <span class=css>:matches(:link, :visited)</span>.</p>
   2.220 @@ -2304,7 +2304,7 @@
   2.221  
   2.222  <pre>p.note:target </pre>
   2.223  
   2.224 -<p>This selector represents a <a data-link-type=element>p</a> element of class
   2.225 +<p>This selector represents a <a data-link-type=element href=https://html.spec.whatwg.org/#the-p-element>p</a> element of class
   2.226  		<code>note</code> that is the target element of the referring
   2.227  		URL.</p>
   2.228  	</div>
   2.229 @@ -2364,7 +2364,7 @@
   2.230  a:focus:hover
   2.231  </pre>
   2.232  
   2.233 -<p>The last selector matches <a data-link-type=element>a</a> elements that are in
   2.234 +<p>The last selector matches <a data-link-type=element href=https://html.spec.whatwg.org/#the-a-element>a</a> elements that are in
   2.235  		the pseudo-class :focus and in the pseudo-class :hover.</p>
   2.236  	</div>
   2.237  
   2.238 @@ -2388,11 +2388,11 @@
   2.239  <p>The parent of an element that matches <a class=css data-link-type=maybe href=#hover-pseudo>:hover</a> also matches <a class=css data-link-type=maybe href=#hover-pseudo>:hover</a>.</p>
   2.240  
   2.241  <p class=note role=note>Note: When an element that is <a class=css data-link-type=maybe href=#hover-pseudo>:hover</a> is in a <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#shadow-tree>shadow tree</a>,
   2.242 -	the <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#host-element>host element</a> (and its parents) are also in the <a class=css data-link-type=maybe href=#hover-pseudo>:hover</a> state. (See <a data-biblio-type=informative data-link-type=biblio href=#biblio-css-scoping-1 title=css-scoping-1>[css-scoping-1]</a>)</p>
   2.243 +	the <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#host-element0>host element</a> (and its parents) are also in the <a class=css data-link-type=maybe href=#hover-pseudo>:hover</a> state. (See <a data-biblio-type=informative data-link-type=biblio href=#biblio-css-scoping-1 title=css-scoping-1>[css-scoping-1]</a>)</p>
   2.244  
   2.245  <p>Host languages may define additional ways in which an element can match <a class=css data-link-type=maybe href=#hover-pseudo>:hover</a>.
   2.246  	For example, <a data-biblio-type=informative data-link-type=biblio href=#biblio-html5 title=HTML5>[HTML5]</a> defines a labeled control element as <a href=http://www.whatwg.org/html/selectors.html#selector-hover>matching <code>:hover</code></a>
   2.247 -	when its <a data-link-type=element>label</a> is hovered.</p>
   2.248 +	when its <a data-link-type=element href=https://html.spec.whatwg.org/#the-label-element>label</a> is hovered.</p>
   2.249  
   2.250  <p class=note role=note>Note: Since the ':hover' state can apply to
   2.251  	an element because its child is designated by a pointing device, then it is
   2.252 @@ -2418,7 +2418,7 @@
   2.253  <p>The parent of an element that matches <a class=css data-link-type=maybe href=#active-pseudo>:active</a> also matches <a class=css data-link-type=maybe href=#active-pseudo>:active</a>.</p>
   2.254  
   2.255  <p class=note role=note>Note: When an element that is <a class=css data-link-type=maybe href=#active-pseudo>:active</a> is in a <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#shadow-tree>shadow tree</a>,
   2.256 -	the <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#host-element>host element</a> (and its parents) are also in the <a class=css data-link-type=maybe href=#active-pseudo>:active</a> state. (See <a data-biblio-type=informative data-link-type=biblio href=#biblio-css-scoping-1 title=css-scoping-1>[css-scoping-1]</a>)</p>
   2.257 +	the <a data-link-type=dfn href=http://dev.w3.org/csswg/css-scoping-1/#host-element0>host element</a> (and its parents) are also in the <a class=css data-link-type=maybe href=#active-pseudo>:active</a> state. (See <a data-biblio-type=informative data-link-type=biblio href=#biblio-css-scoping-1 title=css-scoping-1>[css-scoping-1]</a>)</p>
   2.258  
   2.259  <p>Host languages may define additional ways in which an element can match <a class=css data-link-type=maybe href=#active-pseudo>:active</a>.</p>
   2.260  
   2.261 @@ -2436,6 +2436,10 @@
   2.262  	which elements can acquire <a class=css data-link-type=maybe href=#focus-pseudo>:focus</a>.
   2.263  	For example, <a data-biblio-type=informative data-link-type=biblio href=#biblio-html5 title=HTML5>[HTML5]</a> defines a <a href=http://www.whatwg.org/html/selectors.html#selector-active>list of activatable elements</a>.</p>
   2.264  
   2.265 +<p>If the host language has defined additional ways by which an element can match <a class=css data-link-type=maybe href=#active-pseudo>:active</a>,
   2.266 +	the same ways must apply to elements matching <a class=css data-link-type=maybe href=#focus-pseudo>:focus</a> as well,
   2.267 +	except that the parent of an element that matches <a class=css data-link-type=maybe href=#focus-pseudo>:focus</a> must not match <a class=css data-link-type=maybe href=#focus-pseudo>:focus</a>.</p>
   2.268 +
   2.269  <h3 class="heading settled" data-level=9.4 id=drag-pseudos><span class=secno>9.4. </span><span class=content>
   2.270  The drag-and-drop pseudo-class <a class=css data-link-type=maybe href=#selectordef-drop>:drop</a> and <a class=css data-link-type=maybe href=#selectordef-drop-function>:drop()</a></span><a class=self-link href=#drag-pseudos></a></h3>
   2.271  
   2.272 @@ -2548,7 +2552,7 @@
   2.273  The Input Pseudo-classes</span><a class=self-link href=#input-pseudos></a></h2>
   2.274  
   2.275  <p>The pseudo-classes in this section mostly apply to elements that take user input,
   2.276 -	such as HTML’s <a data-link-type=element>input</a> element.</p>
   2.277 +	such as HTML’s <a data-link-type=element href=https://html.spec.whatwg.org/#the-input-element>input</a> element.</p>
   2.278  
   2.279  <h3 class="heading settled" data-level=11.1 id=input-states><span class=secno>11.1. </span><span class=content>
   2.280  Input Control States</span><a class=self-link href=#input-states></a></h3>
   2.281 @@ -2667,7 +2671,7 @@
   2.282  	and one which has no data validity semantics at all,
   2.283  	and thus is neither <a class=css data-link-type=maybe href=#valid-pseudo>:valid</a> nor <a class=css data-link-type=maybe href=#invalid-pseudo>:invalid</a>.
   2.284  	In HTML, for example, an <code>&lt;input type="text"&gt;</code> element may have no constraints,
   2.285 -	but a <a data-link-type=element>p</a> element has no validity semantics at all,
   2.286 +	but a <a data-link-type=element href=https://html.spec.whatwg.org/#the-p-element>p</a> element has no validity semantics at all,
   2.287  	and so it never matches either of these pseudo-classes.</p>
   2.288  
   2.289  <h4 class="heading settled" data-level=11.3.2 id=range-pseudos><span class=secno>11.3.2. </span><span class=content>
   2.290 @@ -2758,7 +2762,7 @@
   2.291  
   2.292  <p>For example, in a DOM document,
   2.293  	the <a class=css data-link-type=maybe href=#root-pseudo>:root</a> pseudo-class matches the root element of the <a class=idl-code data-link-type=interface href=http://dom.spec.whatwg.org/#document>Document</a> object.
   2.294 -	In HTML, this would be the <a data-link-type=element>html</a> element
   2.295 +	In HTML, this would be the <a data-link-type=element href=https://html.spec.whatwg.org/#the-html-element>html</a> element
   2.296  	(unless scripting has been used to modify the document).</p>
   2.297  
   2.298  <h3 class="heading settled" data-level=12.2 id=the-empty-pseudo><span class=secno>12.2. </span><span class=content>
   2.299 @@ -2920,8 +2924,8 @@
   2.300  
   2.301  	<div class=example>
   2.302  		Examples:
   2.303 -		The following selector represents a <a data-link-type=element>p</a> element that is
   2.304 -		the first child of a <a data-link-type=element>div</a> element:
   2.305 +		The following selector represents a <a data-link-type=element href=https://html.spec.whatwg.org/#the-p-element>p</a> element that is
   2.306 +		the first child of a <a data-link-type=element href=https://html.spec.whatwg.org/#the-div-element>div</a> element:
   2.307  
   2.308  <pre>div &gt; p:first-child</pre>
   2.309  
   2.310 @@ -3104,7 +3108,7 @@
   2.311  
   2.312  <p>At times, authors may want selectors to describe an element that is
   2.313  	the descendant of another element in the document tree (e.g., "an
   2.314 -	<a data-link-type=element>em</a> element that is contained within an <a data-link-type=element>H1</a> element").
   2.315 +	<a data-link-type=element href=https://html.spec.whatwg.org/#the-em-element>em</a> element that is contained within an <a data-link-type=element>H1</a> element").
   2.316  	Descendant combinators express such a relationship. A
   2.317  	<dfn data-dfn-type=dfn data-export="" id=descendant-combinator>descendant combinator<a class=self-link href=#descendant-combinator></a></dfn> is <a href=#whitespace>whitespace</a> that
   2.318  	separates two <a data-link-type=dfn href=#compound>compound selectors</a>.  A selector of the form
   2.319 @@ -3117,7 +3121,7 @@
   2.320  
   2.321  <pre>h1 em</pre>
   2.322  
   2.323 -<p>It represents an <a data-link-type=element>em</a> element being the descendant of
   2.324 +<p>It represents an <a data-link-type=element href=https://html.spec.whatwg.org/#the-em-element>em</a> element being the descendant of
   2.325  		an <a data-link-type=element>h1</a> element. It is a correct and valid, but partial,
   2.326  		description of the following fragment:</p>
   2.327  
   2.328 @@ -3129,8 +3133,8 @@
   2.329  
   2.330  <pre>div * p</pre>
   2.331  
   2.332 -<p>represents a <a data-link-type=element>p</a> element that is a grandchild or later
   2.333 -		descendant of a <a data-link-type=element>div</a> element. Note the whitespace on
   2.334 +<p>represents a <a data-link-type=element href=https://html.spec.whatwg.org/#the-p-element>p</a> element that is a grandchild or later
   2.335 +		descendant of a <a data-link-type=element href=https://html.spec.whatwg.org/#the-div-element>div</a> element. Note the whitespace on
   2.336  		either side of the "*" is not part of the universal selector; the
   2.337  		whitespace is a combinator indicating that the <code>div</code> must be the
   2.338  		ancestor of some element, and that that element must be an ancestor
   2.339 @@ -3153,7 +3157,7 @@
   2.340  
   2.341  	<div class=example>
   2.342  		Examples:
   2.343 -		The following selector represents a <a data-link-type=element>p</a> element that is
   2.344 +		The following selector represents a <a data-link-type=element href=https://html.spec.whatwg.org/#the-p-element>p</a> element that is
   2.345  		child of <code>body</code>:
   2.346  
   2.347  <pre>body &gt; p</pre>
   2.348 @@ -3164,9 +3168,9 @@
   2.349  <pre>div ol&gt;li p</pre>
   2.350  		
   2.351  
   2.352 -<p>It represents a <a data-link-type=element>p</a> element that is a descendant of an
   2.353 -		<a data-link-type=element>li</a> element; the <a data-link-type=element>li</a> element must be the
   2.354 -		child of an <a data-link-type=element>ol</a> element; the <a data-link-type=element>ol</a> element must
   2.355 +<p>It represents a <a data-link-type=element href=https://html.spec.whatwg.org/#the-p-element>p</a> element that is a descendant of an
   2.356 +		<a data-link-type=element href=https://html.spec.whatwg.org/#the-li-element>li</a> element; the <a data-link-type=element href=https://html.spec.whatwg.org/#the-li-element>li</a> element must be the
   2.357 +		child of an <a data-link-type=element href=https://html.spec.whatwg.org/#the-ol-element>ol</a> element; the <a data-link-type=element href=https://html.spec.whatwg.org/#the-ol-element>ol</a> element must
   2.358  		be a descendant of a <code>div</code>. Notice that the optional white
   2.359  		space around the "&gt;" combinator has been left out.</p>
   2.360  	</div>
   2.361 @@ -3189,7 +3193,7 @@
   2.362  
   2.363  	<div class=example>
   2.364  		Examples:
   2.365 -		The following selector represents a <a data-link-type=element>p</a> element
   2.366 +		The following selector represents a <a data-link-type=element href=https://html.spec.whatwg.org/#the-p-element>p</a> element
   2.367  		immediately following a <a data-link-type=element>math</a> element:
   2.368  
   2.369  <pre>math + p</pre>
   2.370 @@ -3216,7 +3220,7 @@
   2.371  	<div class=example>
   2.372  <pre>h1 ~ pre</pre>
   2.373  
   2.374 -<p>represents a <a data-link-type=element>pre</a> element following an <code>h1</code>. It
   2.375 +<p>represents a <a data-link-type=element href=https://html.spec.whatwg.org/#the-pre-element>pre</a> element following an <code>h1</code>. It
   2.376  		is a correct and valid, but partial, description of:</p>
   2.377  
   2.378  		<pre>&lt;h1&gt;Definition of the function a&lt;/h1&gt;
   2.379 @@ -3795,7 +3799,7 @@
   2.380  
   2.381  
   2.382  
   2.383 -<h2 class="no-num heading settled" id=references><span class=content>References</span><a class=self-link href=#references></a></h2><h3 class="no-num heading settled" id=normative><span class=content>Normative References</span><a class=self-link href=#normative></a></h3><dl><dt id=biblio-css21 title=CSS21><a class=self-link href=#biblio-css21></a>[CSS21]<dd>Bert Bos; et al. <a href=http://www.w3.org/TR/2011/REC-CSS2-20110607>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</a>. 7 June 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-CSS2-20110607>http://www.w3.org/TR/2011/REC-CSS2-20110607</a><dt id=biblio-css3namespace title=CSS3NAMESPACE><a class=self-link href=#biblio-css3namespace></a>[CSS3NAMESPACE]<dd>Elika J. Etemad; Anne van Kesteren. <a href=http://www.w3.org/TR/2011/REC-css3-namespace-20110929/>CSS Namespaces Module</a>. 29 September 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-css3-namespace-20110929/>http://www.w3.org/TR/2011/REC-css3-namespace-20110929/</a><dt id=biblio-css3syn title=CSS3SYN><a class=self-link href=#biblio-css3syn></a>[CSS3SYN]<dd>Tab Atkins Jr.; Simon Sapin. <a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/>CSS Syntax Module</a>. 5 November 2013. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/>http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/</a><dt id=biblio-css3text title=CSS3TEXT><a class=self-link href=#biblio-css3text></a>[CSS3TEXT]<dd>Elika J. Etemad; Koji Ishii. <a href=http://www.w3.org/TR/2012/WD-css3-text-20121113/>CSS Text Module Level 3</a>. 13 November 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-text-20121113/>http://www.w3.org/TR/2012/WD-css3-text-20121113/</a><dt id=biblio-select title=SELECT><a class=self-link href=#biblio-select></a>[SELECT]<dd>Tantek Çelik; et al. <a href=http://www.w3.org/TR/2011/REC-css3-selectors-20110929/>Selectors Level 3</a>. 29 September 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-css3-selectors-20110929/>http://www.w3.org/TR/2011/REC-css3-selectors-20110929/</a><dt id=biblio-yacc title=YACC><a class=self-link href=#biblio-yacc></a>[YACC]<dd>S. C. Johnson. YACC - Yet another compiler compiler. 1975. Technical Report. <dt id=biblio-dom title=dom><a class=self-link href=#biblio-dom></a>[dom]<dd>Anne van Kesteren; et al. <a href=http://www.w3.org/TR/dom/>W3C DOM4</a>. 10 July 2014. LCWD. URL: <a href=http://www.w3.org/TR/dom/>http://www.w3.org/TR/dom/</a><dt id=biblio-rfc2119 title=rfc2119><a class=self-link href=#biblio-rfc2119></a>[rfc2119]<dd>S. Bradner. <a href=https://tools.ietf.org/html/rfc2119>Key words for use in RFCs to Indicate Requirement Levels</a>. March 1997. Best Current Practice. URL: <a href=https://tools.ietf.org/html/rfc2119>https://tools.ietf.org/html/rfc2119</a></dl><h3 class="no-num heading settled" id=informative><span class=content>Informative References</span><a class=self-link href=#informative></a></h3><dl><dt id=biblio-bcp47 title=BCP47><a class=self-link href=#biblio-bcp47></a>[BCP47]<dd>A. Phillips; M. Davis. <a href=http://tools.ietf.org/html/bcp47>Tags for Identifying Languages</a>. September 2009. IETF Best Current Practice. URL: <a href=http://tools.ietf.org/html/bcp47>http://tools.ietf.org/html/bcp47</a><dt id=biblio-css3ui title=CSS3UI><a class=self-link href=#biblio-css3ui></a>[CSS3UI]<dd>Tantek Çelik. <a href=http://www.w3.org/TR/2012/WD-css3-ui-20120117/>CSS Basic User Interface Module Level 3 (CSS3 UI)</a>. 17 January 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-ui-20120117/>http://www.w3.org/TR/2012/WD-css3-ui-20120117/</a><dt id=biblio-cssstyleattr title=CSSSTYLEATTR><a class=self-link href=#biblio-cssstyleattr></a>[CSSSTYLEATTR]<dd>Tantek Çelik; Elika J. Etemad. <a href=http://www.w3.org/TR/2010/CR-css-style-attr-20101012/>CSS Style Attributes</a>. 12 October 2010. W3C Candidate Recommendation. (Work in progress.) URL: <a href=http://www.w3.org/TR/2010/CR-css-style-attr-20101012/>http://www.w3.org/TR/2010/CR-css-style-attr-20101012/</a><dt id=biblio-mathml title=MathML><a class=self-link href=#biblio-mathml></a>[MathML]<dd>Patrick D F Ion; Robert R Miner. <a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML) 1.01 Specification</a>. 7 July 1999. REC. URL: <a href=http://www.w3.org/TR/MathML/>http://www.w3.org/TR/MathML/</a><dt id=biblio-svg11 title=SVG11><a class=self-link href=#biblio-svg11></a>[SVG11]<dd>Erik Dahlström; et al. <a href=http://www.w3.org/TR/SVG11/>Scalable Vector Graphics (SVG) 1.1 (Second Edition)</a>. 16 August 2011. REC. URL: <a href=http://www.w3.org/TR/SVG11/>http://www.w3.org/TR/SVG11/</a><dt id=biblio-xml10 title=XML10><a class=self-link href=#biblio-xml10></a>[XML10]<dd>C. M. Sperberg-McQueen; et al. <a href=http://www.w3.org/TR/2008/REC-xml-20081126/>Extensible Markup Language (XML) 1.0 (Fifth Edition)</a>. 26 November 2008. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2008/REC-xml-20081126/>http://www.w3.org/TR/2008/REC-xml-20081126/</a><dt id=biblio-css-scoping-1 title=css-scoping-1><a class=self-link href=#biblio-css-scoping-1></a>[css-scoping-1]<dd>Tab Atkins Jr.; Elika Etemad. <a href=http://www.w3.org/TR/css-scoping-1/>CSS Scoping Module Level 1</a>. 3 April 2014. WD. URL: <a href=http://www.w3.org/TR/css-scoping-1/>http://www.w3.org/TR/css-scoping-1/</a><dt id=biblio-html401 title=html401><a class=self-link href=#biblio-html401></a>[html401]<dd>Dave Raggett; Arnaud Le Hors; Ian Jacobs. <a href=http://www.w3.org/TR/html401>HTML 4.01 Specification</a>. 24 December 1999. REC. URL: <a href=http://www.w3.org/TR/html401>http://www.w3.org/TR/html401</a><dt id=biblio-html5 title=html5><a class=self-link href=#biblio-html5></a>[html5]<dd>Ian Hickson; et al. <a href=http://www.w3.org/TR/html5/>HTML5</a>. 28 October 2014. REC. URL: <a href=http://www.w3.org/TR/html5/>http://www.w3.org/TR/html5/</a><dt id=biblio-rfc4647 title=rfc4647><a class=self-link href=#biblio-rfc4647></a>[rfc4647]<dd>A. Phillips; M. Davis. <a href=https://tools.ietf.org/html/rfc4647>Matching of Language Tags</a>. September 2006. Best Current Practice. URL: <a href=https://tools.ietf.org/html/rfc4647>https://tools.ietf.org/html/rfc4647</a><dt id=biblio-xforms11 title=xforms11><a class=self-link href=#biblio-xforms11></a>[xforms11]<dd>John Boyer. <a href=http://www.w3.org/TR/xforms11/>XForms 1.1</a>. 20 October 2009. REC. URL: <a href=http://www.w3.org/TR/xforms11/>http://www.w3.org/TR/xforms11/</a><dt id=biblio-xml-names title=xml-names><a class=self-link href=#biblio-xml-names></a>[xml-names]<dd>Tim Bray; et al. <a href=http://www.w3.org/TR/xml-names>Namespaces in XML 1.0 (Third Edition)</a>. 8 December 2009. REC. URL: <a href=http://www.w3.org/TR/xml-names>http://www.w3.org/TR/xml-names</a></dl><h2 class="no-num heading settled" id=index><span class=content>Index</span><a class=self-link href=#index></a></h2><ul class=indexlist><li>absolutize a relative selector, <a href=#absolutize title="section 3.5.1">3.5.1</a><li>absolutize a relative selector list, <a href=#absolutize-list title="section 3.5.1">3.5.1</a><li>active, <a href=#valdef-drop-active title="section 9.4">9.4</a><li>:active, <a href=#active-pseudo title="section 9.2">9.2</a><li>:any-link, <a href=#any-link-pseudo title="section 8.1">8.1</a><li>attribute selector, <a href=#attribute-selector title="section 6">6</a><li>:blank, <a href=#blank-pseudo title="section 12.3">12.3</a><li>:checked, <a href=#checked-pseudo title="section 11.2.1">11.2.1</a><li>child combinator, <a href=#child-combinator title="section 13.2">13.2</a><li>class selector, <a href=#class-selector title="section 6.6">6.6</a><li>column combinator, <a href=#column-combinator title="section 14.1">14.1</a><li>combinator, <a href=#combinator title="section 3.1">3.1</a><li>complete, <a href=#complete-profile title="section 2.1">2.1</a><li>complex selector, <a href=#complex title="section 3.1">3.1</a><li>compound selector, <a href=#compound title="section 3.1">3.1</a><li>&lt;compound-selector&gt;, <a href=#typedef-compound-selector title="section 16">16</a><li>content pseudo-element, <a href=#content-pseudo-element title="section 3.7.1">3.7.1</a><li>:current(), <a href=#selectordef-current title="section 10.1">10.1</a><li>:current, <a href=#current-pseudo title="section 10.1">10.1</a><li>declared, <a href=#nsdecl title="section 3.9">3.9</a><li>:default, <a href=#default-pseudo title="section 11.1.4">11.1.4</a><li>descendant combinator, <a href=#descendant-combinator title="section 13.1">13.1</a><li>:dir(), <a href=#dir-pseudo title="section 7.1">7.1</a><li>:disabled, <a href=#disabled-pseudo title="section 11.1.1">11.1.1</a><li>:drop(), <a href=#selectordef-drop-function title="section 9.4">9.4</a><li>:drop, <a href=#selectordef-drop title="section 9.4">9.4</a><li>:empty, <a href=#empty-pseudo title="section 12.2">12.2</a><li>:enabled, <a href=#enabled-pseudo title="section 11.1.1">11.1.1</a><li>evaluate a selector, <a href=#evaluate-a-selector title="section 3.2">3.2</a><li>fast, <a href=#fast-profile title="section 2.1">2.1</a><li>feature, <a href=#feature title="section 3.3">3.3</a><li>featureless, <a href=#featureless title="section 3.3">3.3</a><li>feature selector, <a href=#feature-selector title="section 3.3">3.3</a><li>:first-child, <a href=#first-child-pseudo title="section 12.4.3">12.4.3</a><li>:first-of-type, <a href=#first-of-type-pseudo title="section 12.5.3">12.5.3</a><li>:focus, <a href=#focus-pseudo title="section 9.3">9.3</a><li>following-sibling combinator, <a href=#following-sibling-combinator title="section 13.4">13.4</a><li>functional pseudo-class, <a href=#functional-pseudo-class title="section 3.6">3.6</a><li>:future, <a href=#future-pseudo title="section 10.3">10.3</a><li>:has(), <a href=#has-pseudo title="section 4.4">4.4</a><li>:hover, <a href=#hover-pseudo title="section 9.1">9.1</a><li>ID selector, <a href=#id-selector title="section 6.7">6.7</a><li>&lt;id-selector&gt;, <a href=#typedef-id-selector title="section 16">16</a><li>:indeterminate, <a href=#indetermine-pseudo title="section 11.2.2">11.2.2</a><li>:in-range, <a href=#in-range-pseudo title="section 11.3.2">11.3.2</a><li>:invalid, <a href=#invalid-pseudo title="section 11.3.1">11.3.1</a><li>invalid<ul><li>definition of, <a href=#invalid-selector title="section 3.10">3.10</a><li>value for :drop(), <a href=#valdef-drop-invalid title="section 9.4">9.4</a></ul><li>invalid selector, <a href=#invalid-selector title="section 3.10">3.10</a><li>:lang(), <a href=#lang-pseudo title="section 7.2">7.2</a><li>language, <a href=#language title="section 7.2">7.2</a><li>language range, <a href=#language-range title="section 7.2">7.2</a><li>:last-child, <a href=#last-child-pseudo title="section 12.4.4">12.4.4</a><li>:last-of-type, <a href=#last-of-type-pseudo title="section 12.5.4">12.5.4</a><li>:link, <a href=#link-pseudo title="section 8.2">8.2</a><li>match a selector against an element, <a href=#match-a-selector-against-an-element title="section 17.4">17.4</a><li>match a selector against a tree, <a href=#match-a-selector-against-a-tree title="section 17.3">17.3</a><li>:matches(), <a href=#matches-pseudo title="section 4.2">4.2</a><li>next-sibling combinator, <a href=#next-sibling-combinator title="section 13.3">13.3</a><li>:not(), <a href=#negation-pseudo title="section 4.3">4.3</a><li>:nth-child(), <a href=#nth-child-pseudo title="section 12.4.1">12.4.1</a><li>:nth-column(), <a href=#nth-column-pseudo title="section 14.2">14.2</a><li>:nth-last-child(), <a href=#nth-last-child-pseudo title="section 12.4.2">12.4.2</a><li>:nth-last-column(), <a href=#nth-last-column-pseudo title="section 14.3">14.3</a><li>:nth-last-of-type(), <a href=#nth-last-of-type title="section 12.5.2">12.5.2</a><li>:nth-of-type(), <a href=#nth-of-type-pseudo title="section 12.5.1">12.5.1</a><li>:only-child, <a href=#only-child-pseudo title="section 12.4.5">12.4.5</a><li>:only-of-type, <a href=#only-of-type-pseudo title="section 12.5.5">12.5.5</a><li>:optional, <a href=#optional-pseudo title="section 11.3.3">11.3.3</a><li>originating element, <a href=#originating-element title="section 3.7">3.7</a><li>:out-of-range, <a href=#out-of-range-pseudo title="section 11.3.2">11.3.2</a><li>parse a relative selector, <a href=#parse-a-relative-selector title="section 17.2">17.2</a><li>parse a selector, <a href=#parse-a-selector title="section 17.1">17.1</a><li>:past, <a href=#past-pseudo title="section 10.2">10.2</a><li>:placeholder-shown, <a href=#placeholder-shown-pseudo title="section 11.1.3">11.1.3</a><li>pseudo-class, <a href=#pseudo-class title="section 3.6">3.6</a><li>pseudo-element, <a href=#pseudo-element title="section 3.7">3.7</a><li>:read-only, <a href=#read-only-pseudo title="section 11.1.2">11.1.2</a><li>:read-write, <a href=#read-write-pseudo title="section 11.1.2">11.1.2</a><li>relative, <a href=#relative-selector title="section 3.5">3.5</a><li>relative selector, <a href=#relative-selector title="section 3.5">3.5</a><li>&lt;relative-selector&gt;, <a href=#typedef-relative-selector title="section 16">16</a><li>:required, <a href=#required-pseudo title="section 11.3.3">11.3.3</a><li>:root, <a href=#root-pseudo title="section 12.1">12.1</a><li>:scope, <a href=#scope-pseudo title="section 8.4">8.4</a><li>scope, <a href=#scope title="section 3.4">3.4</a><li>scope-contained, <a href=#scope-contained title="section 3.4">3.4</a><li>scope-contained selector, <a href=#scope-contained title="section 3.4">3.4</a><li>scoped selector, <a href=#scope title="section 3.4">3.4</a><li>:scope element, <a href=#scope-element title="section 8.4">8.4</a><li>scope-filtered, <a href=#scope-filtered title="section 3.4">3.4</a><li>scope-filtered selector, <a href=#scope-filtered title="section 3.4">3.4</a><li>scope-relative, <a href=#relative-selector title="section 3.5">3.5</a><li>scoping element, <a href=#scoping-element title="section 3.4">3.4</a><li>scoping method, <a href=#scoping-method title="section 3.4">3.4</a><li>scoping root, <a href=#scoping-root title="section 3.4">3.4</a><li>selector, <a href=#selector title="section 3.1">3.1</a><li>&lt;selector&gt;, <a href=#typedef-selector title="section 16">16</a><li>selector list, <a href=#selector-list title="section 4.1">4.1</a><li>selector match list, <a href=#selector-match-list title="section 3.2">3.2</a><li>selector scoping method, <a href=#scoping-method title="section 3.4">3.4</a><li>simple selector, <a href=#simple title="section 3.1">3.1</a><li>structural pseudo-classes, <a href=#structural-pseudo-classes title="section 12">12</a><li>:target, <a href=#target-pseudo title="section 8.3">8.3</a><li>text pseudo-element, <a href=#text-pseudo-element title="section 3.7.1">3.7.1</a><li>type selector, <a href=#type-selector title="section 5.1">5.1</a><li>universal selector, <a href=#universal-selector title="section 5.2">5.2</a><li>:user-error, <a href=#user-error-pseudo title="section 11.3.4">11.3.4</a><li>:valid, <a href=#valid-pseudo title="section 11.3.1">11.3.1</a><li>valid, <a href=#valdef-drop-valid title="section 9.4">9.4</a><li>virtual scoping root, <a href=#virtual-scoping-root title="section 3.4">3.4</a><li>:visited, <a href=#visited-pseudo title="section 8.2">8.2</a><li>White space, <a href=#whitespace title="section 3.8">3.8</a></ul><h2 class="no-num heading settled" id=issues-index><span class=content>Issues Index</span><a class=self-link href=#issues-index></a></h2><div style=counter-reset:issue><div class=issue>
   2.384 +<h2 class="no-num heading settled" id=references><span class=content>References</span><a class=self-link href=#references></a></h2><h3 class="no-num heading settled" id=normative><span class=content>Normative References</span><a class=self-link href=#normative></a></h3><dl><dt id=biblio-css21 title=CSS21><a class=self-link href=#biblio-css21></a>[CSS21]<dd>Bert Bos; et al. <a href=http://www.w3.org/TR/2011/REC-CSS2-20110607>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</a>. 7 June 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-CSS2-20110607>http://www.w3.org/TR/2011/REC-CSS2-20110607</a><dt id=biblio-css3namespace title=CSS3NAMESPACE><a class=self-link href=#biblio-css3namespace></a>[CSS3NAMESPACE]<dd>Elika J. Etemad; Anne van Kesteren. <a href=http://www.w3.org/TR/2011/REC-css3-namespace-20110929/>CSS Namespaces Module</a>. 29 September 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-css3-namespace-20110929/>http://www.w3.org/TR/2011/REC-css3-namespace-20110929/</a><dt id=biblio-css3syn title=CSS3SYN><a class=self-link href=#biblio-css3syn></a>[CSS3SYN]<dd>Tab Atkins Jr.; Simon Sapin. <a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/>CSS Syntax Module</a>. 5 November 2013. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/>http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/</a><dt id=biblio-css3text title=CSS3TEXT><a class=self-link href=#biblio-css3text></a>[CSS3TEXT]<dd>Elika J. Etemad; Koji Ishii. <a href=http://www.w3.org/TR/2012/WD-css3-text-20121113/>CSS Text Module Level 3</a>. 13 November 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-text-20121113/>http://www.w3.org/TR/2012/WD-css3-text-20121113/</a><dt id=biblio-select title=SELECT><a class=self-link href=#biblio-select></a>[SELECT]<dd>Tantek Çelik; et al. <a href=http://www.w3.org/TR/2011/REC-css3-selectors-20110929/>Selectors Level 3</a>. 29 September 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-css3-selectors-20110929/>http://www.w3.org/TR/2011/REC-css3-selectors-20110929/</a><dt id=biblio-yacc title=YACC><a class=self-link href=#biblio-yacc></a>[YACC]<dd>S. C. Johnson. YACC - Yet another compiler compiler. 1975. Technical Report. <dt id=biblio-dom title=dom><a class=self-link href=#biblio-dom></a>[dom]<dd>Anne van Kesteren; et al. <a href=http://www.w3.org/TR/dom/>W3C DOM4</a>. 10 July 2014. LCWD. URL: <a href=http://www.w3.org/TR/dom/>http://www.w3.org/TR/dom/</a><dt id=biblio-rfc2119 title=rfc2119><a class=self-link href=#biblio-rfc2119></a>[rfc2119]<dd>S. Bradner. <a href=http://www.ietf.org/rfc/rfc2119.txt>Key words for use in RFCs to Indicate Requirement Levels</a>. March 1997. Best Current Practice. URL: <a href=http://www.ietf.org/rfc/rfc2119.txt>http://www.ietf.org/rfc/rfc2119.txt</a></dl><h3 class="no-num heading settled" id=informative><span class=content>Informative References</span><a class=self-link href=#informative></a></h3><dl><dt id=biblio-bcp47 title=BCP47><a class=self-link href=#biblio-bcp47></a>[BCP47]<dd>A. Phillips; M. Davis. <a href=http://tools.ietf.org/html/bcp47>Tags for Identifying Languages</a>. September 2009. IETF Best Current Practice. URL: <a href=http://tools.ietf.org/html/bcp47>http://tools.ietf.org/html/bcp47</a><dt id=biblio-css3ui title=CSS3UI><a class=self-link href=#biblio-css3ui></a>[CSS3UI]<dd>Tantek Çelik. <a href=http://www.w3.org/TR/2012/WD-css3-ui-20120117/>CSS Basic User Interface Module Level 3 (CSS3 UI)</a>. 17 January 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-ui-20120117/>http://www.w3.org/TR/2012/WD-css3-ui-20120117/</a><dt id=biblio-cssstyleattr title=CSSSTYLEATTR><a class=self-link href=#biblio-cssstyleattr></a>[CSSSTYLEATTR]<dd>Tantek Çelik; Elika J. Etemad. <a href=http://www.w3.org/TR/2010/CR-css-style-attr-20101012/>CSS Style Attributes</a>. 12 October 2010. W3C Candidate Recommendation. (Work in progress.) URL: <a href=http://www.w3.org/TR/2010/CR-css-style-attr-20101012/>http://www.w3.org/TR/2010/CR-css-style-attr-20101012/</a><dt id=biblio-mathml title=MathML><a class=self-link href=#biblio-mathml></a>[MathML]<dd>Patrick D F Ion; Robert R Miner. <a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML) 1.01 Specification</a>. 7 July 1999. REC. URL: <a href=http://www.w3.org/TR/MathML/>http://www.w3.org/TR/MathML/</a><dt id=biblio-svg11 title=SVG11><a class=self-link href=#biblio-svg11></a>[SVG11]<dd>Erik Dahlström; et al. <a href=http://www.w3.org/TR/SVG11/>Scalable Vector Graphics (SVG) 1.1 (Second Edition)</a>. 16 August 2011. REC. URL: <a href=http://www.w3.org/TR/SVG11/>http://www.w3.org/TR/SVG11/</a><dt id=biblio-xml10 title=XML10><a class=self-link href=#biblio-xml10></a>[XML10]<dd>C. M. Sperberg-McQueen; et al. <a href=http://www.w3.org/TR/2008/REC-xml-20081126/>Extensible Markup Language (XML) 1.0 (Fifth Edition)</a>. 26 November 2008. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2008/REC-xml-20081126/>http://www.w3.org/TR/2008/REC-xml-20081126/</a><dt id=biblio-css-scoping-1 title=css-scoping-1><a class=self-link href=#biblio-css-scoping-1></a>[css-scoping-1]<dd>Tab Atkins Jr.; Elika Etemad. <a href=http://www.w3.org/TR/css-scoping-1/>CSS Scoping Module Level 1</a>. 3 April 2014. WD. URL: <a href=http://www.w3.org/TR/css-scoping-1/>http://www.w3.org/TR/css-scoping-1/</a><dt id=biblio-html401 title=html401><a class=self-link href=#biblio-html401></a>[html401]<dd>Dave Raggett; Arnaud Le Hors; Ian Jacobs. <a href=http://www.w3.org/TR/html401>HTML 4.01 Specification</a>. 24 December 1999. REC. URL: <a href=http://www.w3.org/TR/html401>http://www.w3.org/TR/html401</a><dt id=biblio-html5 title=html5><a class=self-link href=#biblio-html5></a>[html5]<dd>Robin Berjon; et al. <a href=http://www.w3.org/TR/html5/>HTML5</a>. 28 October 2014. REC. URL: <a href=http://www.w3.org/TR/html5/>http://www.w3.org/TR/html5/</a><dt id=biblio-rfc4647 title=rfc4647><a class=self-link href=#biblio-rfc4647></a>[rfc4647]<dd>A. Phillips; M. Davis. <a href=http://www.ietf.org/rfc/rfc4647.txt>Matching of Language Tags</a>. September 2006. Best Current Practice. URL: <a href=http://www.ietf.org/rfc/rfc4647.txt>http://www.ietf.org/rfc/rfc4647.txt</a><dt id=biblio-xforms11 title=xforms11><a class=self-link href=#biblio-xforms11></a>[xforms11]<dd>John Boyer. <a href=http://www.w3.org/TR/xforms11/>XForms 1.1</a>. 20 October 2009. REC. URL: <a href=http://www.w3.org/TR/xforms11/>http://www.w3.org/TR/xforms11/</a><dt id=biblio-xml-names title=xml-names><a class=self-link href=#biblio-xml-names></a>[xml-names]<dd>Tim Bray; et al. <a href=http://www.w3.org/TR/xml-names>Namespaces in XML 1.0 (Third Edition)</a>. 8 December 2009. REC. URL: <a href=http://www.w3.org/TR/xml-names>http://www.w3.org/TR/xml-names</a></dl><h2 class="no-num heading settled" id=index><span class=content>Index</span><a class=self-link href=#index></a></h2><ul class=indexlist><li>absolutize a relative selector, <a href=#absolutize title="section 3.5.1">3.5.1</a><li>absolutize a relative selector list, <a href=#absolutize-list title="section 3.5.1">3.5.1</a><li>active, <a href=#valdef-drop-active title="section 9.4">9.4</a><li>:active, <a href=#active-pseudo title="section 9.2">9.2</a><li>:any-link, <a href=#any-link-pseudo title="section 8.1">8.1</a><li>attribute selector, <a href=#attribute-selector title="section 6">6</a><li>:blank, <a href=#blank-pseudo title="section 12.3">12.3</a><li>:checked, <a href=#checked-pseudo title="section 11.2.1">11.2.1</a><li>child combinator, <a href=#child-combinator title="section 13.2">13.2</a><li>class selector, <a href=#class-selector title="section 6.6">6.6</a><li>column combinator, <a href=#column-combinator title="section 14.1">14.1</a><li>combinator, <a href=#combinator title="section 3.1">3.1</a><li>complete, <a href=#complete-profile title="section 2.1">2.1</a><li>complex selector, <a href=#complex title="section 3.1">3.1</a><li>compound selector, <a href=#compound title="section 3.1">3.1</a><li>&lt;compound-selector&gt;, <a href=#typedef-compound-selector title="section 16">16</a><li>content pseudo-element, <a href=#content-pseudo-element title="section 3.7.1">3.7.1</a><li>:current(), <a href=#selectordef-current title="section 10.1">10.1</a><li>:current, <a href=#current-pseudo title="section 10.1">10.1</a><li>declared, <a href=#nsdecl title="section 3.9">3.9</a><li>:default, <a href=#default-pseudo title="section 11.1.4">11.1.4</a><li>descendant combinator, <a href=#descendant-combinator title="section 13.1">13.1</a><li>:dir(), <a href=#dir-pseudo title="section 7.1">7.1</a><li>:disabled, <a href=#disabled-pseudo title="section 11.1.1">11.1.1</a><li>:drop(), <a href=#selectordef-drop-function title="section 9.4">9.4</a><li>:drop, <a href=#selectordef-drop title="section 9.4">9.4</a><li>:empty, <a href=#empty-pseudo title="section 12.2">12.2</a><li>:enabled, <a href=#enabled-pseudo title="section 11.1.1">11.1.1</a><li>evaluate a selector, <a href=#evaluate-a-selector title="section 3.2">3.2</a><li>fast, <a href=#fast-profile title="section 2.1">2.1</a><li>feature, <a href=#feature title="section 3.3">3.3</a><li>featureless, <a href=#featureless title="section 3.3">3.3</a><li>feature selector, <a href=#feature-selector title="section 3.3">3.3</a><li>:first-child, <a href=#first-child-pseudo title="section 12.4.3">12.4.3</a><li>:first-of-type, <a href=#first-of-type-pseudo title="section 12.5.3">12.5.3</a><li>:focus, <a href=#focus-pseudo title="section 9.3">9.3</a><li>following-sibling combinator, <a href=#following-sibling-combinator title="section 13.4">13.4</a><li>functional pseudo-class, <a href=#functional-pseudo-class title="section 3.6">3.6</a><li>:future, <a href=#future-pseudo title="section 10.3">10.3</a><li>:has(), <a href=#has-pseudo title="section 4.4">4.4</a><li>:hover, <a href=#hover-pseudo title="section 9.1">9.1</a><li>ID selector, <a href=#id-selector title="section 6.7">6.7</a><li>&lt;id-selector&gt;, <a href=#typedef-id-selector title="section 16">16</a><li>:indeterminate, <a href=#indetermine-pseudo title="section 11.2.2">11.2.2</a><li>:in-range, <a href=#in-range-pseudo title="section 11.3.2">11.3.2</a><li>:invalid, <a href=#invalid-pseudo title="section 11.3.1">11.3.1</a><li>invalid<ul><li>definition of, <a href=#invalid-selector title="section 3.10">3.10</a><li>value for :drop(), <a href=#valdef-drop-invalid title="section 9.4">9.4</a></ul><li>invalid selector, <a href=#invalid-selector title="section 3.10">3.10</a><li>:lang(), <a href=#lang-pseudo title="section 7.2">7.2</a><li>language, <a href=#language title="section 7.2">7.2</a><li>language range, <a href=#language-range title="section 7.2">7.2</a><li>:last-child, <a href=#last-child-pseudo title="section 12.4.4">12.4.4</a><li>:last-of-type, <a href=#last-of-type-pseudo title="section 12.5.4">12.5.4</a><li>:link, <a href=#link-pseudo title="section 8.2">8.2</a><li>match a selector against an element, <a href=#match-a-selector-against-an-element title="section 17.4">17.4</a><li>match a selector against a tree, <a href=#match-a-selector-against-a-tree title="section 17.3">17.3</a><li>:matches(), <a href=#matches-pseudo title="section 4.2">4.2</a><li>next-sibling combinator, <a href=#next-sibling-combinator title="section 13.3">13.3</a><li>:not(), <a href=#negation-pseudo title="section 4.3">4.3</a><li>:nth-child(), <a href=#nth-child-pseudo title="section 12.4.1">12.4.1</a><li>:nth-column(), <a href=#nth-column-pseudo title="section 14.2">14.2</a><li>:nth-last-child(), <a href=#nth-last-child-pseudo title="section 12.4.2">12.4.2</a><li>:nth-last-column(), <a href=#nth-last-column-pseudo title="section 14.3">14.3</a><li>:nth-last-of-type(), <a href=#nth-last-of-type title="section 12.5.2">12.5.2</a><li>:nth-of-type(), <a href=#nth-of-type-pseudo title="section 12.5.1">12.5.1</a><li>:only-child, <a href=#only-child-pseudo title="section 12.4.5">12.4.5</a><li>:only-of-type, <a href=#only-of-type-pseudo title="section 12.5.5">12.5.5</a><li>:optional, <a href=#optional-pseudo title="section 11.3.3">11.3.3</a><li>originating element, <a href=#originating-element title="section 3.7">3.7</a><li>:out-of-range, <a href=#out-of-range-pseudo title="section 11.3.2">11.3.2</a><li>parse a relative selector, <a href=#parse-a-relative-selector title="section 17.2">17.2</a><li>parse a selector, <a href=#parse-a-selector title="section 17.1">17.1</a><li>:past, <a href=#past-pseudo title="section 10.2">10.2</a><li>:placeholder-shown, <a href=#placeholder-shown-pseudo title="section 11.1.3">11.1.3</a><li>pseudo-class, <a href=#pseudo-class title="section 3.6">3.6</a><li>pseudo-element, <a href=#pseudo-element title="section 3.7">3.7</a><li>:read-only, <a href=#read-only-pseudo title="section 11.1.2">11.1.2</a><li>:read-write, <a href=#read-write-pseudo title="section 11.1.2">11.1.2</a><li>relative, <a href=#relative-selector title="section 3.5">3.5</a><li>relative selector, <a href=#relative-selector title="section 3.5">3.5</a><li>&lt;relative-selector&gt;, <a href=#typedef-relative-selector title="section 16">16</a><li>:required, <a href=#required-pseudo title="section 11.3.3">11.3.3</a><li>:root, <a href=#root-pseudo title="section 12.1">12.1</a><li>:scope, <a href=#scope-pseudo title="section 8.4">8.4</a><li>scope, <a href=#scope title="section 3.4">3.4</a><li>scope-contained, <a href=#scope-contained title="section 3.4">3.4</a><li>scope-contained selector, <a href=#scope-contained title="section 3.4">3.4</a><li>scoped selector, <a href=#scope title="section 3.4">3.4</a><li>:scope element, <a href=#scope-element title="section 8.4">8.4</a><li>scope-filtered, <a href=#scope-filtered title="section 3.4">3.4</a><li>scope-filtered selector, <a href=#scope-filtered title="section 3.4">3.4</a><li>scope-relative, <a href=#relative-selector title="section 3.5">3.5</a><li>scoping element, <a href=#scoping-element title="section 3.4">3.4</a><li>scoping method, <a href=#scoping-method title="section 3.4">3.4</a><li>scoping root, <a href=#scoping-root title="section 3.4">3.4</a><li>selector, <a href=#selector title="section 3.1">3.1</a><li>&lt;selector&gt;, <a href=#typedef-selector title="section 16">16</a><li>selector list, <a href=#selector-list title="section 4.1">4.1</a><li>selector match list, <a href=#selector-match-list title="section 3.2">3.2</a><li>selector scoping method, <a href=#scoping-method title="section 3.4">3.4</a><li>simple selector, <a href=#simple title="section 3.1">3.1</a><li>structural pseudo-classes, <a href=#structural-pseudo-classes title="section 12">12</a><li>:target, <a href=#target-pseudo title="section 8.3">8.3</a><li>text pseudo-element, <a href=#text-pseudo-element title="section 3.7.1">3.7.1</a><li>type selector, <a href=#type-selector title="section 5.1">5.1</a><li>universal selector, <a href=#universal-selector title="section 5.2">5.2</a><li>:user-error, <a href=#user-error-pseudo title="section 11.3.4">11.3.4</a><li>:valid, <a href=#valid-pseudo title="section 11.3.1">11.3.1</a><li>valid, <a href=#valdef-drop-valid title="section 9.4">9.4</a><li>virtual scoping root, <a href=#virtual-scoping-root title="section 3.4">3.4</a><li>:visited, <a href=#visited-pseudo title="section 8.2">8.2</a><li>White space, <a href=#whitespace title="section 3.8">3.8</a></ul><h2 class="no-num heading settled" id=issues-index><span class=content>Issues Index</span><a class=self-link href=#issues-index></a></h2><div style=counter-reset:issue><div class=issue>
   2.385  		The categorization of things into the "fast" or "complete" profiles needs implementor review.
   2.386  		If some things currently not in the fast profile can reasonably be done in CSS Selectors,
   2.387  		we should move them.

mercurial