Skip to content

Commit 709f158

Browse files
committed
[selectors] Rearrange the input pseudos.
1 parent 1c20133 commit 709f158

2 files changed

Lines changed: 147 additions & 113 deletions

File tree

selectors/Overview.html

Lines changed: 95 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -323,42 +323,54 @@ <h2 class="no-num no-toc" id=contents>Table of Contents</h2>
323323
language pseudo-class <code>:lang()</code></a>
324324
</ul>
325325

326-
<li><a href="#ui-states-pseudos"><span class=secno>11. </span> The UI
327-
states pseudo-classes</a>
326+
<li><a href="#input-pseudos"><span class=secno>11. </span> The Input
327+
Pseudo-classes</a>
328328
<ul class=toc>
329-
<li><a href="#enableddisabled"><span class=secno>11.1. </span> The
330-
<code>:enabled</code> and <code>:disabled</code> pseudo-classes</a>
329+
<li><a href="#input-states"><span class=secno>11.1. </span> Input
330+
Control States</a>
331+
<ul class=toc>
332+
<li><a href="#enableddisabled"><span class=secno>11.1.1. </span> The
333+
<code>:enabled</code> and <code>:disabled</code> pseudo-classes</a>
331334

332-
<li><a href="#placeholder"><span class=secno>11.2. </span> The
333-
placeholder-shown pseudo-class <code>:placeholder-shown</code></a>
335+
<li><a href="#rw-pseudos"><span class=secno>11.1.2. </span> The
336+
mutability pseudo-classes <code>:read-only</code> and
337+
<code>:read-write</code></a>
334338

335-
<li><a href="#checked"><span class=secno>11.3. </span> The
336-
selected-option pseudo-class <code>:checked</code></a>
339+
<li><a href="#placeholder"><span class=secno>11.1.3. </span> The
340+
placeholder-shown pseudo-class <code>:placeholder-shown</code></a>
337341

338-
<li><a href="#indeterminate"><span class=secno>11.4. </span> The
339-
indeterminate-value pseudo-class <code>:indeterminate</code></a>
342+
<li><a href="#the-default-pseudo"><span class=secno>11.1.4. </span>
343+
The default option pseudo-class <code>:default</code></a>
344+
</ul>
340345

341-
<li><a href="#the-default-pseudo"><span class=secno>11.5. </span> The
342-
default option pseudo-class <code>:default</code></a>
346+
<li><a href="#input-value-states"><span class=secno>11.2. </span> Input
347+
Value States</a>
348+
<ul class=toc>
349+
<li><a href="#checked"><span class=secno>11.2.1. </span> The
350+
selected-option pseudo-class <code>:checked</code></a>
343351

344-
<li><a href="#validity-pseudos"><span class=secno>11.6. </span> The
345-
validity pseudo-classes: <code>:valid</code> and
346-
<code>:invalid</code></a>
352+
<li><a href="#indeterminate"><span class=secno>11.2.2. </span> The
353+
indeterminate-value pseudo-class <code>:indeterminate</code></a>
354+
</ul>
347355

348-
<li><a href="#range-pseudos"><span class=secno>11.7. </span> The range
349-
pseudo-classes <code>:in-range</code> and
350-
<code>:out-of-range</code></a>
356+
<li><a href="#ui-validity"><span class=secno>11.3. </span> Input
357+
Value-checking</a>
358+
<ul class=toc>
359+
<li><a href="#validity-pseudos"><span class=secno>11.3.1. </span> The
360+
validity pseudo-classes: <code>:valid</code> and
361+
<code>:invalid</code></a>
351362

352-
<li><a href="#opt-pseudos"><span class=secno>11.8. </span> The
353-
optionality pseudo-classes <code>:required</code> and
354-
<code>:optional</code></a>
363+
<li><a href="#range-pseudos"><span class=secno>11.3.2. </span> The
364+
range pseudo-classes <code>:in-range</code> and
365+
<code>:out-of-range</code></a>
355366

