Skip to content

Commit b680f33

Browse files
committed
[selectors4] Add clarifying note that the host language defines what pseudo-elements exist.
1 parent afea7a3 commit b680f33

File tree

2 files changed

+65
-51
lines changed

2 files changed

+65
-51
lines changed

selectors4/Overview.html

Lines changed: 61 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
rel=dcterms.rights>
1010
<meta content="Selectors Level 4" name=dcterms.title>
1111
<meta content=text name=dcterms.type>
12-
<meta content=2013-01-16 name=dcterms.issued>
12+
<meta content=2013-02-01 name=dcterms.issued>
1313
<meta content="http://dev.w3.org/csswg/selectors4/" name=dcterms.creator>
1414
<meta content=W3C name=dcterms.publisher>
15-
<meta content="http://www.w3.org/TR/2013/ED-selectors4-20130116/"
15+
<meta content="http://www.w3.org/TR/2013/ED-selectors4-20130201/"
1616
name=dcterms.identifier>
1717
<link href="../default.css" rel=stylesheet type="text/css">
1818
<style type="text/css">
@@ -29,14 +29,14 @@
2929

3030
<h1 id=title>Selectors Level 4</h1>
3131

32-
<h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 16 January
32+
<h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 1 February
3333
2013</h2>
3434

3535
<dl>
3636
<dt>This version:
3737

38-
<dd><a href="http://www.w3.org/TR/2013/ED-selectors4-20130116/">
39-
http://www.w3.org/TR/2013/ED-selectors4-20130116/</a>
38+
<dd><a href="http://www.w3.org/TR/2013/ED-selectors4-20130201/">
39+
http://www.w3.org/TR/2013/ED-selectors4-20130201/</a>
4040

4141
<dt>Editor's draft:
4242

@@ -87,7 +87,8 @@ <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 16 January
8787
title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
8888
href="http://www.ercim.eu/"><abbr
8989
title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
90-
<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
90+
<a href="http://www.keio.ac.jp/">Keio</a>, <a
91+
href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a
9192
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
9293
<a
9394
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
@@ -1318,65 +1319,68 @@ <h3 id=pseudo-classes><span class=secno>3.4. </span> Pseudo-classes</h3>
13181319

13191320
<h3 id=pseudo-elements><span class=secno>3.5. </span>Pseudo-elements</h3>
13201321

