HTML Living Standard

HTML Living Standard(HTMLリビング・スタンダード)とは、ウェブページの記述言語である HTML の現在の公式な仕様(標準規格)のことです。

これは、ブラウザ開発者によって設立された団体である WHATWG (Web Hypertext Application Technology Working Group) によって策定・管理されています。

主な特徴

  • 「生きている」規格 (Living Standard):
    • 従来のHTML5のように「バージョン5.0」「バージョン5.1」といった区切りで固定されるのではなく、常に最新の状態に更新され続けるという特徴を持っています。
    • ウェブ技術やブラウザの実装に合わせて、要素やAPIの追加・変更が継続的に行われます。
  • 現在の標準規格:
    • かつてはW3C(World Wide Web Consortium)がHTML5の規格を定めていましたが、2021年にHTMLの標準化はWHATWGに一本化され、HTML Living Standardが唯一のHTMLの標準仕様となりました。
  • 実用性重視:
    • ブラウザベンダー(Apple、Mozilla、Googleなど)が中心となって策定しているため、実際のブラウザ実装やウェブ開発での実用性を重視しています。
  • HTML5との関係:
    • HTML Living Standardは、実質的にHTML5の後継であり、その仕様を引き継いでいます。
    • したがって、基本的なHTMLの記述方法(タグの書き方など)はHTML5とほとんど変わりません。主に、要素や属性の追加・変更・廃止といった細かなアップデートが継続的に行われています。

ウェブ開発者が現在「HTML」という場合、この「HTML Living Standard」の仕様に基づいたものを指します。

HTMLタグリファレンス

HTML Living Standard」の仕様に基づいたHTMLタグリファレンスを、要素の主な機能別にご紹介します。

HTML Living Standardは、HTMLの最新かつ継続的に更新される標準規格であり、ここに記載されている要素はすべて現在のウェブ開発で推奨されています。

HTMLは、ほとんど単語の頭文字や頭から数文字をとった略称になっています。そのままアルファベットを読んだり、単語を読んだりすれば良いのですが、複数の単語が組み合わさっている「href」や「iframe」といった頭の人文字だけアルファベットを読んで、残りは単語で読むという特殊な例もあります。

間違えた読み方で恥ずかしい思いをしないように正しい読み方でちゃんと覚えましょうね。

・ドキュメントの構造とメタデータ

要素名読み方(一般的)英語表記の略概要(用途)備考
<html>エイチティーエムエルHyperText Markup LanguageHTML文書のルート(根元)要素。lang属性で言語を指定。
<link>リンクLink外部リソース(CSS、ファビコンなど)を文書と関連付ける。
<meta>メタMetadata文字エンコーディングやビューポート設定などのメタデータ。
<style>スタイルStyle文書にCSSスタイルを埋め込む。外部ファイル参照が推奨。

・セクショニング(章立て)
セマンティックな(意味的な)構造を定義するための要素です。

要素名読み方(一般的)英語表記の略概要(用途)備考
<article>アーティクルArticle自己完結したコンテンツ(ブログ記事、ニュース記事など)。
<section>セクションSection一般的なセクション(章、節)。見出し要素(<h1><h6>)を含むべき。
<main>メインMain文書の主要なコンテンツ。文書内に一つだけ配置すべき。
<footer>フッターFooter文書またはセクションのフッター部分(著作権情報、連絡先など)。
<address>アドレスAddress文書または<article>の連絡先情報。
<h1><h6>エイチワン?エイチシックスHeading 1?6見出し(大見出しから小見出し)。適切なレベルで階層化する。

・コンテンツのグループ化

要素名読み方(一般的)英語表記の略概要(用途)備考
<p>ピー または パラグラフParagraph段落。
<hr>エイチアールHorizontal Ruleテーマの区切り(水平線)。
<pre>プレPreformatted text整形済みテキスト(空白や改行をそのまま表示)。
<blockquote>ブロッククォートBlock Quotation別のソースからの長い引用。cite属性で引用元を指定。
<dd>ディーディーDescription Details説明リストの説明(値)。
<figure>フィギュアFigure自己完結したコンテンツ(図、写真、コード)。figcaptionとセットで使うことが多い。
<div>ディブ または ディヴィジョンDivision汎用的なコンテナ。特別な意味を持たないグループ化に使用。

・テキストレベルのセマンティクス
テキストの一部に意味付けを行う要素です。

