@@ -22,7 +22,7 @@ Abstract: Selectors Level 4 describes the selectors that already exist in [[!SEL
2222At Risk : the column combinator
2323At Risk : the '':drop()'' pseudo-class
2424At 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
2626Link 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">
794794Scoped 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">
894894Pseudo-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