checkout_form.html en HTML
Un checkout: campos agrupados, los tokens de autocomplete correctos y errores unidos a sus inputs.
<form action="/checkout" method="post" class="checkout">
<h1>Checkout</h1>
<fieldset>
<legend>Contact</legend>
<div class="field">
<label for="email">Email</label>
<input type="email" id="email" name="email" required
autocomplete="email" aria-describedby="email-hint">
<p id="email-hint" class="hint">The receipt goes here.</p>
</div>
<div class="field">
<label for="phone">Phone (optional)</label>
<input type="tel" id="phone" name="phone" autocomplete="tel"
inputmode="tel">
</div>
</fieldset>
<fieldset>
<legend>Delivery address</legend>
<div class="field">
<label for="name">Full name</label>
<input type="text" id="name" name="name" required
autocomplete="name">
</div>
<div class="field">
<label for="line1">Address</label>
<input type="text" id="line1" name="line1" required
autocomplete="address-line1" aria-invalid="true"
aria-describedby="line1-error">
<p id="line1-error" class="error" role="alert">
Enter a street and a number.
</p>
</div>
<div class="field">
<label for="city">City</label>
<input type="text" id="city" name="city" required
autocomplete="address-level2">
</div>
<div class="field">
<label for="postcode">Postcode</label>
<input type="text" id="postcode" name="postcode" required
autocomplete="postal-code" inputmode="numeric"
pattern="[0-9]{5}" title="Five digits">
</div>
<div class="field">
<label for="country">Country</label>
<select id="country" name="country" autocomplete="country">
<option value="GB">United Kingdom</option>
<option value="US" selected>United States</option>
</select>
</div>
</fieldset>
<fieldset>
<legend>Delivery speed</legend>
<label><input type="radio" name="speed" value="standard" checked>
Standard, 3 days</label>
<label><input type="radio" name="speed" value="express">
Express, tomorrow</label>
</fieldset>
<label>
<input type="checkbox" name="terms" value="yes" required>
I have read the <a href="/terms">terms</a>
</label>
<footer class="actions">
<button type="submit">Pay now</button>
<button type="submit" formaction="/basket" formnovalidate>
Back to basket
</button>
</footer>
</form>
Cómo funciona
- Cada fieldset es una sola idea, con un legend que la nombra.
- Los tokens de autocomplete son lo que deja al navegador llenar todo.
- El texto de error se conecta con
aria-describedby, no solo se pone cerca.
El intento, en números
- Líneas
- 81
- Caracteres a escribir
- 2066
- Tokens
- 511
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 383 segundos.
Paso 2 de 2 en Bis; paso 25 de 25 en Formularios y entradas.