BLOGスタッフブログ

ライター

Sayuri Kakuya

2024.11.25 コーディング

HTML Living Standardとは? 採用された理由やHTML5との違いを解説

これまで標準規格であった「HTML5」が廃止され、「HTML Living Standard」が標準仕様となりました。本記事では、 HTML Living Standardとは何か、標準仕様となった理由やHTML5との違いについて解説していきます。

HTML Living Standardとは、 Apple社・Opera社・ Mozilla社の開発チームによって設立された「WHATWG(ワットダブルジー)」という組織が策定したHTMLの仕様です。

そもそもHTMLとは、ホームページ制作の際に使用する言語のことで、Webサイトを作成する際にコンピューターへ指示を出し、表示したい文章や画像などの情報を形作る役割を持ちます。

これまでは、「 W3C(World Wide Web Consortium)」という組織が策定したHTML5・HTML5.1 ・HTML5.2が標準仕様とされていましたが、2021年からHTML Living Standardが標準仕様として採用されました。

ではなぜ、HTML Living Standardが標準仕様として採用されたのでしょうか。それは、ホームページなどWeb技術のルールを決めるW3Cの内部で分裂が起こったことで、WHATWGという組織が設立されたことが理由です。 

これにより、W3Cが推奨するHTML5と、WHATWGが推奨するHTML Living Standardが対立することになります。そして2018年頃からは、chrome・Firefox・Safari・Operaといったブラウザが HTML Living Standardを標準仕様として採用する動きが出てきました。 

翌年には、Microsoft EdgeもChromeの方針に合わせることになり、2021年にはHTML5が廃止され、 HTML Living StandardがHTMLの標準仕様となったのです。 

HTML Living StandardとHTML5には、大きな違いはありません。しかし、HTML5は一度標準として策定された後、バージョン番号が固定されているのに対し、HTML Living Standardは常に進化し続ける仕様になっているという違いがあります。

HTML Living Standardでは、新しい要素や機能が随時追加され、Web技術の最新トレンドに対応しているのが特徴です。ここからは、HTML Living Standardが標準仕様となったことで追加・変更・廃止された要素と属性を見ていきましょう。

HTML Living Standardで追加・変更・廃止された要素を紹介します。

追加された要素

要素名用途
<hgroup>見出しをグループ化する。
<slot> スロットを表す。
<main>文書の主要コンテンツを表す。

変更された要素

要素名用途
<cite>タイトル以外を含むことはできず、作者名を含むことができなくなった。
<meta>“itemprop”属性を指定した場合、“body”要素内に配置可能に。
<style>“body”要素内への配置が不可に。
<link>bodyの要素内に配置できる条件が変更され、“rel”属性の値が“body-ok”な値のみ、または“itemprop”属性が指定されている時のみ配置できる。 

廃止された要素 

要素名用途
<rb>操作メニューの項目を表す。
<rtc>操作メニューの項目を表す。

HTML Living Standardで追加・変更・廃止された属性を紹介します。

追加された属性

