HTML Academy · レッスン

PEの理念:HTMLから始める

HTML優先の設計があらゆる人のアクセスを可能にする理由を理解します

レッスン 1/413 ステップ

「PEの理念:HTMLから始める」はCoddyKit上の無料HTML Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHTML Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 HTML Academyコースには全4レッスンが含まれています。

プログレッシブエンハンスメントの定義

プログレッシブエンハンスメント(PE)とは、まずHTMLだけで利用可能な体験を構築し、その上に表示のためのCSS、インタラクティブ性のためのJavaScriptを重ねていく手法です。それぞれのレイヤーが前のレイヤーを強化しますが、ページが動作するために必須のレイヤーはありません。

なぜHTMLから始めるのか

HTMLは最も堅牢なレイヤーです。構文が不正でも部分的に解析され、理解できないタグは無視され、スクリプトやスタイルシートがなくても動作します。一方、CSSファイルがないと見た目が劣化し、JSバンドルが壊れるとページが使えなくなる可能性があります。

3つのレイヤー

コンテンツ(HTML)、表示(CSS)、動作(JS)です。送信ボタンは実際の<button type="submit">です。JSが失敗してもフォームは送信されます。CSSで見た目を整え、JSでAJAXのために送信を横取りすることはできますが、基盤となるHTMLがその動作を保証します。

<form action="/checkout" method="post">
  <input name="email" type="email" required>
  <button type="submit">Continue</button>
</form>

障害への耐性

ネットワークが切断されることがあります。スクリプトの読み込みに失敗することもあります。ユーザーがJSを無効にする場合もあります。接続が遅いと、バンドルが届く前にタイムアウトすることもあります。PEのページは、これらの状況すべてで適切に機能を縮退させます。ユーザーはHTMLだけで読み、移動し、送信できます。

パフォーマンス上の利点

スクリプトの読み込み前に利用可能なHTMLを表示するページは、First Contentful Paintが速く、Time to Interactiveが短くなり、Core Web Vitalsのスコアも向上します。ブラウザーはJSの起動を待たずに意味のあるコンテンツを表示できます。

アクセシビリティ上の利点

本物のHTML要素にはアクセシビリティ機能が組み込まれています。<button>はキーボードで操作でき、<input type="email">には適切な仮想キーボードが表示され、<a>はスクリーンリーダーによってリンクとして読み上げられます。PEなら、アクセシブルなデフォルトを追加コストなしで実現できます。

SEO上の利点

検索エンジンのクローラーは、JavaScriptを実行しなくても解析できるHTMLを好みます。PEで構築したページはJSを実行しなくても完全にインデックスされますが、SPAのみのページはクローラーのスクリプト対応に依存するため、コンテンツが見落とされることがよくあります。

PEとSPA

シングルページアプリケーションはすべてをクライアント側で描画するため、JSが失敗すると完全に機能しなくなります。PEはその反対です。サーバーが完全なHTMLを生成し、JSはプリフェッチ、楽観的更新、インプレース編集などの拡張を追加しますが、基本機能を担うことはありません。

PEを促進するフレームワーク

Remix、Next.js Server Components、SvelteKit、Astroはいずれも、サーバーで描画したHTMLと段階的なJS拡張を優先する設計です。このようなフレームワークを選ぶと、PEが最も自然な開発方針になります。

PEが難しい場合

非常にインタラクティブなUI(共同編集エディター、描画アプリ、リアルタイムゲームなど)は、JSなしでは意味のある形で存在できません。このようなアプリの「JSなしのフォールバック」は、静的な読み取り専用モードになるかもしれません。何もないよりはよいものの、機能は必然的に制限されます。トレードオフを正直に見積もってください。

基本方針

「まず動かし、次に見た目を整え、その後で高速化する」です。最初にHTMLフォームを構築し、curlで動作することを確認します。次にレイアウト用のCSSを追加します。その後、インプレース検証、楽観的更新、AJAX送信のためのJSを追加します。それぞれのレイヤーは任意であり、組み合わせることで誰にとっても優れた体験になります。

理解度チェック

プログレッシブエンハンスメントの中核となる約束は何ですか。

まとめ

プログレッシブエンハンスメントは、CSSやJSがなくても動作するセマンティックHTMLから始め、表示のためのCSS、インタラクティブ性のためのJSを重ねていきます。それぞれのレイヤーは任意であり、障害が発生してもページは適切に機能を縮退させます。PEはパフォーマンス、アクセシビリティ、SEO、堅牢性に優れますが、インタラクティブ性の高いアプリでは事前の設計作業が増えます。

無料で開始

AI チューターと学ぶ HTML — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
40
レッスン
159

よくある質問

「PEの理念:HTMLから始める」レッスンは無料ですか?

はい。「PEの理念:HTMLから始める」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、HTML Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 HTML Academyコースには全4レッスンが含まれています。

「PEの理念:HTMLから始める」で何を学びますか?

HTML優先の設計があらゆる人のアクセスを可能にする理由を理解します ブラウザで直接実行するハンズオンコードでHTML Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

HTML Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのHTML Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「PEの理念:HTMLから始める」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このHTML Academyレッスンでコードを書いて実行できますか?

はい。すべてのHTML Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. PEの理念:HTMLから始める
  2. 機能検出とブラウザー判定の比較
  3. グレースフルデグラデーションとプログレッシブエンハンスメント
  4. PEアコーディオンの作成
← HTML Academyに戻る