HTML Living Standardとは?HTML5との違いなど解説
2021年1月28日にW3C(World Wide Web Consortium)は、これまで標準規格であったHTML5を廃止して、WHATWGが規格策定するHTML Living Standardに仕様をかえました。
HTML Living Standardとは
HTML Living Standardとは、HTMLの新たな仕様です。Apple社、Opera社、 Mozilla社の開発チームによって作成されたワットダブルジー(WHATWG)という団体が独自に進めた仕様です。現在では、これがHTMLの標準規格となっています。
HTML Living Standard は、今も進化を続けています。これまでHTMLの標準規格であったHTML 1.0やHTML 5.2などは型番などという概念がありましたが、HTML Living Standardはそれがなく、今もなお改版が進められています。
参考
HTML Living Standardが作成される以前はW3Cという団体が作成したHTML5やHTML5.1などがHTMLの一般的な仕様でした。
W3Cは、ワールド・ワイド・ウェブの標準仕様を決めている日本でもよく知られている国際機関ですが、現場の声を無視した理想ばかりを追求する姿勢に不満を持ったApple社、Opera社 Mozilla社がワットダブルジー(WHATWG)という団体を作りました。
その後HTMLの仕様が2種類に分断していた時代があったのですが、現在はHTMLの標準規格をW3Cではなくワットダブルジー(WHATWG)が決めることになっています。
HTML Living Standardに変更された理由
HTML Living Standardが採用されたのは、2021年1月28日からHTMLの標準規格をワットダブルジー(WHATWG)という団体が決めることになったからです。
変更された理由について理解するためには、HTML5の廃止の歴史やHTMLの仕様改定の流れ、ワットダブルジー(WHATWG)という団体の歴史について知る必要があるでしょう。
まず、廃止となったHTML5とは、5回目のHTML改訂版を意味します。
以下でHTMLの規格の推移について紹介していきます。
HTML1.0 は、1993年にインターネット技術特別調査委員会の IIIR Working Group から インターネットドラフトとして公開がありました。作者はイギリスのティム・バーナーズ=リーです。
1995年にはインターネット技術特別調査委員会から正式に HTML 2.0 の発表がありました。こちらも作者はティム・バーナーズ=リーです。これまでのHTML1.0 を基礎にさまざまな要素が追加されました。
各機関によるブラウザ戦争が勃発している中、インターネット技術特別調査委員会で HTML 3.0 の規格設定がおこなわれましたがうまくいかず、代わりにティム・バーナーズ=リーが創設した W3C が 1997年にHTML 3.2 の規格を設定して公表しました。それからはHTML の規格はインターネット技術特別調査委員会ではなくW3Cが作ることになりました。
W3CはHTML 4.0HTML 4.01の一般化を1997、1999年と立て続けに発表します。
そして、この頃からW3Cは大改革進めていきます。HTMLの元となったSGMLの考えに準拠してHTML内から見た目を決める要素を消す方針を計画します。
さらSGML規格に準拠する規格ということで、今後はHTMLを捨て、SGMLアプリとして定義できるXHTMLに移行する方針を発表しました。
SGMLに準拠すれば、多くのSGML機器を使用できて、ブラウザ開発も簡単になるという主張でしたが、実際は、ほとんどのブラウザはレガシーなHTML とXHTMLの助けが必須となり、より複雑になってしまいました。
これらの不満があり、2004年にApple社、Mozilla社、Opera社の技術者達はワットダブルジーを作ったのです。また、W3Cとは違う規格を制定していきました。
その後全く違う規格を設定していた両者は、Web業界のために協力し合うことにしました。
しかし、また両者の考えに亀裂が生じていきます。W3Cはドキュメントを整えてから発行したいのに対してワットダブルジーは次々とアップデートを行いたいという意見の相違があり、両団体は再断裂してしまうのです。
この断裂によりワットダブルジーは2011年にHTML Living Standardを開始しました。
そして翌2012年には協働の中止にまで発展しました。
W3Cも独自に規格設定を始めて2014年にHTML5 、2016年にHTML 5.1を規格にて勧告しました。
最終的には多くの技術者たちが開発者目線であるワットダブルジーのHTML Living Standardを支援することになります。
このような流れがあり、両者異なる規格が使われていたのですが、その問題を解決していくために両団体は2019年に規格を一本化することに合意したという発表しました。
参考:W3C AND WHATWG TO WORK TOGETHER TO ADVANCE THE OPEN WEB PLATFORM
以上の歴史があり、2021年にW3CのHTML規格は廃止されワットダブルジーが設定したHTML Living Standardに一本化されたのです。
HTML Living StandardとHTML5の違い
結論から申し上げるとHTML Living StandardとHTML5は、ほとんど一緒です。
HTML5の最終版であるHTML5.2からHTML Living standardに変わってから要素や属性が新たに追加、変更、廃止されました。
しかし、一部のタグの扱いが変わっただけで大きな違いはありません。
以下で詳しく解説していきます。
※HTML Living standardは、常に更新されているので都度確認が必要です。
「HTML Living standardで追加があった要素」
要素 | 用途 |
<main> | 文書の主要コンテンツを表します。 |
<slot> | スロットを表します。 |
<hgroup> | 見出しの集団化をします。 |
「HTML Living standardで変更があった要素」
要素 | 用途 |
<meta> | bodyの要素内に配置可能な条件がかわりました。 |
<style> | bodyの要素内には配置できなくなりました。 |
<link> | bodyの要素内に配置可能な条件がかわりました。 |
<cite> | 作者の名前を含めなくなりました。 |
「HTML Living standardで廃止になった要素」
要素 | 用途 |
<rtc> | 操作メニューの項目です。 |
<rb> | 操作メニューの項目です。 |
「HTML Living standardで追加があった属性」
要素 | 属性 | 用途 |
<body> | onmessageerror=”” | 読めないメッセージを受信した際に実行するスクリプトです。 |
<a> | ping=”” | pingの送信先を指定できます。 |
<area> | ping=”” | pingの送信先を指定できます。 |
<form> | rel=”” | 現在の文書から見たリンク先との関係を表します。 |
<iframe> | allow=”” | 利用できるブラウザの機能を指定。 |
<link> | color=”” | Safariページピンアイコンの色を指定。 |
<link> | disabled=”” | 外部スタイルシートへのリンクを無効化。 |
<link> | imagesizes=”” | 画像の表示するサイズです。 |
<img> | loading=”” | 画像読み込みのタイミングを指定。 |
<img> | decoding=”” | 画像のデコード方式を指定。 |
<script> | integrity=”” | 外部スクリプトの整合性を確認。 |
<script> | nomodule=”” | モジュールスクリプトへの対応環境でスクリプトを無効化。 |
<link> | as=”” | 先に読み込む外部リソースの利用先を指定。 |
<link> | integrity=”” | 外部リソースの整合性を確認。 |
<link> | imagesrcset=”” | 使用可能な画像ファイルのセット。 |
<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アニメーション終了時に実行されるスクリプト。 |
「HTML Living standardで変更があった属性」
要素 | 属性 | 用途 |
<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=”” | 属性値として複数の値を指定可能です。 |
「HTML Living standardで廃止になった属性」
要素 | 属性 | 用途 |
<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に対応しているWebブラウザ
HTML Living Standardに対応している主なWebブラウザは、Google社が提供しているChrome、Mozilla社のFirefox、Apple社のSafari、Operaです。
HTML5.1の勧告があった2016年からGoogleやAppleなどの主要ブラウザはHTML Living Standardを標準規格として採用ししています。
また、最後までW3C派だったMicrosoftのEdgeも2018年にChrome同様のChromiumベースを採用しました。
そのため2022年現在では、主要なWebブラウザはすべてHTML Living standardに対応しているのです。
HTML Living Standardに合わせるSEO効果
SEOに関しては、マークアップが重要です。
HTML Living Standardで不適切なマークアップをしてしまえば、SEOへの悪影響が懸念されます。一方、HTML Living Standardで適切なマークアップをすることができれば、コンテンツの品質が保てるでしょう。
具体的には、HTML Living Standardで定められているHTMLの要素や属性を使ってマークアップをすることやHTMLの要素や属性の記述ミスをなくすことが大切です。
そうすれば、クローラーが理解しやすいHTML構造になる上に、レイアウトの崩れがなくなるでしょう。
その結果、コンテンツの品質が保たれて、検索順位の下がらないと考えられます。
まとめ