One of the big themes in CSE 134B is progressive enhancement.
Start with HTML
- Make sure the page works with just HTML.
- Forms should still submit and be readable even if JS is off.
Add CSS
- Use CSS to make the page look better and easier to use.
- Avoid layout shifts when validation messages appear.
Layer on JavaScript
- Only then add JS features like live validation, character counters, or theme toggles.
- If JS fails, the core experience is still intact.
This Astro site follows the same idea: content and navigation work without requiring any client-side JavaScript.