1321-
<p><dfn id=pseudo-elements0>Pseudo-elements</dfn> create abstractions about
1322-
the document tree beyond those specified by the document language. For
1323-
instance, document languages do not offer mechanisms to access the first
1324-
letter or first line of an element's content. <a
1325-
href="#pseudo-elements0"><i>Pseudo-elements</i></a> allow authors to refer
1326-
to this otherwise inaccessible information. <a
1327-
href="#pseudo-elements0"><i>Pseudo-elements</i></a> may also provide
1328-
authors a way to refer to content that does not exist in the source
1329-
document (e.g., the <code>::before</code> and <code>::after</code> <a
1330-
href="#pseudo-elements0"><i>pseudo-elements</i></a> give access to
1331-
generated content in CSS <a href="#CSS21"
1322+
<p><dfn id=pseudo-element title=pseudo-element>Pseudo-elements</dfn> create
1323+
abstractions about the document tree beyond those specified by the
1324+
document language. For instance, document languages do not offer
1325+
mechanisms to access the first letter or first line of an element's
1326+
content. <a href="#pseudo-element"><i>Pseudo-elements</i></a> allow
1327+
authors to refer to this otherwise inaccessible information. <a
1328+
href="#pseudo-element"><i>Pseudo-elements</i></a> may also provide authors
1329+
a way to refer to content that does not exist in the source document
1330+
(e.g., the <code>::before</code> and <code>::after</code> <a
1331+
href="#pseudo-element"><i>pseudo-elements</i></a> give access to generated
1332+
content in CSS <a href="#CSS21"
13321333
rel=biblioentry>[CSS21]<!--{{CSS21}}--></a>).
13331334

1334-
<p>A <i>pseudo-element</i> is made of two colons (<code>::</code>) followed
1335-
by the name of the <i>pseudo-element</i>.
1335+
<p>A <a href="#pseudo-element"><i>pseudo-element</i></a> is made of two
1336+
colons (<code>::</code>) followed by the name of the <a
1337+
href="#pseudo-element"><i>pseudo-element</i></a>.
13361338

13371339
<p>This <code>::</code> notation was chosen in order to establish a
13381340
discrimination between <a href="#pseudo-class"><i>pseudo-classes</i></a>
13391341
(which subclass existing elements) and <a
1340-
href="#pseudo-elements0"><i>pseudo-elements</i></a> (which are elements
1341-
not represented in the document tree). However, for compatibility with
1342+
href="#pseudo-element"><i>pseudo-elements</i></a> (which are elements not
1343+
represented in the document tree). However, for compatibility with
13421344
existing style sheets, user agents must also accept the previous one-colon
1343-
notation for <a href="#pseudo-elements0"><i>pseudo-elements</i></a>
1345+
notation for <a href="#pseudo-element"><i>pseudo-elements</i></a>
13441346
introduced in CSS levels 1 and 2 (namely, <code>:first-line</code>,
13451347
<code>:first-letter</code>, <code>:before</code> and <code>:after</code>).
13461348
This compatibility notation is not allowed any other <a
1347-
href="#pseudo-elements0"><i>pseudo-elements</i></a>.
1349+
href="#pseudo-element"><i>pseudo-elements</i></a>.
13481350

13491351
<p class=note>A future version of this specification may allow multiple
13501352
pseudo-elements per selector.
13511353

1352-
<p>Syntactically, a <i>pseudo-element</i> immediately follows the <a
1353-
href="#compound"><i>compound selector</i></a> representing its <dfn
1354-
id=originating-element>originating element</dfn>, i.e. the element to
1355-
which it is associated. Unless otherwise overridden by the definition of
1356-
the <i>pseudo-element</i>:
1354+
<p>Syntactically, a <a href="#pseudo-element"><i>pseudo-element</i></a>
1355+
immediately follows the <a href="#compound"><i>compound selector</i></a>
1356+
representing its <dfn id=originating-element>originating element</dfn>,
1357+
i.e. the element to which it is associated. Unless otherwise overridden by
1358+
the definition of the <a href="#pseudo-element"><i>pseudo-element</i></a>:
13571359

13581360
<ul>
1359-
<li>only one <i>pseudo-element</i> may appear per <a
1360-
href="#complex"><i>complex selector</i></a>
1361+
<li>only one <a href="#pseudo-element"><i>pseudo-element</i></a> may
1362+
appear per <a href="#complex"><i>complex selector</i></a>
13611363

1362-
<li>the <i>pseudo-element</i> must appear after the <a
1363-
href="#compound"><i>compound selector</i></a> that represents the <a
1364-
href="#subject">subjects</a> of the selector
1364+
<li>the <a href="#pseudo-element"><i>pseudo-element</i></a> must appear
1365+
after the <a href="#compound"><i>compound selector</i></a> that
1366+
represents the <a href="#subject">subjects</a> of the selector
13651367

1366-
<li>the <i>pseudo-element</i> may appear only if the subject of the
1367-
selector is the last <a href="#compound"><i>compound selector</i></a> in
1368-
the selector.
1368+
<li>the <a href="#pseudo-element"><i>pseudo-element</i></a> may appear
1369+
only if the subject of the selector is the last <a
1370+
href="#compound"><i>compound selector</i></a> in the selector.
13691371
</ul>
13701372

1371-
<p>A <i>pseudo-element</i> may be immediately followed by any combination
1372-
of the <a href="#useraction-pseudos">user action pseudo-classes</a>, in
1373-
which case the <i>pseudo-element</i> is represented only when it is in the
1374-
corresponding state. Whether these pseudo-classes can match on the
1375-
<i>pseudo-element</i> depends on the <a
1376-
href="#pseudo-class"><i>pseudo-class</i></a> and <i>pseudo-element</i>”s
1377-
definitions: unless otherwise-specified, none of these <a
1378-
href="#pseudo-class"><i>pseudo-classes</i></a> will match on the
1379-
<i>pseudo-element</i>.
1373+
<p>A <a href="#pseudo-element"><i>pseudo-element</i></a> may be immediately
1374+
followed by any combination of the <a href="#useraction-pseudos">user
1375+
action pseudo-classes</a>, in which case the <a
1376+
href="#pseudo-element"><i>pseudo-element</i></a> is represented only when
1377+
it is in the corresponding state. Whether these pseudo-classes can match
1378+
on the <a href="#pseudo-element"><i>pseudo-element</i></a> depends on the
1379+
<a href="#pseudo-class"><i>pseudo-class</i></a> and <a
1380+
href="#pseudo-element"><i>pseudo-element</i></a>”s definitions: unless
1381+
otherwise-specified, none of these <a
1382+
href="#pseudo-class"><i>pseudo-classes</i></a> will match on the <a
1383+
href="#pseudo-element"><i>pseudo-element</i></a>.
13801384

13811385
<div class=example>
13821386
<p>For example, the <a href="#hover-pseudo"><code>:hover</code></a>
@@ -1390,6 +1394,11 @@ <h3 id=pseudo-elements><span class=secno>3.5. </span>Pseudo-elements</h3>
13901394
will never match anything.
13911395
</div>
13921396

1397+
<p>The host language defines which pseudo-elements exist and their meaning.
1398+
For CSS, <a href="#CSS21" rel=biblioentry>[CSS21]<!--{{CSS21}}--></a>
1399+
defines the ::before, ::after, ::first-line and ::first-letter
1400+
pseudo-elements.
1401+
13931402
<h3 id=case-sensitive><span class=secno>3.6. </span> Characters and case
13941403
sensitivity</h3>
13951404

@@ -1725,8 +1734,9 @@ <h3 id=universal-selector><span class=secno>5.2. </span> Universal selector</h3>
17251734
<p>If a universal selector represented by <code>*</code> (i.e. without a
17261735
namespace prefix) is not the only component of a <a
17271736
href="#compound"><i>compound selector</i></a> or is immediately followed
1728-
by a <i>pseudo-element</i>, then the <code>*</code> may be omitted and the
1729-
universal selector's presence implied.
1737+
by a <a href="#pseudo-element"><i>pseudo-element</i></a>, then the
1738+
<code>*</code> may be omitted and the universal selector's presence
1739+
implied.
17301740

17311741
<div class=example>
17321742
<p>Examples:
@@ -4418,9 +4428,10 @@ <h3 id=informative-references><span class=secno>20.2. </span> Informative
44184428
<dt id=HTML5>[HTML5]
44194429

44204430
<dd>Ian Hickson. <a
4421-
href="http://www.w3.org/TR/2011/WD-html5-20110525/"><cite>HTML5.</cite></a>
4422-
25 May 2011. W3C Working Draft. (Work in progress.) URL: <a
4423-
href="http://www.w3.org/TR/2011/WD-html5-20110525/">http://www.w3.org/TR/2011/WD-html5-20110525/</a>
4431+
href="http://www.w3.org/TR/2012/CR-html5-20121217/"><cite>HTML5.</cite></a>
4432+
17 December 2012. W3C Candidate Recommendation. (Work in progress.) URL:
4433+
<a
4434+
href="http://www.w3.org/TR/2012/CR-html5-20121217/">http://www.w3.org/TR/2012/CR-html5-20121217/</a>
44244435
</dd>
44254436
<!---->
44264437

selectors4/Overview.src.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ <h3 id="pseudo-classes">
673673

674674
<h3 id="pseudo-elements">Pseudo-elements</h3>
675675

676-
<p><dfn>Pseudo-elements</dfn> create abstractions about the document tree
676+
<p><dfn id='pseudo-element' title="pseudo-element">Pseudo-elements</dfn> create abstractions about the document tree
677677
beyond those specified by the document language.
678678
For instance, document languages do not offer mechanisms to access
679679
the first letter or first line of an element's content.
@@ -729,6 +729,9 @@ <h3 id="pseudo-elements">Pseudo-elements</h3>
729729
the selector <code>::first-line:focus</code> will never match anything.
730730
</div>
731731

732+
<p>The host language defines which pseudo-elements exist and their meaning.
733+
For CSS, [[CSS21]] defines the ::before, ::after, ::first-line and ::first-letter pseudo-elements.
734+
732735
<h3 id="case-sensitive">
733736
Characters and case sensitivity</h3>
734737

0 commit comments

Comments
 (0)