HTML 入門

HTML イントロダクション

1. HTMLとは何か?

HTMLの正式名称は HyperText Markup Language(ハイパーテキスト・マークアップ・ランゲージ)です。
この概念を完全に理解するために、名前を3つのパーツに分解して詳しく見ていきましょう。

1.1 ハイパーテキスト (HyperText)

HTMLにおける「ハイパーテキスト」とは、リンクを含んだテキストのことを指します。

  • 従来のテキスト: 最初から最後まで順番に読むことしかできません(線形な読解)。
  • ハイパーテキスト: リンクをクリックすることで、いつでも他の情報へジャンプできます(非線形な読解)。この「ジャンプ」する能力こそが、ワールド・ワイド・ウェブ(World Wide Web)を一つに繋ぎ合わせている核心です。

       日常生活の例1:Wikipedia Wikipediaを見ているとき、多くの青い文字(リンク)に気づくはずです。それらをクリックすると、別の関連記事に飛びます。これがハイパーテキストであり、固定された読み方ではなく、自由な探索を可能にします。

       日常生活の例2:オンラインの銀行明細 ネット上で取引履歴を確認している際、特定の取引をクリックすると詳細ページへ移動します。この「リスト」から「詳細」への遷移も、ハイパーテキストの機能によるものです。

1.2 マークアップ (Markup)

「マークアップ」とは、コンテンツに注釈を付けたり、構造を定義したりすることを指します。
HTMLでは、要素(Elements)属性(Attributes)と呼ばれる特殊なコードを使用して、ブラウザに「このコンテンツが何であるか」を伝えます。

注意点: あなたがブラウザに伝えているのは「これは何か」(例:これは見出しである)ということであり、「これがどのように見えるべきか」ではありません。見た目の制御は CSS の役割です。

       日常生活の例:編集者の校正 コンピュータが普及する前、作家が原稿を編集者に渡すと、編集者は紙の上に赤ペンで「ここはタイトル」「ここは太字」「ここは新しい段落」と「マークアップ(指示)」を書き込みました。これらのマークは物語の一部ではなく、印刷担当者に物語をどう配置するかを伝えるためのものです。HTMLがブラウザに対して果たす役割もこれと同じです。

       日常生活の例:買い物リスト 「野菜類」「乳製品」「穀物」といった分類ラベルが付いたリストを想像してください。これらの分類ラベルが「マークアップ」であり、リストに構造と意味を与えています。

1.3 言語 (Language)

HTMLが「言語」と呼ばれるのは、特定のルール、構文(Syntax)、そしてキーワードのセットを持っているからです。

これは、Chrome、Edge、Safariといったすべてのウェブブラウザに共通する「母国語」です。人間が共通の言語を使って意思疎通を図るように、開発者とブラウザはHTMLを使ってコミュニケーションをとります。

2. HTMLはどのように動作するのか?

HTMLはウェブページを作成するための基盤です。ブラウザにURLを入力してエンターキーを押したとき、舞台裏では一連のプロセスが動いています。

2.1 シンプルな「リクエスト・レスポンス」プロセス

  1. あなた(クライアント)がリクエストを送信: ブラウザがインターネットの向こう側にあるサーバーにリクエストを送ります。「このURLのページを見せてください」。
  2. サーバーのレスポンス: サーバーは対応するHTMLファイル(および関連する画像やスタイルシートなど)を見つけ出し、ブラウザに送り返します。
  3. ブラウザが翻訳とレンダリングを実行: ブラウザはファイルを受け取ると、まずHTMLを読み取ります。「マークアップ」を解釈して、ページの構造(どこが見出しで、どこが段落か)を理解します。その後、CSS(ビジュアル担当)と JavaScript(インタラクション担当)を組み合わせ、完成したウェブページを画面に表示(レンダリング)します。

2.2 重要な役割分担:HTMLは「構造」のみを担当

  • HTML (原材料): 構造とコンテンツを定義(これは見出し、あれは画像)。
  • CSS (盛り付けと装飾): 表現を担当(見出しは赤色、画像は右側に配置)。
  • JavaScript (振る舞いの指示): インタラクションを担当(ボタンをクリックしたらウィンドウを表示)。

2.3 DOM(ドキュメントオブジェクトモデル)—— 基本概念

ブラウザがHTMLを読み込む際、メモリ内にページを一つの「ツリー(木)」として構築します。これを DOM と呼びます。HTML内の各タグ(見出しや段落など)は、このツリー上の「ノード」となります。これにより、ブラウザはページの内容を効率的に管理できます。

現時点では、「HTMLはこのツリーを作るための原材料である」と理解しておけば十分です。

3. HTMLのコアコンポーネントを理解する

コードを書き始める前に、HTMLの2つの核心的な概念である「要素」と「属性」を理解しておく必要があります。

3.1 要素 (Elements):ウェブページの積み木

要素はコンテンツをマークアップし、それに意味を与えるために使用されます。
概念的には、一つの要素は通常 開始タグ + コンテンツ + 終了タグ で構成されます。

  • 役割: ウェブページ上の異なるタイプのコンテンツを定義します。
  • 例(概念的):
    • メイン見出し要素: ブラウザに「これはページで最も重要な見出しである」と伝えます。
    • 段落要素: ブラウザに「これは一塊の文章である」と伝えます。
    • 画像要素: ブラウザに「ここに画像を配置する」と伝えます。

要素は、異なる種類の容器やラベルステッカーのようなものだと考えてください。

3.2 属性 (Attributes):追加情報の提供

属性は要素の中に記述される補足情報であり、より詳細なデータを提供するために使用されます。

  • 役割: 要素をより具体的にし、必要な情報を提供します。
  • 例(概念的):
    • 画像要素の場合: ブラウザに「画像のソース(ファイルパス)はどこか」を伝える属性が必要です。
    • リンク要素の場合: 「クリックした後のジャンプ先URL」を指定する属性が必要です。
    • 段落要素の場合: その特定の文章に固有の名前を付けるために「ID属性」を与えることがあります。

要素が「ドア」だとしたら、属性はそのドアが「木製である」とか「赤色である」といった詳細を教えてくれる情報です。

4. HTML発展史一覧

年代出来事
1989ティム・バーナーズ=リー (Tim Berners-Lee) がワールド・ワイド・ウェブ (WWW) を発明
1991ティム・バーナーズ=リーが HTML を発明
1993デイブ・ラゲット (Dave Raggett) が HTML+ を起草
1995HTML Working Group が HTML 2.0 を定義
1997W3C 勧告:HTML 3.2
1999W3C 勧告:HTML 4.01
2000W3C 勧告:XHTML 1.0
2008WHATWG が HTML5 の最初の公開草案を発表
2012WHATWG が HTML5 を現行標準 (Living Standard) として確立
2014W3C 勧告:HTML5
2016W3C 勧告候補:HTML 5.1
2017W3C 勧告:HTML 5.1 第2版
2017W3C 勧告:HTML 5.2
2019W3C と WHATWG が合意に達し、独自の HTML 開発を停止。WHATWG の HTML Living Standard を唯一の権威あるバージョンとして共同メンテナンスすることに決定。
2021W3C 勧告:W3C が正式に WHATWG の HTML Living Standard(査読草案)を W3C 勧告として承認し、両組織による HTML 標準の完全な統一が実現。
現在HTML は Living Standard(現行標準) として絶えず更新される状態にあり、公式に新しいメジャーバージョン番号(HTML6 など)が発行されることはなくなりました。