HTML

HTML is a markup language used to create web pages and provides elements to define the structure and meaning of content.

HTMLについて

タグ一覧


HTMLとは
ウェブページを構成する文章や画像・リンクなどの情報を「タグ」で区分し、ブラウザに正しく表示させるための基本となるマークアップ言語です。
HTMLの基礎知識
変更点の概要
構文チェック
セクション
アウトライン・アルゴリズム

最低限必要なHTML
エラーとならないために最低限必要な HTMLタグです。
<!DOCTYPE html>, <html>, <head>, <body> タグの役割と基本的な関係。
文字エンコーディング<meta charset="UTF-8">
Webページ内の文字を正しく表示するために、文字を数値に変換するルール(文字コード)をブラウザに伝えるしくみのことです。

void要素(空要素)
内容を持たず、開始タグのみで機能し、終了タグが不要な要素のことです。

グローバル属性
id や lang などのように どの要素にも共通して付けられ、識別・言語・表示挙動などをまとめて制御できる便利な共通属性群 です。

ARIA 属性
支援技術を利用するユーザーがWebコンテンツを正しく認識・操作できるようにするための補助情報を提供するHTMLの拡張仕様です。
role 属性
要素の役割を明示し、スクリーンリーダーなどの支援技術がWebページの構造や機能を正しく理解できるようにするための属性です。
aria-label 属性
画面上に表示されないテキストラベルを要素に付与してスクリーンリーダーなどの支援技術に正しい情報を伝え、アイコンボタンなど可視テキストのない要素でも意味や機能を明確に示すための属性です。
aria-labelledby 属性
「この要素をラベルとして使ってください」として他の要素を参照し、スクリーンリーダーなどに正しいラベルを伝えるための属性です。
aria-describedby 属性
特定の要素に対する補足説明を別の要素の id を指定して関連付け、スクリーンリーダーがその説明を読み上げるようにするためのHTMLのアクセシビリティ属性です。
aria-hidden 属性
画面上には表示したまま、その要素と子要素をスクリーンリーダーなどの支援技術から隠して読み上げさせないようにするための宣言です。
aria-checked 属性
チェックボックスやラジオボタン、トグルスイッチなどの要素の選択状態(選択済み・未選択・部分選択)を支援技術に伝えるためのWAI-ARIA属性です。

カスタム要素(Custom Elements)
自分で作れるオリジナルのタグです。
Shadow DOM
他のスタイルやスクリプトの影響を受けない、安全な部品を作る仕組みです。

構造化データ(Structured Data)
Webページ内の情報を「意味的な構造を持ったデータ」として記述する手法の総称。
検索エンジンがコンテンツの意味を理解しやすくするための技術で、Googleのリッチリザルトなどで利用されます。
マイクロデータ(Microdata)
HTML属性を使って構造化データを直接ページのHTML内に埋め込む仕様の1つ。
RDFa(Resource Description Framework in Attributes)
Microdataに似て、HTML属性を使って構造化データを埋め込む仕様。
W3C標準のRDF(Resource Description Framework)の拡張として設計されている。
JSON-LD(JavaScript Object Notation for Linked Data)
Webページの内容を検索エンジンにわかりやすく伝えるための構造化データを、JSON形式で記述する方法です。
Google推奨の方法。

タグ一覧

<!DOCTYPE>
書かれた HTML文書が、どのバージョンで書かれたものかを宣言します。(文書型宣言)
<!-- ~ --> comment
コメント(注釈)を挿入する。