要素名読み方(一般的)英語表記の略概要(用途)備考
<a>エー または アンカーAnchorハイパーリンク。href属性でリンク先URLを指定。
<strong>ストロングStrong重要性の強調。
<small>スモールSmall免責事項や著作権などの注釈。
<s>エスStrikethroughもはや正確ではない、または関連性がなくなったコンテンツ。取り消し線で表示されることが多い。
<abbr>エイビービーアールAbbreviation略語(頭字語)。title属性で正式名称を指定。
<time>タイムTime特定の時間や日付。
<code>コードCodeコンピュータのコード(プログラムコード)。
<kbd>ケービーディーKeyboard inputユーザー入力(キーボード入力、音声コマンドなど)。
<var>ヴァー または バリアブルVariable変数(数学の変数やプログラムの変数名)。
<samp>サンプ または サンプルSample outputプログラムの出力例。
<span>スパンSpan汎用的なインラインコンテナ。特別な意味を持たないグループ化。
<br>ビーアールLine Break改行。
<i>アイItalic (Idiomatic Text)代替テキスト、専門用語、思考など(イタリック体で表示されることが多い)。
<b>ビーBold (Bring Attention To)注意を引くためのテキスト(太字で表示されることが多い)。意味的な重要性はない。

・埋め込みコンテンツ

要素名読み方(一般的)英語表記の略概要(用途)備考
<img>アイエムジー または イメージImage画像を埋め込む。src(必須)、alt(必須)、width, height属性。
<embed>エンベッドEmbed外部のプラグインコンテンツを埋め込む。
<object>オブジェクトObject外部リソース(プラグイン、PDF、Flashなど)を埋め込む。
<video>ビデオVideo動画コンテンツを埋め込む。
<audio>オーディオAudio音声コンテンツを埋め込む。
<canvas>キャンバスCanvasJavaScriptでグラフィックを描画するための領域。
<svg>エスブイジーScalable Vector Graphicsスケーラブル・ベクター・グラフィックス(XMLベースの2Dグラフィック)。

・フォームとインタラクティブ要素

要素名読み方(一般的)英語表記の略概要(用途)備考
<form>フォームFormユーザー入力を収集するためのフォーム。action, method属性。
<button>ボタンButtonクリック可能なボタン。type属性(submit, reset, button)で種類を指定。
<legend>レジェンドLegend<fieldset>でグループ化された部品の見出し。
<details>ディテールズDetailsユーザーが開閉できるウィジェット(概要と詳細)。
<summary>サマリーSummary<details>要素の見出し(常に表示される部分)。
<dialog>ダイアログDialogダイアログボックスやポップアップウィンドウ。showModal()メソッドで表示。

・グローバル属性(すべての要素に適用可能)
ほとんどすべてのHTML要素に指定できる共通の属性です。

属性名読み方(一般的)英語表記の略概要(用途)備考
idアイディー要素を一意に識別するための識別子。CSSやJavaScriptから要素を特定する際に使います。
classクラス要素をグループ化し、主にCSSでスタイルを適用したり、JavaScriptで操作したりするために使います。
styleスタイル要素に直接インラインでCSSを記述するための属性。
langラング要素の内容の自然言語(例: 日本語ならja、英語ならen)を指定します。
titleタイトル要素に関する補足情報を提供します。マウスオーバーした際などにツールチップとして表示されることが多いです。
data-*データ・アスタリスク または データ属性カスタムデータ属性。data-で始まる任意の名前をつけ、JavaScriptから参照できるデータを要素に持たせます。
hiddenヒドゥン要素を非表示にする(ユーザーには表示されないようにする)。
tabindexタブインデックスTabキーでの要素のフォーカス順序を指定します。
contenteditableコンテンツ・エディタブルユーザーがブラウザ上で要素の内容を直接編集できる(入力可能にする)ようにします。
dirディアー または ディレクションテキストの方向(例: ltr:左から右、rtl:右から左)を指定します。
draggableドラッガブル要素をドラッグ可能にするかどうか(ドラッグ&ドロップ機能)。
accesskeyアクセスキーキーボードショートカットとして要素にアクセスするためのキーを指定します。
aria-*アリア・アスタリスク または アリア属性WAI-ARIA (Web Accessibility Initiative – Accessible Rich Internet Applications) の略。主にアクセシビリティを高めるために、支援技術(スクリーンリーダーなど)に情報を提供します。