HTML Living Standard
HTML「ハイパーテキスト・マークアップ・ランゲージ(Hyper Text Markup Language)」は、WEBページ(ホームページ)を作成するためのマークアップ言語です。
今では多くのWebシステム、ホームページで利用されています。
HTMLは主に文書を意味的に記述するための言語として作られ、文章が構成されている要素がどのような役割を持っているかを指定しています。
この指定に利用されているのがタグと呼ばれ、文字列(コンテンツ)をタグで囲い、タグが持つ役割からその文字列(コンテンツ)がどのようなものかを示します。
HTMLとは、文章の構成要素が付与されたタグの集合体ともいえます。
タグが持つ役割などを決めている仕様は、2019年6月以降、WHATWG により作成され、それがW3C勧告となる流れになっています。
基本構文
<!DOCTYPE html>
<html>
<head>
<title>Sample page</title>
</head>
<body>
<h1>Sample page</h1>
<p>This is a <a href="demo.html">simple</a> sample.</p>
<!-- this is a comment -->
</body>
</html>
HTMLドキュメントは、<!DOCTYPE html>の文書型定義(DTD)を記載してから始めます。文書型定義は必ず<html>タグより前に宣言し、これから先はHTMLであることをコンピュータに知らせています。
<html>はHTML文書のルート要素となり、<html>と</html>で囲った中がHTML文章であることを示します。<html>は、開始タグと呼ばれ、</html>は終了タグと呼ばれています。この開始タグから終了タグまでを○○○要素と呼びます。
<head>は、文章に関する情報を記載します。<head>と</head>で囲った内容は直接は表示されません。
<body>は、文章の本文を記載します。<body>と</body>で囲った内容は指示がない限り表示されます。
<!-- this is a comment -->の <!-- はコメントの始まりとなり、-->で囲った内容は表示されません。
以下にHTMLの基本テンプレートを置いておきます。HTMLを作成する場合によく利用しています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<title>ページのタイトル</title>
<link rel="stylesheet" href="/assets/css/styles.css">
<link rel="stylesheet" href="/assets/css/print.css" media="print">
<meta name="description" content="ページの説明文">
<meta property="og:title" content="ページのタイトル">
<meta property="og:description" content="ページの説明文">
<meta property="og:image" content="https://mywebsite.com/image.jpg">
<meta property="og:image:alt" content="画像の説明文">
<meta property="og:locale" content="ja_JP">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta property="og:url" content="https://mywebsite.com/page">
<link rel="canonical" href="https://mywebsite.com/page">
<link rel="icon" href="/favicon.ico">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/my.webmanifest">
<meta name="theme-color" content="#FF00FF">
</head>
<body>
<!-- コンテンツ -->
<script src="/assets/js/script.js"></script>
</body>
</html>
Tag Reference
要素 | 説明 | カテゴリ |
---|---|---|
a | ハイパーリンク | フロー; フレージング*; インタラクティブ; パルパブル |
abbr | 略語 | フロー; フレージング; パルパブル |
address | ページまたはarticle要素の連絡先情報 | フロー; パルパブル |
area | イメージマップ上のハイパーリンクまたはデッドエリア | フロー; フレージング |
article | 自己完結型のシンジケーションや再利用可能な文書 | フロー; セクショニング; パルパブル |
aside | わずかに関連するコンテンツのためのサイドバー | フロー; セクショニング; パルパブル |
audio | オーディオプレーヤー | フロー; フレージング; エンベディッド; インタラクティブ; パルパブル* |
b | キーワード | フロー; フレージング; パルパブル |
base | ハイパーリンクとフォームのための基底URLとデフォルトターゲットブラウジングコンテキスト | メタデータ |
bdi | テキスト方向の分離 | フロー; フレージング; パルパブル |
bdo | テキスト方向形式 | フロー; フレージング; パルパブル |
blockquote | 別の情報源から引用されるセクション | フロー; セクショニングルート; パルパブル |
body | 文書の本体 | セクショニングルート |
br | 詩や住所などにおける改行 | フロー; フレージング |
button | ボタンコントロール | フロー; フレージング; インタラクティブ; 記載; ラベル付け可能; 送信可能; フォーム関連; パルパブル |
canvas | スクリプタブルなビットマップキャンバス | フロー; フレージング; エンベディッド; パルパブル |
caption | 表題 | none |
cite | 作品のタイトル | フロー; フレージング; パルパブル |
code | コンピューターコード | フロー; フレージング; パルパブル |
col | 表列 | none |
colgroup | 表における列のグループ | none |
data | 等価な機械可読形式 | フロー; フレージング; パルパブル |
datalist | コンボボックスコントロールに対するオプションのためのコンテナー | フロー; フレージング |
dd | dt要素に対応するコンテンツ | none |
del | 文書から除去 | フロー; フレージング* |
details | 詳細を隠すための公開コントロール | フロー; >セクショニングルート; インタラクティブ; パルパブル |
dfn | 定義例 | フロー; フレージング; パルパブル |
dialog | ダイアログボックスまたはウィンドウ | フロー; セクショニングルート |
div | 一般的なフローコンテナー、またはdl要素内の名前-値グループのためのコンテナー | フロー; パルパブル |
dl | 0個以上の名前-値グループから成る連想リスト | フロー; パルパブル |
dt | dd要素に対応するキャプション | none |
em | 強調 | フロー; フレージング; パルパブル |
embed | プラグイン | フロー; フレージング; エンベディッド; インタラクティブ; パルパブル |
fieldset | フォームコントロールのグループ | フロー; セクショニングルート; 記載; フォーム関連; パルパブル |
figcaption | figureのためのキャプション | none |
figure | オプションでキャプションをもつ図 | フロー; セクショニングルート; パルパブル |
footer | ページまたはセクションのフッター | フロー; パルパブル |
form | ユーザー送信可能フォーム | フロー; パルパブル |
h1, h2, h3, h4, h5, h6 | セクションの見出し | フロー; ヘディング; パルパブル |
head | 文書メタデータのためのコンテナー | none |
header | ページまたはセクションのための入門やナビゲーション補助 | フロー; パルパブル |
hgroup | 見出しグループ | フロー; ヘディング; パルパブル |
hr | 主題の変化 | フロー |
html | ルート要素 | none |
i | 代替音声 | フロー; フレージング; パルパブル |
iframe | ネストされたブラウジングコンテキスト | フロー; フレージング; エンベディッド; インタラクティブ; パルパブル |
img | 画像 | フロー; フレージング; エンベディッド; インタラクティブ*; フォーム関連; パルパブル |
input | フォームのコントロール | フロー; フレージング; インタラクティブ*; 記載; ラベル付け可能; 送信可能; リセット可能; フォーム関連; パルパブル* |
ins | 文書への追加 | フロー; フレージング*; パルパブル |
kbd | ユーザー入力 | フロー; フレージング; パルパブル |
label | フォームコントロールのためのキャプション | フロー; フレージング; インタラクティブ; パルパブル |
legend | fieldsetのためのキャプション | none |
li | リストの項目 | none |
link | メタデータをリンク | メタデータ; フロー*; フレージング* |
main | 文書の主要なコンテンツのためのコンテナー | フロー; パルパブル |
map | イメージマップ | フロー; フレージング*; パルパブル |
mark | ハイライト | フロー; フレージング; パルパブル |
MathML math | MathMLルート | フロー; フレージング; エンベディッド; パルパブル |
menu | コマンドのメニュー | フロー; パルパブル* |
meta | テキストメタデータ | メタデータ; フロー*; フレージング* |
meter | ゲージ | フロー; フレージング; ラベル付け可能; パルパブル |
nav | ナビゲーションリンクをもつセクション | フロー; セクショニング; パルパブル |
noscript | スクリプトに対するフォールバックコンテンツ | メタデータ; フロー; フレージング |
object | 画像、ネストされたブラウジングコンテキスト、またはプラグイン | flow; phrasing; embedded; interactive*; listed; form-associated; palpable |
ol | 順序付きのリスト | フロー; パルパブル* |
optgroup | リストボックス内のオプションのグループ | none |
option | リストボックスまたはコンボボックスコントロール内のオプション | none |
output | 計算された出力値 | フロー; フレージング; 記載; ラベル付け可能; リセット可能; フォーム関連; パルパブル |
p | 段落 | フロー; パルパブル |
param | objectに対するパラメーター | none |
picture | 画像 | フロー; フレージング; エンベディッド |
pre | 整形済みテキストのブロック | フロー; パルパブル |
progress | 進捗バー | フロー; フレージング; ラベル付け可能; パルパブル |
q | 引用文 | フロー; フレージング; パルパブル |
rp | ルビ注釈テキストに対する丸括弧 | none |
rt | ルビ注釈テキスト | none |
ruby | ルビ注釈 | フロー; フレージング; パルパブル |
s | 正確でないテキスト | フロー; フレージング; パルパブル |
samp | コンピューター出力 | フロー; フレージング; パルパブル |
script | 埋め込みスクリプト | メタデータ; フロー; フレージング; スクリプトサポート |
section | 汎用の文書またはアプリケーションのセクション | フロー; セクショニング; パルパブル |
select | リストボックスコントロール | フロー; フレージング; インタラクティブ*; 記載; ラベル付け可能; 送信可能; リセット可能; フォーム関連; パルパブル* |
slot | シャドウツリールート | フロー; フレージング |
small | サイドコメント | フロー; フレージング; パルパブル |
source | imgの画像ソース、またはvideoもしくはaudioのメディアソース | none |
span | 汎用フレージングコンテナー | フロー; フレージング; パルパブル |
strong | 重要 | フロー; フレージング; パルパブル |
style | 埋め込みスタイル情報 | メタデータ |
sub | 下付き文字 | フロー; フレージング; パルパブル |
summary | detailsのためのキャプション | none |
sup | 上付き文字 | フロー; フレージング; パルパブル |
SVG svg | SVGルート | フロー; フレージング; エンベディッド; パルパブル |
table | 表 | フロー; パルパブル |
tbody | 表中の行のグループ | none |
td | 表のセル | セクショニングルート |
template | テンプレート | メタデータ; フロー; フレージング; スクリプトサポート |
textarea | マルチラインテキストコントロール | フロー; フレージング; インタラクティブ*; 記載; ラベル付け可能; 送信可能; リセット可能; フォーム関連; パルパブル* |
tfoot | 表中のフッター行のグループ | none |
th | 表のヘッダーセル | インタラクティブ* |
thead | 表中のヘッダー行のグループ | none |
time | 日付または時刻関連データの等価な機械可読形式 | フロー; フレージング; パルパブル |
title | 文書のタイトル | メタデータ |
tr | 表の行 | none |
track | 時限テキストトラック | none |
u | 発声されない注釈 | フロー; フレージング; パルパブル |
ul | リスト | フロー; パルパブル* |
var | 変数 | フロー; フレージング; パルパブル |
video | ビデオプレーヤー | フロー; フレージング; エンベディッド; インタラクティブ; パルパブル |
wbr | 改行の機会 | フロー; フレージング |