a 要素
テキストや画像などをクリック可能にして、別のページや特定の場所に移動させるためのリンクを作るタグです。
abbr 要素
省略語
accesskey 属性
特定の要素にキーボードショートカットを割り当てることで、ユーザーがマウスを使わずに素早くアクセスできるようにするための機能です。
address 要素
ページや記事などのコンテンツに対する「作者や運営者の連絡先情報」をセマンティックに示すための要素です。
alt 属性
img要素において画像が表示できなかった場合や、area要素における領域内のフォールバックとして利用される代替テキストを指定します。
applet 要素 [廃止] → object 要素
Javaアプレットを挿入するためのタグです。
area 要素
イメージマップのハイパーリンク
aria-checked 属性
チェックボックスやラジオボタン、トグルスイッチなどの要素の選択状態(選択済み・未選択・部分選択)を支援技術に伝えるためのWAI-ARIA属性です。
aria-controls 属性
ボタンやリンクが、どのコンテンツを操作するのかを支援技術に伝えるための属性です。
aria-describedby 属性
特定の要素に対する補足説明を別の要素の id を指定して関連付け、スクリーンリーダーがその説明を読み上げるようにするためのHTMLのアクセシビリティ属性です。
aria-expanded 属性
折りたたみメニューなどの要素が「開いている (true)」か「閉じている (false)」かをスクリーンリーダーに伝えるアクセシビリティ属性です。
aria-hidden 属性
画面上には表示したまま、その要素と子要素をスクリーンリーダーなどの支援技術から隠して読み上げさせないようにするための宣言です。
aria-invalid 属性
フォームなどの入力が無効(エラー)であることを支援技術(スクリーンリーダーなど)に伝えるためのアクセシビリティ属性です。
aria-label 属性
画面上に表示されないテキストラベルを要素に付与してスクリーンリーダーなどの支援技術に正しい情報を伝え、アイコンボタンなど可視テキストのない要素でも意味や機能を明確に示すための属性です。
aria-labelledby 属性
「この要素をラベルとして使ってください」として他の要素を参照し、スクリーンリーダーなどに正しいラベルを伝えるための属性です。
aria-level 属性
role="heading" を持つ要素が h1h6 のどの見出し階層に当たるか を 16 の数字で示して支援技術に伝えるための属性です。
aria-live 属性
動的に更新される領域の変化をスクリーンリーダーへどの程度優先して読み上げるか指示する属性です。
aria-pressed 属性
ボタンが押されているかどうかを支援技術に伝える属性です。
aria-required 属性
スクリーンリーダーに「この入力欄は必須です」と知らせる属性です。
aria-selected 属性
リストやタブなどでその項目が“選択されているかどうか”を支援技術に知らせる属性です。
article 要素
記事または完全なコンテンツを定義します。
aside 要素
二次的なコンテンツまたは関連コンテンツを定義します。
audio 要素
オーディオ
autocapitalize 属性
フォーム入力欄で、ソフトキーボードが文字を自動で大文字にするかどうかを指定できる属性です。

b 要素
ボールド表記が通例のテキスト
base 要素
Webページ内のすべてのリンクの URLを基準とするための設定を行う。
bdi 要素
書字方向が異なるテキストを表す。
bdo 要素
テキストの方向性書式を明示的に指定するために使います。
bgsound 要素 [廃止] → audio 要素
ページが開かれた際にバックグラウンドに効果音や BGM等のサウンドデータを再生します。
blink 要素 [廃止] → 点滅する CSS
テキストを点滅させる。
blockquote 要素
文章や他サイトなどからの抜粋をブロックレベルで明示し、文書構造上の意味付けと可読性の向上を同時に実現するために使われる引用要素です。
body 要素
ドキュメントの本文
br 要素
改行を表現する。
button 要素
ユーザーがクリックすることで何らかのアクションを実行するためのボタンを作成する。

canvas 要素
動的グラフィック
caption 要素
テーブルにタイトルを追加する。
cite 要素
引用元のタイトルや作品名。
class 属性
要素に CSSでスタイルを適用するためのクラス名を付ける際によく使われる。
code 要素
コンピュータの命令やプログラムの部品などを、文の中でも「ここがコードだよ」とひと目でわかるように表示するためのタグです。
col 要素
表の“縦の列”に、色や線、幅といった見た目のルールを一気にかけられる“柱役”で、colgroup の中に入れて使い、span で“何本の柱に効かせるか”もまとめて指定できる道具です。
colgroup 要素
テーブルの列のグループ
colspan 属性
横方向にまたぐセルの数を指定する。
command 要素
コマンド
content 属性
content属性は、metaやMicrodataで使われ、要素の情報の中身を文字列で指定するための属性です。
contenteditable 属性
要素をブラウザ上で直接編集可能なテキストエリアのように扱えるようにするためのHTML属性です。
contextmenu 属性
要素を右クリックしたときのメニューを指定する属性。
注意 : contextmenu属性は HTML5ではサポートされていません。使用しないように注意しましょう。

