@@ -329,32 +329,36 @@ <h2 class="no-num no-toc" id=contents>Table of Contents</h2>
329329 < li > < a href ="#enableddisabled "> < span class =secno > 11.1. </ span > The
330330 < code > :enabled</ code > and < code > :disabled</ code > pseudo-classes</ a >
331331
332- < li > < a href ="#checked "> < span class =secno > 11.2. </ span > The
332+ < li > < a href ="#placeholder "> < span class =secno > 11.2. </ span > The
333+ placeholder-shown pseudo-class < code > :placeholder-shown</ code > </ a >
334+
335+ < li > < a href ="#checked "> < span class =secno > 11.3. </ span > The
333336 selected-option pseudo-class < code > :checked</ code > </ a >
334337
335- < li > < a href ="#indeterminate "> < span class =secno > 11.3 . </ span > The
338+ < li > < a href ="#indeterminate "> < span class =secno > 11.4 . </ span > The
336339 indeterminate-value pseudo-class < code > :indeterminate</ code > </ a >
337340
338- < li > < a href ="#the-default-pseudo "> < span class =secno > 11.4 . </ span > The
341+ < li > < a href ="#the-default-pseudo "> < span class =secno > 11.5 . </ span > The
339342 default option pseudo-class < code > :default</ code > </ a >
340343
341- < li > < a href ="#validity-pseudos "> < span class =secno > 11.5 . </ span > The
344+ < li > < a href ="#validity-pseudos "> < span class =secno > 11.6 . </ span > The
342345 validity pseudo-classes: < code > :valid</ code > and
343346 < code > :invalid</ code > </ a >
344347
345- < li > < a href ="#range-pseudos "> < span class =secno > 11.6 . </ span > The range
348+ < li > < a href ="#range-pseudos "> < span class =secno > 11.7 . </ span > The range
346349 pseudo-classes < code > :in-range</ code > and
347350 < code > :out-of-range</ code > </ a >
348351
349- < li > < a href ="#opt-pseudos "> < span class =secno > 11.7 . </ span > The
352+ < li > < a href ="#opt-pseudos "> < span class =secno > 11.8 . </ span > The
350353 optionality pseudo-classes < code > :required</ code > and
351354 < code > :optional</ code > </ a >
352355
353- < li > < a href ="#user-pseudos "> < span class =secno > 11.8 . </ span > The
356+ < li > < a href ="#user-pseudos "> < span class =secno > 11.9 . </ span > The
354357 user-interaction pseudo-class < code > :user-error</ code > </ a >
355358
356- < li > < a href ="#rw-pseudos "> < span class =secno > 11.9. </ span > The mutability
357- pseudo-classes < code > :read-only</ code > and < code > :read-write</ code > </ a >
359+ < li > < a href ="#rw-pseudos "> < span class =secno > 11.10. </ span > The
360+ mutability pseudo-classes < code > :read-only</ code > and
361+ < code > :read-write</ code > </ a >
358362 </ ul >
359363
360364 < li > < a href ="#structural-pseudos "> < span class =secno > 12. </ span >
@@ -2821,7 +2825,17 @@ <h3 id=enableddisabled><span class=secno>11.1. </span> The <a
28212825 < code > display</ code > and < code > visibility</ code > properties have no effect
28222826 on the enabled/disabled state of an element.
28232827
2824- < h3 id =checked > < span class =secno > 11.2. </ span > The selected-option
2828+ < h3 id =placeholder > < span class =secno > 11.2. </ span > The placeholder-shown
2829+ pseudo-class < a
2830+ href ="#placeholder-shown-pseudo "> < code > :placeholder-shown</ code > </ a > </ h3 >
2831+
2832+ < p > Input elements can sometimes show placeholder text as a hint to the user
2833+ on what to type in. See, for example, the < code > placeholder</ code >
2834+ attribute in < a href ="#HTML5 " rel =biblioentry > [HTML5]<!--{{HTML5}}--> </ a > .
2835+ The < dfn id =placeholder-shown-pseudo > :placeholder-shown</ dfn > pseudo-class
2836+ matches an input element that is showing such placeholder text.
2837+
2838+ < h3 id =checked > < span class =secno > 11.3. </ span > The selected-option
28252839 pseudo-class < a href ="#checked-pseudo "> < code > :checked</ code > </ a > </ h3 >
28262840
28272841 < p > Radio and checkbox elements can be toggled by the user. Some menu items
@@ -2847,7 +2861,7 @@ <h3 id=checked><span class=secno>11.2. </span> The selected-option
28472861 < pre > :not(:checked)</ pre >
28482862 </ div >
28492863
2850- < h3 id =indeterminate > < span class =secno > 11.3 . </ span > The
2864+ < h3 id =indeterminate > < span class =secno > 11.4 . </ span > The
28512865 indeterminate-value pseudo-class < a
28522866 href ="#indetermine-pseudo "> < code > :indeterminate</ code > </ a > </ h3 >
28532867
@@ -2866,7 +2880,7 @@ <h3 id=indeterminate><span class=secno>11.3. </span> The
28662880 href ="#indetermine-pseudo "> < code > :indeterminate</ code > </ a > even in a
28672881 static display.
28682882
2869- < h3 id =the-default-pseudo > < span class =secno > 11.4 . </ span > The default
2883+ < h3 id =the-default-pseudo > < span class =secno > 11.5 . </ span > The default
28702884 option pseudo-class < a href ="#default-pseudo "> < code > :default</ code > </ a > </ h3 >
28712885
28722886 < p > The < dfn id =default-pseudo > :default</ dfn > pseudo-class applies to the
@@ -2880,7 +2894,7 @@ <h3 id=the-default-pseudo><span class=secno>11.4. </span> The default
28802894 href ="#default-pseudo "> < code > :default</ code > </ a > elements, like a
28812895 selection of pizza toppings for example.
28822896
2883- < h3 id =validity-pseudos > < span class =secno > 11.5 . </ span > The validity
2897+ < h3 id =validity-pseudos > < span class =secno > 11.6 . </ span > The validity
28842898 pseudo-classes: < a href ="#valid-pseudo "> < code > :valid</ code > </ a > and < a
28852899 href ="#invalid-pseudo "> < code > :invalid</ code > </ a > </ h3 >
28862900
@@ -2904,7 +2918,7 @@ <h3 id=validity-pseudos><span class=secno>11.5. </span> The validity
29042918 < code > <p> </ code > element has no validity semantics at all, and so it
29052919 never matches either of these pseudo-classes.
29062920
2907- < h3 id =range-pseudos > < span class =secno > 11.6 . </ span > The range
2921+ < h3 id =range-pseudos > < span class =secno > 11.7 . </ span > The range
29082922 pseudo-classes < a href ="#in-range-psuedo "> < code > :in-range</ code > </ a > and
29092923 < a href ="#out-of-range-pseudo "> < code > :out-of-range</ code > </ a > </ h3 >
29102924
@@ -2923,7 +2937,7 @@ <h3 id=range-pseudos><span class=secno>11.6. </span> The range
29232937 menu element with a value of "E" that happens to be presented in a popup
29242938 menu that only has choices "A", "B" and "C".
29252939
2926- < h3 id =opt-pseudos > < span class =secno > 11.7 . </ span > The optionality
2940+ < h3 id =opt-pseudos > < span class =secno > 11.8 . </ span > The optionality
29272941 pseudo-classes < a href ="#required-pseudo "> < code > :required</ code > </ a > and
29282942 < a href ="#optional-pseudo "> < code > :optional</ code > </ a > </ h3 >
29292943
@@ -2933,7 +2947,7 @@ <h3 id=opt-pseudos><span class=secno>11.7. </span> The optionality
29332947 submitted. Elements that are not form elements are neither required nor
29342948 optional.
29352949
2936- < h3 id =user-pseudos > < span class =secno > 11.8 . </ span > The user-interaction
2950+ < h3 id =user-pseudos > < span class =secno > 11.9 . </ span > The user-interaction
29372951 pseudo-class < a href ="#user-error-pseudo "> < code > :user-error</ code > </ a > </ h3 >
29382952
29392953 < p > The < dfn id =user-error-pseudo > :user-error</ dfn > pseudo-class represents
@@ -2983,7 +2997,7 @@ <h3 id=user-pseudos><span class=secno>11.8. </span> The user-interaction
29832997 <code>:user-invalid</code> and <code>:user-omitted</code> could be used.
29842998-->
29852999
2986- < h3 id =rw-pseudos > < span class =secno > 11.9 . </ span > The mutability
3000+ < h3 id =rw-pseudos > < span class =secno > 11.10 . </ span > The mutability
29873001 pseudo-classes < a href ="#read-only-pseudo "> < code > :read-only</ code > </ a > and
29883002 < a href ="#read-write-pseudo "> < code > :read-write</ code > </ a > </ h3 >
29893003
@@ -3850,6 +3864,13 @@ <h3 id=grammar><span class=secno>16.1. </span> Grammar</h3>
38503864 : complex_selector [ COMMA S* complex_selector ]*
38513865 ;
38523866
3867+ scope_relative_selector_list
3868+ : scope_relative_selector [ COMMA s* scope_relative_selector ]*
3869+
3870+ scope_relative_selector
3871+ : combinator? complex_selector
3872+ ;
3873+
38533874 complex_selector
38543875 : compound_selector [ combinator compound_selector ]* S*
38553876 ;
@@ -3921,6 +3942,26 @@ <h3 id=grammar><span class=secno>16.1. </span> Grammar</h3>
39213942 : FUNCTION S* value ')'
39223943 ;</ pre >
39233944
3945+ < p > To aid with the authoring of property grammars, the following CSS
3946+ grammar productions are defined:
3947+
3948+ < dl >
3949+ < dt > < dfn id =ltselector > < var > <selector> </ var > </ dfn >
3950+
3951+ < dd > A < code > complex_selector_list</ code > .
3952+
3953+ < dt > < dfn id =ltrelative-selector > < var > <relative-selector> </ var > </ dfn >
3954+
3955+ < dd > A < code > scope_relative_selector_list</ code > .
3956+
3957+ < dt > < dfn id =ltcompound-selector > < var > <compound-selector> </ var > </ dfn >
3958+
3959+ < dd > A < code > compound_selector_list</ code > .
3960+
3961+ < dt > < dfn id =ltid-selector > < var > <id-selector> </ var > </ dfn > An
3962+ < code > id</ code > .
3963+ </ dl >
3964+
39243965 < h2 id =profiling > < span class =secno > 17. </ span > Profiles</ h2 >
39253966
39263967 < p > Each specification using Selectors must define the subset of Selectors
0 commit comments