W3CがHTMLとDOMを(再)勧告する理由

今までWHATWGと重複してW3Cでも仕様を発行する理由というのが、なぜかどこにも書いてなかったものの、ようやく書かれるようになるという話(納得できるとは言っていない)。2017年6月時点の[PROPOSED] Web Platform Working Group Charterには、Charter must state a reason when duplicating work done elsewhere · Issue #139 · w3c/charter-htmlで行われた議論から、これまでのCharterと比較して次のような文言が加わっている。

The Web Platform WG and the WHAT WG both produce versions of the HTML and DOM specifications. The Web Platform WG works on these specifications for many reasons, including:

  • The specifications are protected under the W3C Patent Policy, ensuring that HTML and DOM remain royalty free for use by implementors and authors;
  • The specifications are developed with contributions from a broad range of stakeholders including implementors and authors, as well as specialists in accessibility, internationalisation, privacy, and security;
  • The specifications are produced by a globally recognised standards organization, with a governance model that is designed to find consensus amongst the many diverse constituents of the web platform.

Based on these considerations, the Web Platform WG exercises independent editorial control over these specifications. The WG nonetheless endeavours to minimize differences between the WHAT WG and W3C versions that affect interoperability.

1つめは特許問題。W3Cプロセスのもとで勧告された文書は、ロイヤリティフリーであることを保証する、と。2つめはワイドレビュー。アクセシビリティ、セキュリティ、国際化などの専門家から、幅広いレビューがなされる、と。3つめはW3Cでやることに意義があると。

歴史を振り返れば、別に最初からW3CでHTMLの仕様が策定されていたというわけでもない。このことは、W3CHTML5仕様の1章にある歴史の節でも明示されている。そして、その歴史の節でも触れられているように、HTMLの進化を止めてしまったのは、他ならぬW3C自身である。その意味で、HTMLに関してだけ言えば、W3Cで独自に仕様策定をし続ける正統性というのも怪しいものがあろう。ただし、ISOとの接続性だけで言えば、WHATWGそもそも選択肢にない、というところはW3Cに俄然分がある。

特許に関しても、一見正しいように見える。確かに特許からの保護は重要であるからして、W3Cの名の下でHTMLを発行する理由にはなるだろう。現に、WHATWGの仕様は特許に関する取り決めが存在しない。しかしだからといって、W3Cで独自にHTMLを編纂した上で再発行する理由にはならない。WHATWG仕様を一切の改変なしにW3Cで再発行するようにしても、特許から保護することができるだろう。むしろ、W3Cで独自に編纂する時間だけタイムラグが生じ、新しい技術に対する保護が遅れることになるわけだが。

広範なレビューについても、WHATWG HTMLに対して直接継続的にレビューを行えばいいだけの話だろう。もっとも、レビューによる指摘事項がWHATWGのエディターに常に受け入れられるわけではないというところが、逆にW3Cの独自HTMLを促している気がしなくもない。まあ、WHATWGブラウザーのための標準策定を主眼にしているというのはW3Cには受け入れがたいというのもまた事実だろうけれども。


WHATWGW3CがHTMLを別々に策定するという状況はもはや受け入れるしかないにしても、WHATWG HTMLの編集のないコピーに対して、W3Cがdiff文書だけを作る、という体裁とか無理なのかしら。。diffだけの方がまだ読みやすいと思うんだけどなぁ…。(まあ、diffじゃなくてdiffを反映したフル文書を作れってなりそうだけど、たぶんW3Cで作る方も楽なんじゃないかと。また、W3CWHATWG HTMLのどの部分に何らかの問題があると思っているかがより伝えやすくなるだろう。)



以下余談。

  • W3C HTML 5.1 2nd editionが発行される見通しが立った(w3c/html#944)。まずは勧告候補として発行される。
  • WHATWG HTML Developer's Editionの復活の兆しが見えている(whatwg/html#2747)。これまでは事実上翻訳を放置してたけれども、これにあわせてHTML Living Standard訳について、未訳部分をぼちぼち埋めていきたい。

HTMLラジオボタンを大きくする方法について

C17: テキストを含むフォームの要素を拡大する | WCAG 2.0 達成方法集原文)には、

この事例は、テキストサイズ機能のある IE で動作する。しかしながら、Firefox 2.0 では拡大されない。

XHTML コンポーネント:

<input type="radio" name="r1" value="r1" id="r1" class="geomsize" />
<input type="checkbox" name="c1" id="c1" value="c1" class="geomsize" />

CSS コンポーネント:

input.geomsize {
width: 1.2em;
height: 1.2em;}

という具合の実装方法が記載されている。まあ、最初はFirefox 2.0とかいつの時代の話なんだ、とか突っ込んでましたが、Firefox 53.0.2 (Windows 10)でもやっぱり動作しない(というかWebKit (Bash on Ubuntu on Windowsepiphany-browser)でも動作しないようだ)。こんなアレなコード例があるのが達成方法集なのだけども、このままなのは癪だというのがこの記事の主旨(?)だったりする。


でまあ適当に検索すると、ラジオボタン・チェックボックスの大きさをCSSで変更する方法 - Qiitaとか出てきて、

input[type="radio"] , input[type="checkbox"]{
   -webkit-transform: scale(1.5);
   transform: scale(1.5);
   margin-right: 0.5em;
}

という具合にtransform CSSを使えばどのブラウザーでもボタンを大きくすることができるようだ(綺麗に拡大できるとは言っていない)。


さらにHTML フォームへの高度なスタイル設定 - ウェブ開発を学ぶ | MDNでは、

<span><input type="checkbox"></span>
span {
    display: inline-block;
}
input[type=checkbox] {
    width : 100px;
    height: 100px;
}

とすればFirefoxでも大きくできるようなことが示唆されているが、再現されなかった。

もっと賢いやり方があるかもしれないので、こういうのはどうか、というのがある人は是非教えて欲しい。


最後にcodepenを貼っておくので、各種環境で確かめてみるとよいだろう。

See the Pen mmLNMq by Momdo Nakamura (@momdo) on CodePen.



追記:

Mozillaの中野さんからFirefox内部の処理に関する言及をいただいている。併せて参照されたい。