data 要素
人間向けに表示するテキストと機械が解釈しやすい数値や識別子などの値を結びつけ、よりセマンティックに情報を取り扱うための要素です。
datalist 要素
フォームの入力欄などで入力候補となるデータリストを定義する。
data-* 属性
要素にカスタム(独自、オリジナル)データを指定する属性。
dd 要素
同じリスト内の<dt>(定義する用語)に対して、その意味や説明を示すために使われるタグです。
del 要素
削除テキスト
details 要素
備考や操作手段などの詳細情報を示す。
dfn 要素
本文中で最初に登場する専門用語を「ここが定義箇所です」と示すためのインライン要素です。
dialog 要素
Webページ内にモーダルダイアログを表示するためのコンテナ要素です。
dir 要素 [非推奨] → ul要素
リストを表示するタグですが、正式に対応しているブラウザはほとんどなく、多くのブラウザでの表示は ul要素と同様になります。
dir 属性
要素内のテキストの書字方向を指定する属性。
disabled 属性
フォーム部品をユーザー操作と送信対象から完全に外して“使えなくする”ための属性です。
div 要素
特定の意味(セマンティクス)を持たない汎用的なブロック要素で、ページのレイアウトやコンテンツのグループ化に利用される「区切りの箱」のような存在です。
dl 要素
用語(<dt>)とその説明(<dd>)を対にしてまとめるための説明リストを作る要素です。
draggable 属性
要素をドラッグ可能かどうかを指定する属性。
dropzone 属性 [非推奨]
ドラッグ&ドロップ機能の一部として要素にドロップされるファイルの取り扱い方法(コピー、移動、リンク)を指定する目的で提案されたものの、現行のブラウザではほぼサポートされず事実上非推奨となっているHTML属性です。
dt 要素
定義リスト内で用語や項目名を示すために使われるタグです。

em 要素
文章内で文脈上の特別な強調を示し、ブラウザやスクリーンリーダーなどにも「ここを重要に読むべき部分」というニュアンスを伝えるためのセマンティックなタグです。
embed 要素
プラグイン
enterkeyhint属性
スマホのキーボードの「Enter」キーに表示するラベルを指定する属性です。

fieldset 要素
フォーム内の関連する入力項目をひとまとめにして、<legend>要素でタイトルを付けることで、内容をわかりやすく整理するための要素です。
figcaption 要素
図画のキャプション
figure 要素
キャプション付き図画
font 要素 [非推奨]
font要素はフォントの種類・大きさ・色を指定します。
footer 要素
ページや記事の最後に置いて、著作権や連絡先、関連リンクなどをまとめて『ここで終わりですよ』とわかりやすく伝えるための場所です。
form 要素
サブミット・フォーム
frame 要素
frameset要素で分割された各フレームに表示するファイルと表示方法を指定する。
frameset 要素 [非推奨]
ウィンドウをいくつかのフレームに分割する。

h1~h6 要素
Webページの見出しを階層的に示すことで、ページの構造を明確にし、読みやすさやSEO、アクセシビリティを向上させるために使われるタグです。
head 要素
ドキュメントのメタデータを格納します。
header 要素
Webページやセクションの冒頭部分を示し、タイトルやナビゲーションをまとめるための要素です。
hgroup 要素
見出しのグループ
hidden 属性
要素が無関係であることを示す属性。
hr 要素
文書の意味的な区切りを示す水平線を挿入するための要素です。
html 要素
Webページのルート要素であり、全ての要素を囲む親要素です。

