Skip to content

Commit be8f9af

Browse files
committed
[selectors] Wordsmith Pseudo-classes section (the name of a pseudo-class is not a function including its arguments) and restore some information lost in <https://hg.csswg.org/drafts/diff/34e3c6a4ac96/selectors/Overview.bs>.
1 parent 31e71d7 commit be8f9af

1 file changed

Lines changed: 31 additions & 23 deletions

File tree

selectors/Overview.bs

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Abstract: Selectors Level 4 describes the selectors that already exist in [[!SEL
2222
At Risk: the column combinator
2323
At Risk: the '':drop()'' pseudo-class
2424
At Risk: the '':read-write'' pseudo-class
25-
Ignored Terms: Document, DocumentFragment, math, h1, shadow tree, box tree, query(), quirks mode, button, a, span, object, p, div, q, area, link, label, input, html, em, li, ol, pre
25+
Ignored Terms: function token, Document, DocumentFragment, math, h1, shadow tree, query(), quirks mode, button, a, span, object, p, div, q, area, link, label, input, html, em, li, ol, pre
2626
Link Defaults: dom-core-ls (interface) Document
2727
</pre>
2828
<style>
@@ -514,7 +514,7 @@ Structure and Terminology</h3>
514514
is a sequence of <a>simple selectors</a>
515515
that are not separated by a <a>combinator</a>.
516516
If it contains a <a>type selector</a> or <a>universal selector</a>,
517-
that selector comes first in the sequence.
517+
that selector must come first in the sequence.
518518
Only one type selector or universal selector is allowed in the sequence.
519519

520520
A <dfn id="simple" export>simple selector</dfn> represents an aspect of an element to be matched against.
@@ -793,7 +793,7 @@ Guidance on Mapping Document Languages to DOM</h4>
793793
<h3 id="scoping">
794794
Scoped Selectors</h3>
795795

796-
Some host applications may choose to <dfn export lt="scope | scoped selector">scope</dfn> selectors
796+
Some host applications may choose to <dfn export lt="scoped selector" local-lt="scope">scope</dfn> selectors
797797
to a particular subtree or fragment of the document.
798798
The root of the scoping subtree is called the <dfn export>scoping root</dfn>,
799799
and may be either a true element (the <dfn export>scoping element</dfn>)
@@ -893,36 +893,44 @@ Absolutizing a Relative Selector</h4>
893893
<h3 id="pseudo-classes">
894894
Pseudo-classes</h3>
895895

896-
The <dfn export>pseudo-class</dfn> concept is introduced to permit selection based on
896+
<dfn export lt="pseudo-class">Pseudo-classes</dfn> are <a>simple selectors</a>
897+
that permit selection based on
897898
information that lies outside of the document tree
898899
or that can be awkward or impossible to express using the other simple selectors.
900+
They can also be dynamic,
901+
in the sense that an element can acquire or lose a pseudo-class
902+
while a user interacts with the document,
903+
without the document itself changing.
904+
<a>Pseudo-classes</a> do not appear in or modify the document source or document tree.
899905

900906
The syntax of a <a>pseudo-class</a>
901-
is a ":" (U+003A COLON)
902-
followed by the name of the <a>pseudo-class</a>,
903-
which is either an <a>identifier</a>,
904-
or in the case of a <dfn export>functional pseudo-class</dfn>,
905-
a function potentially containing arguments between parentheses
906-
(similar to CSS functions).
907+
consists of a ":" (U+003A COLON)
908+
followed by the name of the <a>pseudo-class</a>
909+
as a CSS <a>identifier</a>,
910+
and, in the case of a <dfn export>functional pseudo-class</dfn>,
911+
a pair of parentheses containing its arguments.
912+
913+
<p class="example">
914+
For example, '':valid'' is a regular pseudo-class,
915+
and '':lang()'' is a <a>functional pseudo-class</a>.
907916

917+
Like all CSS keywords, <a>pseudo-class</a> names are <a>ASCII case-insensitive</a>.
908918
No <a>white space</a> is allowed between the colon and the name of the <a>pseudo-class</a>,
909-
and as usual for CSS syntax,
910-
there are no spaces between the function name and its opening parenthesis.
911-
As usual for CSS syntax,
912-
<a>white space</a> is allowed arond the arguments between the parentheses
913-
of a functional pseudo-class,
919+
nor, as usual for CSS syntax,
920+
between a <a>functional pseudo-class</a>’s name and its opening parenthesis
921+
(which thus form a CSS <a>function token</a>).
922+
Also as usual,
923+
<a>white space</a> is allowed around the arguments inside the parentheses
924+
of a functional pseudo-class
914925
unless otherwise specified.
915926

916-
<a>Pseudo-classes</a> are identical to any other type of <a>simple selector</a>:
917-
they're allowed in all <a>compound selectors</a> contained in a selector,
927+
Like other <a>simple selectors</a>,
928+
<a>pseudo-classes</a> are allowed in all <a>compound selectors</a> contained in a selector,
918929
and must follow the <a>type selector</a> or <a>universal selector</a>, if present.
919-
<a>Pseudo-class</a> names are <a>ASCII case-insensitive</a>.
920-
Some <a>pseudo-classes</a> are mutually exclusive
930+
931+
Note: Some <a>pseudo-classes</a> are mutually exclusive
921932
(such that a <a>compound selector</a> containing them, while valid, will never match anything),
922933
while others can apply simultaneously to the same element.
923-
<a>Pseudo-classes</a> may be dynamic,
924-
in the sense that an element can acquire or lose a pseudo-class
925-
while a user interacts with the document.
926934

927935
<h3 id="pseudo-elements">Pseudo-elements</h3>
928936

@@ -3183,7 +3191,7 @@ Grammar</h2>
31833191
The productions in uppercase are defined by CSS Syntax [[!CSS3SYN]],
31843192
and correspond to the tokens of the same name.
31853193
Literal strings correspond to delim tokens with the given value.
3186-
Unlike other grammars in CSS, whitespace is not ignored
3194+
Unlike other grammars in CSS, whitespace is not ignored.
31873195
The production "S" represents a whitespace token.
31883196
The wqname_prefix production comes from the Namespaces spec [[!CSS3NAMESPACE]]
31893197

0 commit comments

Comments
 (0)