356-
<li><a href="#user-pseudos"><span class=secno>11.9. </span> The
357-
user-interaction pseudo-class <code>:user-error</code></a>
367+
<li><a href="#opt-pseudos"><span class=secno>11.3.3. </span> The
368+
optionality pseudo-classes <code>:required</code> and
369+
<code>:optional</code></a>
358370

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>
371+
<li><a href="#user-pseudos"><span class=secno>11.3.4. </span> The
372+
user-interaction pseudo-class <code>:user-error</code></a>
373+
</ul>
362374
</ul>
363375

364376
<li><a href="#structural-pseudos"><span class=secno>12. </span>
@@ -2793,12 +2805,16 @@ <h3 id=the-lang-pseudo><span class=secno>10.2. </span> The language
27932805

27942806
<p class=note>Wildcard language matching is new in Level 4.
27952807

2796-
<h2 id=ui-states-pseudos><span class=secno>11. </span> The UI states
2797-
pseudo-classes</h2>
2808+
<h2 id=input-pseudos><span class=secno>11. </span> The Input Pseudo-classes</h2>
27982809

2799-
<h3 id=enableddisabled><span class=secno>11.1. </span> The <a
2810+
<p> The pseudo-classes in this section mostly apply to elements that take
2811+
user input, such as HTML’s <code>&lt;input></code> element.
2812+
2813+
<h3 id=input-states><span class=secno>11.1. </span> Input Control States</h3>
2814+
2815+
<h4 id=enableddisabled><span class=secno>11.1.1. </span> The <a
28002816
href="#enabled-pseudo"><code>:enabled</code></a> and <a
2801-
href="#disabled-pseudo"><code>:disabled</code></a> pseudo-classes</h3>
2817+
href="#disabled-pseudo"><code>:disabled</code></a> pseudo-classes</h4>
28022818

28032819
<p>The <dfn id=enabled-pseudo>:enabled</dfn> pseudo-class represents user
28042820
interface elements that are in an enabled state; such elements have a
@@ -2822,18 +2838,49 @@ <h3 id=enableddisabled><span class=secno>11.1. </span> The <a
28222838
<code>display</code> and <code>visibility</code> properties have no effect
28232839
on the enabled/disabled state of an element.
28242840

2825-
<h3 id=placeholder><span class=secno>11.2. </span> The placeholder-shown
2841+
<h4 id=rw-pseudos><span class=secno>11.1.2. </span> The mutability
2842+
pseudo-classes <a href="#read-only-pseudo"><code>:read-only</code></a> and
2843+
<a href="#read-write-pseudo"><code>:read-write</code></a></h4>
2844+
2845+
<p>An element matches <dfn id=read-write-pseudo>:read-write</dfn> if it is
2846+
user-alterable, as defined by the host language. Otherwise, it is <dfn
2847+
id=read-only-pseudo>:read-only</dfn>.
2848+
2849+
<p>For example, in HTML5 a non-disabled non-readonly
2850+
<code>&lt;input></code> element is <a
2851+
href="#read-write-pseudo"><code>:read-write</code></a>, as is any element
2852+
with the <code>contenteditable</code> attribute set to the true state. <a
2853+
href="#HTML5" rel=biblioentry>[HTML5]<!--{{HTML5}}--></a>
2854+
2855+
<h4 id=placeholder><span class=secno>11.1.3. </span> The placeholder-shown
28262856
pseudo-class <a
2827-
href="#placeholder-shown-pseudo"><code>:placeholder-shown</code></a></h3>
2857+
href="#placeholder-shown-pseudo"><code>:placeholder-shown</code></a></h4>
28282858

28292859
<p>Input elements can sometimes show placeholder text as a hint to the user
28302860
on what to type in. See, for example, the <code>placeholder</code>
28312861
attribute in <a href="#HTML5" rel=biblioentry>[HTML5]<!--{{HTML5}}--></a>.
28322862
The <dfn id=placeholder-shown-pseudo>:placeholder-shown</dfn> pseudo-class
28332863
matches an input element that is showing such placeholder text.
28342864

