Digital design,
3. semester
Deal-breaker
Why UX matters a whole lot
Login
Search
Facebook post
<label>
<label>
form lingo
<form>
</form>
<form>
<label>Label</label>
</form>
<form>
<label>Label</label>
<input>
</form>
<form>
<label>Label</label>
<input>
<button>Submit button</button>
</form>
<form>
<label>Label</label>
<input>
<button>Submit button</button>
</form>
Label
Submit button
<form>
<label for="full-name">Full name</label>
<input
id="full-name"
name="fname"
type="text">
<label for="email">Email</label>
<input
id="email"
name="email"
type="email">
<button>Submit</button>
</form>
Full name
Submit
Loading...
<button>Send data</button> <!-- default is submit -->
<button type="button">Send data</button> <!-- override the default -->
Loading...
<input type="checkbox" id="my-id">
<label for="my-id">Whole row</label>
Describe every form control with a <label> rather than using some other HTML element. This makes the form control accessible to screen readers, and provides a bigger target, since you can tap or click the label to set focus on the control.
<input type="checkbox" id="my-id">
<label for="my-id">Whole row</label>
<input type="checkbox" id="my-id">
<label for="my-id">Whole row</label>
<label for="my-id">
<input id="my-id" type="checkbox">
Whole row
</label>
<input type=" ">
text
number
radio
checkbox
tel
date
<input type=" ">
text
number
radio
checkbox
tel
date
Single line text field
<input type=" ">
text
number
radio
checkbox
tel
date
Numbers
<input type=" ">
text
number
radio
checkbox
tel
date
<input type=" ">
text
number
radio
checkbox
tel
date
Radio button
<input type=" ">
text
number
radio
checkbox
tel
date
Checkbox
<input type=" ">
text
number
radio
checkbox
tel
date
Phone number
<input type=" ">
text
number
radio
checkbox
tel
date
Date
<form>
<fieldset>
<legend>Choose your interests</legend>
<div class="form-control">
<input type="checkbox" id="coding" name="interest" value="coding" checked>
<label for="coding">Coding</label>
</div>
<div class="form-control">
<input type="checkbox" id="music" name="interest" value="music">
<label for="music">Music</label>
</div>
</fieldset>
</form>
<label>
<input type="checkbox">
Whole row
</label>
Placeholders as labels
It's difficult to remember what information belongs in a field, and to check for and fix errors
— nngroup
input {
appearance: none;
...
}
/* Checked state */
input:checked::before {
...
}
Remove browser styles
Style custom checkmark with pseudo-elements