i 要素
イタリック表記が通例のテキスト。
id 属性
要素に固有の識別名(id)を指定する。同じ識別名はページ内で1回しか使えません。
iframe 要素
インラインフレームを作る際に使用します。
img 要素
イメージ
inert属性
指定した要素とその中身をユーザーが操作できないようにする属性です。
input 要素
テキスト入力、パスワード入力、ラジオボタン、チェックボックス、ファイル選択などのフォームコントロールを提供します。
input要素の属性一覧
accept
サーバーが受け入れるファイルの種類を指定する属性。
autocomplete
入力候補を提示して入力内容を自動補完する。
autofocus
ページ読込直後に入力欄へ自動でカーソルを移動し、ユーザーがすぐ入力を始められるようにする属性です。
min max
数値や日付入力に許容される最小値と最大値を宣言し、ブラウザーがその範囲外を自動でブロックしてくれる仕組みです。
multiple
複数の値を入力・選択できるようにする。
pattern
ユーザーの入力が事前に定義された正規表現パターンに一致するかどうかを検証する機能です。
placeholder
input 要素の placeholder 属性で指定した値が、入力欄に初期値として表示されます。
required
その入力欄が空欄のままではフォーム送信を許さないようブラウザに指示する目印です。
step
入力欄で刻むステップ値を指定する。
type="button"
汎用ボタンを作成する。
type="checkbox"
チェックボックスを作成する。
type="color"
色の入力欄を作成する。
type="date"
カレンダーなどの UIを使って直感的に日付を入力でき、サーバーには ISO 8601形式(YYYY-MM-DD)で送信される便利なフォーム要素です。
type="datetime"【廃止】
UTC(協定世界時)による日時の入力欄を作成する。
type="datetime-local"
UTC(協定世界時)によらないローカル日時の入力欄を作成する。
type="email"
メールアドレスの形式をブラウザ自身でチェックし、モバイルでも入力しやすい専用キーボードを自動表示してくれるフォーム入力欄。
type="file"
サーバにファイルを送信する。
type="hidden"
非表示データを送信する。
type="image"
画像ボタンを作成する。
type="month"
月の入力欄を作成する。
type="number"
数値の入力欄を作成する。
type="password"
ユーザーがパスワードなどの機密情報を入力する際に、入力文字が●などでマスキングされるように設計されたフォーム用の入力要素です。
type="radio"
ユーザーが複数の選択肢から一つだけ選べるボタンを提供する HTMLのフォーム要素です。
type="range"
スライダーを表示する入力フィールドを作成する。
type="reset"
入力内容の初期化(リセット)の場合に使用されます。
type="search"
ユーザーが検索キーワードを入力しやすいように設計された専用のテキスト入力フィールドで、ブラウザによってはクリアボタンなどの追加機能が提供され、使いやすさを向上させています。
type="submit"
送信ボタンを作成する。
type="tel"
電話番号の入力欄を作成する。
type="text"
1行のテキストボックスを作成する。
type="time"
時刻を選択できる入力欄を作るためのタグです。
type="url"
URLの入力欄を作成する。
type="week"
ユーザーがカレンダーから年と週を選択できるようにするフォームフィールドです。
inputmode属性
スマホやタブレットで表示されるキーボードの種類を指定して、入力しやすくするためのヒントを与える属性です。
ins 要素
挿入テキスト
is属性
標準のHTMLタグに特別なカスタム機能を追加するときに使います。
isindex 要素 [廃止] → <input type="search">
検索キーワードの入力欄を作る。
itemid属性
構造化データで使う「この情報の正体はこれです」と示すための一意なIDを指定する属性です。
itemprop属性
Webページの各要素に「これは何か」をタグ付けして、検索エンジンに構造化データとして伝える仕組みです。
itemref属性
離れた場所にある情報をひとつのアイテムとして関連づけるために使います。
itemscope属性
意味のある情報のまとまりを示して、検索エンジンに内容を伝えるための属性です。
itemtype属性
ある情報が何の種類かを示すための指定です。

kbd 要素
キーボード入力やショートカットなど、ユーザーが行う入力操作を示すための要素です。
keygen 要素 [非推奨]
フォーム送信時にキーを発行する。