要素名属性用途
<body>onmessageerror=””読めないメッセージを受信した際に実行するスクリプト。
<a>ping=””pingの送信先を指定する。
<area>ping=””pingの送信先を指定する。
<form>rel=””現在の文書から見たリンク先との関係を表す。
<iframe>allow=””利用できるブラウザの機能を指定する。
<link>color=””Safariページピンアイコンの色を指定する。
<link>disabled=””外部スタイルシートへのリンクを無効化する。
<link>imagesizes=””画像を表示するサイズ。
<link>as=””先に読み込む外部リソースの利用先を指定する。
<link>integrity=””外部リソースとの整合性を確認する。
<link>imagesrcset=””使用可能な画像ファイルのセット。
<img>loading=””画像読み込みのタイミングを指定する。
<img>decoding=””画像のデコード方式を指定する。
<script>integrity=””外部スクリプトとの整合性を確認する。
<script>nomodule=””モジュールスクリプトへの対応環境でスクリプトを無効化する。
<script>referrerpolicy=””リファラーポリシーを指定する。
<video>playsinline=””インラインで再生する。
グローバル属性is=””カスタム要素と関連付ける。
enterkeyhint=””Enteキーのアイコンを指定する。
autocapitalize=””先頭の文字について大文字化するかを指定する。
itemid=””要素のマイクロデータのグローバルな識別子を表す。
itemscope=””要素にマイクロデータが含まれることを表す。
itemref=””要素外にあるマイクロデータと関連付ける。
itemtype=””要素のマイクロデータのプロパティ名の定義を表す。
itemprop=””要素のマイクロデータのプロパティ名を指定する。
slot=””スロットと関連付ける。
イベントハンドラ属性onformdata=””フォームのエントリリストを生成した時に実行されるスクリプト。
onmessageerror=””解読できないメッセージを受信したときに実行するスクリプト。
onsecuritypolicyviolation=””コンテンツのセキュリティポリシーに違反した際に実行されるスクリプト。
onwebkittransitionend=””CSSトランジション終了時に実行されるスクリプト。
onwebkitanimationstart=””CSSアニメーション開始時に実行されるスクリプト。
onslotchange=””スロットを含むノードが変更された際に実行されるスクリプト。
onformdata=””フォームのエントリリスト生成時に実行されるスクリプト。
onwebkitanimationinteration=””CSSアニメーションをリピートした時に実行されるスクリプト。
onwebkitanimationend=””CSSアニメーションの終了時に実行されるスクリプト。

変更された属性

要素名属性用途
<a>rel=””属性値として“opener”を指定できる。
<area>rel=””属性値として“opener”を指定できる。
<link>rel=””属性値として“canonical”、“dns-prefetch”、“modulepreload”、“pingback”、“preconnect”、“preload”、“prerender”を指定できる。
<iframe>sandbox=””属性値として“allow-modals”、“allow-orientation-lock”、“allow-popups-to-escape-sandbox”、“allow-top-navigation-by-user-activation”、“allow-downloads”を指定できる。
<meta>name=””属性値として“theme-color”、“color-scheme”を指定できる。
http-equiv=””属性値として“x-ua-compatible”、“content-security-policy”を指定できる。
charset=””属性値は“utf-8(UTF-8)”を指定すべきとされている。
グローバル属性nonce=””“Content Security Policy”のワンタイムトークンの指定。
inputmode=””入力時にソフトウェアキーボードの種類を指定できる。
accesskey=””属性値として複数の値を指定できる。

廃止された属性

要素名属性用途
<a>rev=””リンク先から見た現在の文書との関係を表す。
<area>hreflang=””リンク先の記述言語。
type=””リンク先のMIMEタイプ。
<link>rev=””リンク先から見た現在の文書との関係。
<iframe>allowpaymentrequest=””埋め込まれた文書がPayment Request APIを実行することを許可する。
<img>longdesc=””画像を説明した文書のURL。
<html>manifest=””キャッシュマニフェストを指定できる。
<object>typemustmatch=””埋め込まれる外部リソースが“type”属性で、指定したMIMEタイプと一致する場合にのみ埋め込みを許可する。
<style>type=””スタイルシートの記述言語。
<script>charset=””外部スクリプトの文字エンコーディング。
<table>border=””表の外枠の太さ。
グローバル属性onloadend=””メディアのデータの読み込み終了時に実行されるスクリプト。
ondragexit=””ドラッグしたアイテムが要素から出た際に実行されるスクリプト。
onshow=””操作メニューを表示した時に実行されるスクリプト。

本記事では、HTML Living Standardとは何か、またHTML5との違いについて解説しました。HTML Living Standardについて把握していないと、不適切なマークアップをする可能性が高まり、SEOへの悪影響も懸念されます。このような状況を回避するためにも、HTML Living Standardの基礎を理解し、適切にサイトを構築しましょう。

Sayuri Kakuyaが書いた他の記事

見積もり・ご依頼など、
お気軽にご相談ください

本サイトはユーザーエクスペリエンスの向上などを目的に、Cookieを使用しています。
右記のバナーで「同意する」をクリックする、または本サイトを利用することにより、
お客様は弊社のCookieポリシーに同意したことになります。

同意します