The 4 practical rules
- Every image has descriptive
alt(empty if decorative). - Every input has an associated
<label>. - Everything reachable by keyboard, with a visible focus ring.
- AA contrast on text (at least 4.5:1).
Examples
<img src="logo.svg" alt="">
<label for="email">Email</label>
<input id="email" type="email">
<button>Send</button>
Test with axe DevTools, Lighthouse, and — the real test — using only the Tab key.