label 要素
フォームコントロールに対して名前や説明を関連付け、ユーザーや支援技術にその入力欄の意味を正確に伝えるために使う要素です。
lang 属性
lang属性は、ブラウザや支援技術に「このページは何語で書かれているか」を伝え、読み上げ・翻訳・検索結果を最適化するタグです。
legend 要素
タイトルや説明
li 要素
箇条書きや番号付きリストといったリスト構造の各項目を表すために、<ul><ol>などのリスト要素の子要素として使用される要素です。
link 要素
ドキュメントの関連性

main 要素
文書のメインコンテンツを表す。
map 要素
画像の中の特定の範囲をリンクとして指定し、1枚の画像を複数の目的地へ導ける仕組み。
mark 要素
文書内の特定のテキスト範囲をハイライトして目立たせる際に使用します。
menu 要素
操作メニューを作成する。
meta 要素
その文書に関する情報(メタデータ)を指定する際に使用します。
meter 要素
テストの点数やバッテリー残量のように“どれくらい進んでいるか”を、あらかじめ決まっている範囲の中でメーター(目盛り)付きのバーとして見せるためのタグです。

nav 要素
ページまたはセクションのナビゲーション領域を定義する。
noframes 要素
フレームが表示できない環境用の表示内容を指定する。
noscript 要素
スクリプトが動作しなかった場合にメッセージなどの表示内容を指定する際に使用します。

object 要素
画像や動画、音声、プラグインデータ、HTML文書などのさまざまな形式を持つデータを文書に埋め込むための汎用的なタグ。
ol 要素
順序付きリストを表示する。
onclick 属性
要素がクリックされたときに実行されるJavaScriptコードを指定するための属性です。
oninput 属性
入力欄に文字が入力された瞬間に処理を実行できるイベント属性です。
onkeydown 属性
キーボードのキーが押されたときに反応する処理を設定できます。
onmousedown 属性
マウスボタンを押した瞬間に処理を始めるイベントです。
onmousemove 属性
マウスが要素の上で動くたびに処理を実行できます。
onmouseup 属性
ユーザーがマウスボタンを押していた状態から「指を離した瞬間」に実行されるイベントを指定する属性です。
optgroup 要素
<select>内の複数の<option>をカテゴリ別にまとめ、ラベルを付けて整理して表示するための要素です。
option 要素
セレクトボックスや入力候補リストの選択肢を指定する。
output 要素
フォーム入力や計算結果をページ上に動的に表示するための要素です。

p 要素
文章を論理的な段落として区切り、ブラウザや支援技術に「ここで話題が切り替わる」と伝えるためのタグです。
param 要素
埋め込まれたオブジェクト(例えば、動画やアプリケーション)に対して設定やデータを渡すために使用される要素です。
part 属性
カスタム要素内の特定の部品に外部スタイルを適用できる属性です。
picture 要素
異なるデバイスや画面サイズに応じて最適な画像を表示するために、複数の画像ソースを指定できる要素です。
pre 要素
半角スペースや改行などをそのままの形でブラウザに表示したい場合に使います。
progress 要素
進捗をリアルタイムに示すプログレスコントロール。
property 属性
SNSや検索エンジンにページ情報を正しく伝えるために使う属性です。

q 要素
文章中で短い引用を示すインライン要素で、多くのブラウザで引用符を自動的に付与して表示してくれるものです。

readonly属性
入力欄を表示専用にして変更できないようにします。
role 属性
要素の役割を明示し、スクリーンリーダーなどの支援技術がWebページの構造や機能を正しく理解できるようにするための属性です。
rp 要素
ruby要素に対応していないブラウザに対して、ルビに括弧を付けるために使います。
rt 要素
ルビのテキストを表します。
ruby 要素
ルビ

