HTML

プログラミング言語 | IT用語集

この用語をシェア

概要

HTML(HyperText Markup Language)は、Webページの構造と内容を定義するマークアップ言語です。1990年代初頭にティム・バーナーズ=リーによって開発され、World Wide Webの基盤技術として現在まで進化を続けています。

HTMLは、テキスト、画像、リンク、フォームなどの要素を組み合わせてWebページを作成し、ブラウザがこれを解釈して視覚的に表示します。現在の最新バージョンはHTML5で、セマンティックな要素やマルチメディア対応が大幅に強化されています。

基本的な使い方

HTMLは「タグ」と呼ばれる記号を使って文書の構造を記述します。以下が基本的なHTMLドキュメントの例です:

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>私のWebページ</title>
</head>
<body>
    <header>
        <h1>ようこそ私のサイトへ</h1>
        <nav>
            <ul>
                <li><a href="#about">について</a></li>
                <li><a href="#contact">お問い合わせ</a></li>
            </ul>
        </nav>
    </header>
    
    <main>
        <section id="about">
            <h2>私について</h2>
            <p>こんにちは!私は<strong>Web開発者</strong>です。</p>
            <img src="profile.jpg" alt="プロフィール写真">
        </section>
    </main>
    
    <footer>
        <p>© 2025 私のWebサイト</p>
    </footer>
</body>
</html>

実践例:セマンティックHTMLとフォーム

単に画面に表示するだけでなく、意味のある要素(セマンティック要素)を選んで使うことで、SEOやアクセシビリティが向上します。以下はフォームとセマンティック要素を組み合わせた例です。

<article>
    <h2>お問い合わせフォーム</h2>
    <form action="/contact" method="post">
        <label for="name">お名前</label>
        <input type="text" id="name" name="name" required
               aria-describedby="name-help">
        <p id="name-help">フルネームでご入力ください</p>

        <label for="email">メールアドレス</label>
        <input type="email" id="email" name="email" required>

        <fieldset>
            <legend>お問い合わせ種別</legend>
            <input type="radio" id="sales" name="type" value="sales">
            <label for="sales">営業に関する質問</label>
            <input type="radio" id="support" name="type" value="support">
            <label for="support">サポートに関する質問</label>
        </fieldset>

        <button type="submit">送信する</button>
    </form>
</article>

<fieldset><label>aria-describedby属性を適切に使うことで、スクリーンリーダー利用者にも意図が正しく伝わるフォームになります。required属性はJavaScriptなしでも基本的な入力チェックを行える点も実務上のメリットです。

主な機能

  • セマンティック要素:header、nav、main、section、articleなど、意味を持つ要素でページ構造を明確化
  • フォーム機能:input、select、textareaなどでユーザーからの入力を受け付け
  • マルチメディア対応:audio、video要素でメディアファイルの埋め込みが可能
  • アクセシビリティ:alt属性、role属性などで障害者対応を支援
  • メタデータ:SEO対策やソーシャルメディア対応のためのmeta要素
  • Canvas要素:JavaScript と組み合わせて動的なグラフィックスを描画
  • Web Storage:localStorageやsessionStorageでクライアント側にデータを保存

メリット

  • 習得が容易:プログラミング経験がなくても比較的短期間で基本を身につけられる
  • ブラウザ標準:すべての主要ブラウザで標準サポートされており、互換性が高い
  • 検索エンジン最適化:適切なHTMLマークアップはSEO効果を高める
  • アクセシビリティ:正しいHTMLは様々なデバイスや支援技術での利用を可能にする
  • レスポンシブ対応:meta viewport要素などでモバイル対応が容易
  • 将来性:Web技術の根幹として継続的に進化・発展している
  • コスト効率:無料で利用でき、特別なソフトウェアを必要としない

デメリット・注意点

  • 単体では動きや装飾を持たない:見た目や動的な挙動を実現するには、必ずCSSやJavaScriptとの組み合わせが必要です。
  • ブラウザ間の解釈の差異:新しい要素・属性は対応ブラウザにばらつきがあり、フォールバック設計が必要になる場合があります。
  • マークアップの乱れによる保守性低下:div/spanを多用した「非セマンティックな」構造は、後からの保守やSEO・アクセシビリティ対応を難しくします。
  • セキュリティ上の注意:ユーザー入力をそのままHTMLに埋め込むとXSS(クロスサイトスクリプティング)の脆弱性につながるため、適切なエスケープ処理が必須です。

