<input type="…">
Every input, as your browser draws it and your keyboard types it.
Seventeen input types carry a value. Here they all are, rendered natively — open this page on a phone and tap each one to see which keyboard it brings up, then check exactly what a form would submit.
Text
- value
- —
- value
- —
- value
- —
- value
- —
- value
- —
- value
- —
Numeric
- value
- —
- value
- —
Date & time
- value
- —
- value
- —
- value
- —
- value
- —
- value
- —
Choice
checkbox
- value
- —
- checked
- false
- value
- —
- checked
- —
Special
- value
- —
- value
- —
- files
- —
Private
Nothing you type leaves the page. No request, no storage, no analytics — reload and every field is empty again.
Unstyled controls
Every control is the browser's own, styled no further than a border — so the widget you see and the keyboard you get are exactly what the platform ships.
Native validation
Every warning comes from ValidityState — the same constraint API the browser uses to block a form submit.