---
title: "Mobile-friendly form inputs"
category: accessibility
status: recommended
url: https://webspecification.com/spec/accessibility/mobile-form-inputs/
updated: "2026-06-08T00:00:00.000Z"
sources:
- title: "HTML Living Standard — The inputmode attribute"
url: "https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute"
publisher: "WHATWG"
- title: "HTML Living Standard — The enterkeyhint attribute"
url: "https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-enterkeyhint-attribute"
publisher: "WHATWG"
- title: "MDN — : types"
url: "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types"
publisher: "MDN"
- title: "MDN — text-size-adjust"
url: "https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-size-adjust"
publisher: "MDN"
source_repo: undefined
licence: CC-BY-4.0
---
# Mobile-friendly form inputs
> On a phone, the right input type, inputmode, and enterkeyhint summon the correct on-screen keyboard and a useful Enter key. Keep input text at 16px or larger so iOS Safari doesn't zoom on focus.
## What it is
On a touch device, every text field summons an on-screen keyboard. Four attributes decide which keyboard appears and how forgiving it is — and one CSS rule decides whether focusing the field yanks the whole page into a zoom.
```html
```
- **`type`** sets semantics, validation, and the default keyboard (`email`, `tel`, `url`, `number`, `search`, `date`…).
- **`inputmode`** tunes the keyboard layout without changing validation — e.g. `numeric` for a one-time code where `type="number"` would wrongly add a spinner and reject leading zeros.
- **`enterkeyhint`** labels the Enter key: `search`, `go`, `next`, `send`, `done`.
- **`autocapitalize` / `autocorrect` / `spellcheck`** stop the keyboard "fixing" emails, usernames, codes, and search queries.
## Why it matters
The wrong keyboard turns a one-tap entry into a hunt. A phone number on a full QWERTY keyboard makes the user switch to the numeric layer; a `type="email"` field puts `@` and `.` on the primary keyboard automatically. An Enter key that says **Go** or **Search** tells the user the form will submit, instead of leaving them guessing whether Return inserts a newline.
These attributes also help beyond mobile. Correct `type` and `autocomplete` let every platform's password manager and autofill recognise the field, which reduces typos and abandoned forms — a measurable benefit for users with motor or cognitive disabilities, and the reason [form labels](/spec/accessibility/form-labels/) and `autocomplete` tokens matter for WCAG 1.3.5.
**The 16px rule:** iOS Safari automatically zooms in when the user focuses an ``, `