<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>もんど &#8211; HTML5Experts.jp</title>
	<atom:link href="/momdo/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>W3Cのは『欠陥フォーク』！？ HTMLスナップショット2016 ── HTML5 Conference 2016セッションレポート</title>
		<link>/momdo/21119/</link>
		<pubDate>Fri, 21 Oct 2016 01:07:01 +0000</pubDate>
		<dc:creator><![CDATA[もんど]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 Conference 2016]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[WHATWG]]></category>

		<guid isPermaLink="false">/?p=21119</guid>
		<description><![CDATA[連載： HTML5 Conference 2016 特集 (4)HTML5 Conference 2016特集・第四弾は、「HTMLスナップショット2016」。2016年現在、HTMLはW3CとWHATWGという2つの組...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conf2016/" class="series-403" title="HTML5 Conference 2016 特集" data-wpel-link="internal">HTML5 Conference 2016 特集</a> (4)</div><p><a href="https://html5experts.jp/series/html5-conf2016/" data-wpel-link="internal">HTML5 Conference 2016特集</a>・第四弾は、「<a href="http://events.html5j.org/conference/2016/9/session/#session_id_a2" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTMLスナップショット2016</a>」。2016年現在、HTMLは<abbr title="World Wide Web Consortium">W3C</abbr>と<abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr>という2つの組織によって別々に標準化が進んでいます。2つのHTMLが存在するに至った歴史と将来の展望、両者の違いを簡単にまとめます。</p>

<p><img src="/wp-content/uploads/2016/10/HTML5-Conference-2016mondo-1.jpg" alt="" width="627" height="371" class="alignnone size-full wp-image-21489" srcset="/wp-content/uploads/2016/10/HTML5-Conference-2016mondo-1.jpg 627w, /wp-content/uploads/2016/10/HTML5-Conference-2016mondo-1-300x178.jpg 300w, /wp-content/uploads/2016/10/HTML5-Conference-2016mondo-1-207x122.jpg 207w" sizes="(max-width: 627px) 100vw, 627px" /></p>

<h2>2つのHTMLに至った歴史</h2>

<p>
1999年にHTML4.01勧告が発行されてから足掛け15年、2014年にHTML5が勧告として発行されるに至ったわけですが、その間の主な出来事を表1に示します。
</p>

<table>
<caption>表1 HTML4勧告からHTML5勧告までの主要なできごと</caption>
<thead>
<tr><th>西暦</th><th>できごと</th></tr>
</thead>
<tbody>
<tr><td style="width:4em">1999年</td><td>HTML4.01勧告が発行。ここでHTMLの進化が一旦止まる。</td></tr>
<tr><td>2004年</td><td>OperaとMozillaがW3CでHTMLの開発を再開させるべきという提案をするも、却下される。この後、Apple、Mozilla、Operaの3社でWHATWG設立。Ian Hicksonが現在のHTML Standardの元となる仕様の開発に着手。</td></tr>
<tr><td>2006年</td><td>W3CがHTML5に興味を示す（Tim Berners-Leeが自身のBlogで言及）。</td></tr>
<tr><td>2007年</td><td>WHATWGと協力体制を取る新たなW3C HTML Working Groupを設立。</td></tr>
<tr><td>2012年</td><td>勧告を発行したいW3Cと、開発を継続し続けたいWHATWGが袂を分かつ。これより、両組織が別々にHTMLを策定。</td></tr>
<tr><td>2014年</td><td>W3C HTML 5勧告が発行。</td></tr>
</tbody>
</table>

<p>
XMLこそがウェブの未来であるという見方が支配的だったために、2004年のOperaとMozillaの共同提案は却下され、W3CでHTMLを改良する道が閉ざされました。そこでブラウザーベンダーが集まってW3Cとは別の組織でHTMLやHTMLに関連する仕様の改良を行う、というのがWHATWGのはじまりです。</p>

<p>
以来今日に至るまでずっと、WHATWGはHTMLの開発を（ある期間はW3Cと共同で、ある時期からはW3Cとは別に）し続けています。「WHATWG HTMLこそが実装者とウェブ開発者によって参照されるべき最新の仕様であり、欠陥フォーク（W3C HTMLのこと）は答えではない」というのはWHATWG HTMLのエディターであるAnne van Kesterenの言葉の通り、WHATWG HTMLを第一に参照すべきでしょう。
</p>

<h2>HTML5勧告以降のW3Cの動向</h2>

<p>
さて、W3Cに話を戻します。HTML5はスケジュールどおりに勧告となりましたが、後続のHTML 5.1はなかなか方針が定まらないまま、結局2015年の秋にHTML Working GroupがWeb Platform Working Group (WPWG)に改組されました。2016年1月にようやく新Working GroupからGitHubで開発を再開するというアナウンスがなされ、周知の通り6月にHTML 5.1は勧告候補となり、9月15日付けで勧告案が発行されました。順調にいけば、10月下旬には勧告が発行されるでしょう。</p>

<p>
また、WPWGの新しいCharter（憲章）案には、すでに8月に草案として公開したHTML 5.2を2017年第4四半期に勧告とする、さらにはHTML 5.3の最初の公開草案を2017年第3四半期に発行するといった文言も見られますので、W3Cとしては1年に1回程度のペースで更新していく算段なのでしょう。</p>

<p>ところで、この9月に行われたTPACにおけるWPWGのミーティングでは、2つのHTMLが存在することそのものの問題は認識されており、このミーティングの中では「（2つのHTMLの）唯一の解決策はW3CがHTMLの作業を止めること」というような発言もWPWGの共同議長であるCharles McCathie Nevileから飛び出しましたが、WPWGとして合意に至るような結論は出されませんでした。あるいはHTMLをコア技術として採用しているEPUBの動向によっても、HTMLの開発に何らかの影響を与える可能性があると思われます。
</p>

<h2>2つのHTMLの違いについて</h2>

<p>
これまではごく簡単にW3Cから見たHTMLの過去と将来をざっくり俯瞰してみましたが、ここからは技術的に2つのHTMLがどのように異なるのかを見ていきたいと思います。図1は、2つのHTMLの違いを示したものですが、W3C HTMLがWHATWG HTMLの厳密な部分集合ではなく、W3C HTMLにWHATWG HTMLとは異なる独自の規定があるという点が肝となります。
</p>

<p><figure>
<img src="/wp-content/uploads/2016/09/pic1.png" alt="" class="alignnone size-medium wp-image-21121" srcset="/wp-content/uploads/2016/09/pic1.png 640w, /wp-content/uploads/2016/09/pic1-300x167.png 300w, /wp-content/uploads/2016/09/pic1-207x115.png 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption>図1 2つのHTMLの技術的な違い</figcaption>
</figure></p>

<p>
具体的にどのように違うのか、というのは2つのHTMLの違いを明瞭に記述した文書が存在しないため、その全容を正確に把握するのは困難が伴います。理論上は両HTMLのGitHubのコミットログを丹念に追いかければ可能ですが、ここではW3C HTML (HTML 5.1の勧告案) とWHATWG HTML（HTML <abbr title="Living Standard">LS</abbr>）の要素や属性の違いなどについて、紙面の都合上その全部の詳説は省きますが、主に両者の索引の比較からその一端を明らかにしようと思います。まず、要素の違いについて表2に示します。
</p>

<table>
<caption>表2 2つのHTMLの違い（要素）</caption>
<thead>
<tr><th>要素</th><th>W3C HTML 5.1</th><th>HTML LS​</th></tr>
</thead>
<tbody>
<tr><td><kbd>&lt;slot&gt;</kbd></td><td>×</td><td>○​</td></tr>
<tr><td><kbd>&lt;hgroup&gt;</kbd></td><td>×​</td><td>○​</td></tr>
<tr><td><kbd>&lt;rb&gt;</kbd></td><td>○</td><td>×​</td></tr>
<tr><td><kbd>&lt;rtc&gt;</kbd></td><td>○</td><td>×​</td></tr>
<tr><td><kbd>&lt;dialog&gt;</kbd></td><td>×</td><td>○​</td></tr>
</tbody>
</table>

<p>
今年に入ってWHATWG HTMLに導入されたShadow DOMに関わる<kbd>&lt;slot&gt;</kbd>要素を除けば、HTML 5.1とHTML 5.0でそれほど大きな違いはないと言えます。また、要素そのものは存在しますが、少なくとも<kbd>&lt;main&gt;</kbd>の定義や<kbd>&lt;dl&gt;</kbd>の説明にHTML 5.1とHTML LSとの間で差異があることを筆者が確認しています。これ以外にも2つのHTMLの説明で異なるものがあるかもしれません。続いて、属性の違いを表3に示します。
</p>

<table>
<caption>表3  2つのHTMLの違い（属性）</caption>
<thead>
<tr><th>属性</th><th>要素</th><th>W3C HTML 5.1</th><th>HTML LS​</th></tr>
</thead>
<tbody>
<tr><td><kbd>allowusermedia</kbd></td><td><kbd>iframe</kbd></td><td>×</td><td>○​</td></tr>
<tr><td><kbd>as</kbd></td><td><kbd>link</kbd></td><td>×​</td><td>○​</td></tr>
<tr><td><kbd>border</kbd></td><td><kbd>table</kbd></td><td>○</td><td>×​</td></tr>
<tr><td><kbd>inputmode</kbd></td><td><kbd>input; textmode</kbd></td><td>○</td><td>×​</td></tr>
<tr><td><kbd>is</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
<tr><td><kbd>longdesc</kbd></td><td><kbd>img</kbd></td><td>○</td><td>×​</td></tr>
<tr><td><kbd>manifest</kbd></td><td><kbd>html</kbd></td><td>×</td><td>○​</td></tr>
<tr><td><kbd>ping</kbd></td><td><kbd>a; area</kbd></td><td>×</td><td>○​</td></tr>
<tr><td><kbd>playsinline</kbd></td><td><kbd>video</kbd></td><td>×</td><td>○​</td></tr>
<tr><td><kbd>referrerpolicy</kbd></td><td><kbd>a; area; iframe; img; link</kbd></td><td>×</td><td>○​</td></tr>
<tr><td><kbd>name</kbd></td><td><kbd>slot</kbd></td><td>×</td><td>○​</td></tr>
<tr><td><kbd>itemid</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
<tr><td><kbd>itemprop</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
<tr><td><kbd>itemref</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
<tr><td><kbd>itemscope</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
<tr><td><kbd>itemtype</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
</tbody>
</table>

<p>
そもそもW3C HTMLでは別仕様として切り離されているMicrodata関連の5つの属性を除けば、11の属性が片方の仕様にあってもう片方にはない、という状況になっています。<kbd>longdesc</kbd>属性に至っては、一旦はHTML 5.1自身に含めておきながら、再び拡張仕様に分離する（すなわち、HTML 5.0とlongdesc拡張仕様の関係に戻す）という迷走を見せています。さらに、説明は省きますが、イベントハンドラー属性の違いを表4に示します。
</p>

<table>
<caption>表4  2つのHTMLの違い（イベントハンドラー属性）</caption>
<thead>
<tr><th>属性</th><th>要素</th><th>W3C HTML 5.1</th><th>HTML LS​</th></tr>
</thead>
<tbody>
<tr><td><kbd>onemptied</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
<tr><td><kbd>onloadend​</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
<tr><td><kbd>onrejectionhandled</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
<tr><td><kbd>onunhandledrejection</kbd></td><td>HTML elements</td><td>×</td><td>○​</td></tr>
</tbody>
</table>

<p>
また、IDL属性として、<kbd>innerText</kbd>がWHATWG HTMLに規定されています。最後に両HTMLの違いとしてコメントの構文の違いを挙げておきます。
</p>

<p></p><pre class="crayon-plain-tag">&lt;!-- これは正当なコメントです --&gt;
&lt;!--------&gt;
&lt;!-- ↑のようなHTML断片を書いたことはありますか？ --&gt;</pre><p></p>

<p>
コード例の2行目は、WHATWG HTMLでは正当なコメントになります。
</p>

<h2>おわりに</h2>

<p>
駆け足でW3C視点での歴史と将来の展望、およびW3C HTMLとWHATWG HTMLとの要素や属性、構文など比較を行いましたがいかがでしたでしょうか。W3C HTMLはあまりうまく策定作業が行われていない一方で、WHATWG HTMLのレポジトリーでは活発に議論が交わされており、毎日のようにHTMLが更新され続けています。当面は勢いのあるHTML Living Standardを参照するようにしてはいかがでしょうか、という提案をもって締めさせていただきたいと思います。
</p>

<p>当日の資料と動画は下記で公開されていますので、こちらも参照してください。</p>

<ul>
<li><a href="https://github.com/momdo/talk/blob/master/webtalk_2016-09-03.pdf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">講演資料</a></li>
</ul>


<!-- iframe plugin v.4.3 wordpress.org/plugins/iframe/ -->
<iframe src="https://www.youtube.com/embed/K2a4dftTp00" frameborder="0" 0="allowfullscreen" width="100%" height="500" scrolling="yes" class="iframe-class"></iframe>

]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2016 特集]]></series:name>
	</item>
	</channel>
</rss>
