TL;DR

できるだけ多くのユーザに、不可欠なコンテンツと機能を基本として提供する設計思想。そのうえで、必要なコードをすべて実行できる新しいブラウザのユーザにだけ、最高の体験を提供する。

仕組み

MDN では次のように説明している。

古いブラウザーや機能の限られた端末のユーザーには、よりシンプルでありながら良い使い勝手を実現
新しいブラウザーや機能が豊富な端末のユーザーには、より魅力的で充実したものへ使い勝手を進化させる

例

React(Next.js)の Server Actions や、SvelteKit の Form actions がこの考え方で作られている。どちらも、JavaScript を使わない(または無効な)状態でも <form> の本質的な機能を損なわない。具体的には、action 属性を渡すことで、ハイドレーションの前でもフォームを送信できる。必要に応じて、ハイドレーションの後にクライアント側のバリデーションのような、より豊かな操作を加えられる。

関連

出典