2835-
<h3 id=checked><span class=secno>11.3. </span> The selected-option
2836-
pseudo-class <a href="#checked-pseudo"><code>:checked</code></a></h3>
2865+
<h4 id=the-default-pseudo><span class=secno>11.1.4. </span> The default
2866+
option pseudo-class <a href="#default-pseudo"><code>:default</code></a></h4>
2867+
2868+
<p>The <dfn id=default-pseudo>:default</dfn> pseudo-class applies to the
2869+
one or more UI elements that are the default among a set of similar
2870+
elements. Typically applies to context menu items, buttons and select
2871+
lists/menus.
2872+
2873+
<p>One example is the default submit button among a set of buttons. Another
2874+
example is the default option from a popup menu. Multiple elements in a
2875+
select-many group could have multiple <a
2876+
href="#default-pseudo"><code>:default</code></a> elements, like a
2877+
selection of pizza toppings for example.
2878+
2879+
<h3 id=input-value-states><span class=secno>11.2. </span> Input Value
2880+
States</h3>
2881+
2882+
<h4 id=checked><span class=secno>11.2.1. </span> The selected-option
2883+
pseudo-class <a href="#checked-pseudo"><code>:checked</code></a></h4>
28372884

28382885
<p>Radio and checkbox elements can be toggled by the user. Some menu items
28392886
are "checked" when the user selects them. When such elements are toggled
@@ -2858,9 +2905,9 @@ <h3 id=checked><span class=secno>11.3. </span> The selected-option
28582905
<pre>:not(:checked)</pre>
28592906
</div>
28602907

2861-
<h3 id=indeterminate><span class=secno>11.4. </span> The
2908+
<h4 id=indeterminate><span class=secno>11.2.2. </span> The
28622909
indeterminate-value pseudo-class <a
2863-
href="#indetermine-pseudo"><code>:indeterminate</code></a></h3>
2910+
href="#indetermine-pseudo"><code>:indeterminate</code></a></h4>
28642911

28652912
<p>The <dfn id=indetermine-pseudo>:indeterminate</dfn> pseudo-class applies
28662913
to UI elements whose value is in an indeterminate state. For example,
@@ -2877,23 +2924,11 @@ <h3 id=indeterminate><span class=secno>11.4. </span> The
28772924
href="#indetermine-pseudo"><code>:indeterminate</code></a> even in a
28782925
static display.
28792926

2880-
<h3 id=the-default-pseudo><span class=secno>11.5. </span> The default
2881-
option pseudo-class <a href="#default-pseudo"><code>:default</code></a></h3>
2927+
<h3 id=ui-validity><span class=secno>11.3. </span> Input Value-checking</h3>
28822928

2883-
<p>The <dfn id=default-pseudo>:default</dfn> pseudo-class applies to the
2884-
one or more UI elements that are the default among a set of similar
2885-
elements. Typically applies to context menu items, buttons and select
2886-
lists/menus.
2887-
2888-
<p>One example is the default submit button among a set of buttons. Another
2889-
example is the default option from a popup menu. Multiple elements in a
2890-
select-many group could have multiple <a
2891-
href="#default-pseudo"><code>:default</code></a> elements, like a
2892-
selection of pizza toppings for example.
2893-
2894-
<h3 id=validity-pseudos><span class=secno>11.6. </span> The validity
2929+
<h4 id=validity-pseudos><span class=secno>11.3.1. </span> The validity
28952930
pseudo-classes: <a href="#valid-pseudo"><code>:valid</code></a> and <a
2896-
href="#invalid-pseudo"><code>:invalid</code></a></h3>
2931+
href="#invalid-pseudo"><code>:invalid</code></a></h4>
28972932

28982933
<p> An element is <dfn id=valid-pseudo>:valid</dfn> or <dfn
28992934
id=invalid-pseudo>:invalid</dfn> when its contents or value is,
@@ -2915,9 +2950,9 @@ <h3 id=validity-pseudos><span class=secno>11.6. </span> The validity
29152950
<code>&lt;p></code> element has no validity semantics at all, and so it
29162951
never matches either of these pseudo-classes.
29172952

2918-
<h3 id=range-pseudos><span class=secno>11.7. </span> The range
2953+
<h4 id=range-pseudos><span class=secno>11.3.2. </span> The range
29192954
pseudo-classes <a href="#in-range-psuedo"><code>:in-range</code></a> and
2920-
<a href="#out-of-range-pseudo"><code>:out-of-range</code></a></h3>
2955+
<a href="#out-of-range-pseudo"><code>:out-of-range</code></a></h4>
29212956

