WPT
wpt / html / semantics / forms / textfieldselection / selection-not-application.html?default
Spec: HTML ↗
Runs: Chrome 155.0.8041.0 (wpt@2c385f65e, 2026-09-04) | Firefox 157.0a1 (wpt@2c385f65e, 2026-09-04) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a7825 (wpt@2c385f65e, 2026-09-04) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 183/183 | 183/183 | 183/183 | 183/183 | 183/183 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| selectionStart on an input[type=hidden] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=hidden] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=hidden] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=hidden] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=hidden] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=hidden] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=hidden] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=hidden] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=email] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=email] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=email] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=email] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=email] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=email] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=email] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=email] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=datetime-local] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=datetime-local] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=datetime-local] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=datetime-local] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=datetime-local] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=datetime-local] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=datetime-local] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=datetime-local] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=date] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=date] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=date] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=date] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=date] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=date] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=date] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=date] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=time] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=time] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=time] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=time] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=time] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=time] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=time] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=time] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=number] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=number] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=number] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=number] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=number] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=number] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=number] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=number] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=range] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=range] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=range] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=range] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=range] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=range] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=range] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=range] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=color] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=color] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=color] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=color] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=color] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=color] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=color] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=color] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=checkbox] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=checkbox] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=checkbox] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=checkbox] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=checkbox] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=checkbox] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=checkbox] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=checkbox] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=radio] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=radio] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=radio] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=radio] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=radio] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=radio] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=radio] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=radio] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=file] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=file] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=file] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=file] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=file] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=file] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=file] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=file] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=submit] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=submit] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=submit] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=submit] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=submit] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=submit] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=submit] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=submit] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=image] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=image] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=image] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=image] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=image] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=image] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=image] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=image] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=reset] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=reset] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=reset] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=reset] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=reset] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=reset] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=reset] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=reset] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=button] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=button] returns null | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=button] returns null | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=button] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=button] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=button] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=button] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=button] throws InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=text] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=text] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=text] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection "none" on an input[type=text] should give the initial direction | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=text] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=text] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=text] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=text] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=text] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=search] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=search] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=search] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection "none" on an input[type=search] should give the initial direction | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=search] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=search] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=search] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=search] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=search] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=tel] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=tel] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=tel] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection "none" on an input[type=tel] should give the initial direction | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=tel] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=tel] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=tel] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=tel] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=tel] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=url] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=url] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=url] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection "none" on an input[type=url] should give the initial direction | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=url] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=url] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=url] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=url] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=url] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=password] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=password] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=password] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection "none" on an input[type=password] should give the initial direction | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=password] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=password] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=password] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=password] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=password] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=aninvalidtype] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=aninvalidtype] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=aninvalidtype] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection "none" on an input[type=aninvalidtype] should give the initial direction | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=aninvalidtype] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=aninvalidtype] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=aninvalidtype] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=aninvalidtype] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=aninvalidtype] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| selectionStart on an input[type=null] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionEnd on an input[type=null] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| selectionDirection on an input[type=null] returns a value | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection "none" on an input[type=null] should give the initial direction | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionStart on an input[type=null] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionEnd on an input[type=null] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| assigning selectionDirection on an input[type=null] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setRangeText on an input[type=null] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |
| setSelectionRange on an input[type=null] doesn't throw an exception | PASS | PASS | PASS | PASS | PASS | — |