1 Accessibility & ARIA
Prefer native semantic elements; add ARIA only to fill gaps. Use aria-label, role and manage focus. Every interactive control must be keyboard reachable and labelled.
<button aria-label="Close dialog">✕</button>
<nav role="navigation" aria-label="Primary">
<a href="#">Home</a>
</nav>