29222957
<p>The <dfn id=in-range-psuedo>:in-range</dfn> and <dfn
29232958
id=out-of-range-pseudo>:out-of-range</dfn> pseudo-classes apply only to
@@ -2934,18 +2969,18 @@ <h3 id=range-pseudos><span class=secno>11.7. </span> The range
29342969
menu element with a value of "E" that happens to be presented in a popup
29352970
menu that only has choices "A", "B" and "C".
29362971

2937-
<h3 id=opt-pseudos><span class=secno>11.8. </span> The optionality
2972+
<h4 id=opt-pseudos><span class=secno>11.3.3. </span> The optionality
29382973
pseudo-classes <a href="#required-pseudo"><code>:required</code></a> and
2939-
<a href="#optional-pseudo"><code>:optional</code></a></h3>
2974+
<a href="#optional-pseudo"><code>:optional</code></a></h4>
29402975

29412976
<p>A form element is <dfn id=required-pseudo>:required</dfn> or <dfn
29422977
id=optional-pseudo>:optional</dfn> if a value for it is, respectively,
29432978
required or optional before the form it belongs to can be validly
29442979
submitted. Elements that are not form elements are neither required nor
29452980
optional.
29462981

2947-
<h3 id=user-pseudos><span class=secno>11.9. </span> The user-interaction
2948-
pseudo-class <a href="#user-error-pseudo"><code>:user-error</code></a></h3>
2982+
<h4 id=user-pseudos><span class=secno>11.3.4. </span> The user-interaction
2983+
pseudo-class <a href="#user-error-pseudo"><code>:user-error</code></a></h4>
29492984

29502985
<p> The <dfn id=user-error-pseudo>:user-error</dfn> pseudo-class represents
29512986
an input element with incorrect input, but only <em>after</em> the user
@@ -2968,10 +3003,9 @@ <h3 id=user-pseudos><span class=secno>11.9. </span> The user-interaction
29683003
<p> For example, the input in the following document fragment would match
29693004
<a href="#invalid-pseudo"><code>:invalid</code></a> as soon as the page
29703005
is loaded (because it the initial value violates the max-constraint), but
2971-
it won’t match <a
2972-
href="#user-error-pseudo"><code>:user-error</code></a> until the user
2973-
significantly interacts with the element, or attempts to submit the form
2974-
it's part of.
3006+
it won't match <a href="#user-error-pseudo"><code>:user-error</code></a>
3007+
until the user significantly interacts with the element, or attempts to
3008+
submit the form it's part of.
29753009

29763010
<pre><!--
29773011
-->&lt;form>
@@ -2994,20 +3028,6 @@ <h3 id=user-pseudos><span class=secno>11.9. </span> The user-interaction
29943028
<code>:user-invalid</code> and <code>:user-omitted</code> could be used.
29953029
-->
29963030

2997-
<h3 id=rw-pseudos><span class=secno>11.10. </span> The mutability
2998-
pseudo-classes <a href="#read-only-pseudo"><code>:read-only</code></a> and
2999-
<a href="#read-write-pseudo"><code>:read-write</code></a></h3>
3000-
3001-
<p>An element matches <dfn id=read-write-pseudo>:read-write</dfn> if it is
3002-
user-alterable, as defined by the host language. Otherwise, it is <dfn
3003-
id=read-only-pseudo>:read-only</dfn>.
3004-
3005-
<p>For example, in HTML5 a non-disabled non-readonly
3006-
<code>&lt;input></code> element is <a
3007-
href="#read-write-pseudo"><code>:read-write</code></a>, as is any element
3008-
with the <code>contenteditable</code> attribute set to the true state. <a
3009-
href="#HTML5" rel=biblioentry>[HTML5]<!--{{HTML5}}--></a>
3010-
30113031
<h2 id=structural-pseudos><span class=secno>12. </span> Tree-Structural
30123032
pseudo-classes</h2>
30133033

0 commit comments

Comments
 (0)