s 要素 [非推奨]
「もはや正確ではない・有効ではないとされたテキスト」を表し、取り消し線付きで表示することでその無効性を視覚的に示すための要素です。
取り消し線が必要な場合は、以下の適切なものを利用しましょう。
del 要素
削除テキスト
CSS
text-decoration
テキストの下線・上線・取消線・点滅を指定する。
samp 要素
出力。
script 要素
Webページに動的な機能や挙動を追加するために使用される、JavaScriptコードを含めるための方法です。
section 要素
関連するコンテンツをグループ化する。
select 要素
セレクトボックス(プルダウンメニュー)を作成します。
slot 要素
Shadow DOM内部において、外部(ライトDOM)から渡されるコンテンツを指定した場所へ挿入する“差し込み口”として機能する特別な要素です。
slot 属性
カスタム要素の中に、外からの内容を差し込むための目印です。
small 要素
本文から一歩引いた補足・免責・著作権表記などを示し、視覚的に文字を相対的に小さくするインライン要素です。
source 要素
動画や音声、画像を複数形式・解像度などで用意し、ブラウザが適切なソースを自動的に選んで再生・表示できるようにするための要素です。
span 要素
一般的なテキスト範囲。
spellcheck 属性
要素内のテキストをスペルチェックをするかしないかを指定する属性。
strike 要素 [廃止]
テキストに取り消し線を引くために昔使われたが現在は非推奨となったインライン要素です。
取り消し線が必要な場合は、以下の適切なものを利用しましょう。
del 要素
削除テキスト
CSS
text-decoration
テキストの下線・上線・取消線・点滅を指定する。
strong 要素
強い重要性を伝えるテキストの範囲を表します。
style 要素
スタイル情報。
style 属性
要素に CSS を直接指定するための属性。
sub 要素
文字を通常のテキストよりも少し下に配置するために使用される要素です。
summary 要素
details要素の要素内容の要約・キャプション・説明を表します。
sup 要素
上付き文字を表示する。
svg 要素
テキストベースのXML形式で記述され、拡大縮小しても劣化しないベクター画像をWeb上で扱える標準フォーマットです。

tabindex 属性
Tabキーを使って要素を選択する際の優先順位を指定する。
table 要素
行と列で構成された表形式のデータを表示する。
tbody 要素
テーブルを構造化するために使用される要素の一つです。
td 要素
表の中で通常のデータを格納するセルを定義するための要素です。
template 要素
ページに表示されない再利用可能なコンテンツを定義し、後で JavaScriptを使って動的に挿入できる HTMLの一部を作るための要素です。
textarea 要素
ユーザーが複数行のテキストを入力・編集できる入力欄を提供するための要素です。
tfoot 要素
テーブルの最後に並ぶ合計・備考などのフッター行をまとめるための要素です。
th 要素
表の“見出しセル”を作るためのタグで、行や列の名前をはっきり伝えて、スクリーンリーダーにも『この列は売上、こっちは数量』のように関係が分かるようにする道しるべです。
thead 要素
テーブル(表)の見出し部分を定義する。
time 要素
日付と時間
title 要素
ドキュメントのタイトル
title 属性
要素に関する補足情報を指定する属性。パソコンのブラウザでは、要素部分にマウスを当てると定義したタイトルが表示されます。
tr 要素
表の行を表します。
track 要素
<video><audio>と組み合わせることで、字幕やキャプションなどのテキストトラックを追加し、メディアのアクセシビリティや多言語対応を向上させる要素です。
translate 属性
ページ翻訳時、要素の内容を翻訳するかどうかを指定する属性。
typeof 属性
データが何の種類かを示すための属性で、主に構造化データに使われます。

u 要素
テキストに下線を表示して非文書的・慣習的な注釈を示すためのタグで、単なる下線装飾にはCSSを使うのが推奨されます。
ul 要素
順序のないリストを表示する。

var 要素
変数
video 要素
Webページの中で『この言葉はどんな意味で使っているか』をコンピュータに説明するための目印で、どの辞書やルールを使って意味を解釈すればよいかを指定します。
vocab 属性
vocab属性は、「このページに出てくる専門用語は、どの辞書を見れば意味がわかるか」をコンピュータに教えるための道しるべです。

wbr 要素
長い単語やURLなどの途中で改行してもよい候補点を指定し、画面幅に応じて必要な場合にのみ改行されるようにするためのタグです。