HTML vs XML vs Markdown:類似技術との違い

項目 HTML XML Markdown
主な目的 Webページの構造・表示定義 汎用的なデータの構造化・交換 読みやすい軽量マークアップでの文書作成
タグの自由度 定義済みタグのみ使用可能 独自タグを自由に定義可能 タグを使わずシンプルな記法
実行環境 Webブラウザが直接レンダリング パーサーによる読み込みが前提 多くの場合HTMLに変換して表示
主な用途 Webサイト・Webアプリの画面 設定ファイル、SOAP API、RSS READMEやドキュメント、ブログ執筆

実務での活用シーンと導入時の注意点

  • SEOを意識したマークアップ:h1〜h6の見出し階層を正しく使い、1ページに1つのh1を配置することが検索エンジン評価の基本です。
  • アクセシビリティ対応:画像には必ずalt属性を付け、フォーム要素にはlabelを紐付けることで、スクリーンリーダー利用者や検索エンジンへの情報伝達が向上します。
  • 構造化データの併用:JSON-LD等の構造化データを併用することで、検索結果でのリッチリザルト表示につながります。
  • CMS・フレームワークとの整合性:WordPress等のCMSやReact等のフレームワークを使う場合も、出力される最終的なHTMLがセマンティックであるかを確認することが重要です。

関連技術

HTMLは以下の技術と密接に連携してWebサイトを構築します:

  • CSS(Cascading Style Sheets):HTMLの見た目やレイアウトをスタイリング
  • JavaScript:動的な機能やインタラクションを実装
  • HTTP/HTTPS:Webサーバーとの通信プロトコル
  • DOM(Document Object Model):HTMLをプログラムから操作するためのAPI
  • Web API:Geolocation、Web Workers、Service Workersなどの拡張機能
  • フレームワーク:React、Vue.js、Angularなどのモダンな開発フレームワーク
  • CMS:WordPress、Drupalなどのコンテンツ管理システム

2025-2026年の最新動向

popover属性がネイティブサポートされ、JavaScript不要でポップオーバーUIを実装可能に。dialog要素のモーダル・非モーダル対応も全主要ブラウザで安定化しています。

Declarative Shadow DOMによりサーバーサイドでのWeb Components描画が可能に。Speculation Rules APIでプリレンダリング・プリフェッチが宣言的に制御でき、ページ遷移の体感速度が向上します。

アクセシビリティ面ではARIA改善inert属性による非インタラクティブ領域の制御が普及しています。

関連用語

  • CSS - HTMLのデザイン・レイアウト
  • JavaScript - HTMLの動的制御
  • React - UIコンポーネントライブラリ
  • Bootstrap - HTML/CSSフレームワーク
  • Tailwind CSS - ユーティリティCSS

外部リンク

よくある質問(FAQ)

Q. HTMLとは?

Webページの構造を定義するマークアップ言語です。タグで要素を記述し、CSSとJavaScriptと組み合わせてWebサイトを構築します。

Q. HTMLの最新バージョンは?

HTML Living Standard(WHATWG策定)が現在の標準です。dialog要素、popover属性等が順次追加されています。

Q. 2025-2026年の最新動向は?

popover属性、Declarative Shadow DOM、Speculation Rules API、アクセシビリティ強化が主要トレンドです。

Q. HTMLとXMLの違いは何ですか?

HTMLはWebページ表示のための定義済みタグを使う言語で、XMLは独自タグを自由に定義できる汎用的なデータ記述言語です。用途が異なり、XMLは設定ファイルやデータ交換フォーマットとして使われることが多いです。

Q. セマンティックHTMLはなぜ重要ですか?

header・nav・article等の意味を持つ要素を使うことで、検索エンジンがページ構造を正しく理解しやすくなり、スクリーンリーダー等の支援技術との互換性も向上します。SEOとアクセシビリティ両面でメリットがあります。

この用語についてもっと詳しく

HTMLに関するご質問や、システム導入のご相談など、お気軽にお問い合わせください。