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