HTML5.1の<menu>
HTML5から外されてHTML5.1になってしまった<menu>タグについて、W3CのHTML5.1の仕様書が前回見た時より新しくなってたんで(6ヶ月前だがw)確認してみた。
<menu>タグはHTML新機能でもっとも望んでいる機能なんだが、Firefox以外に実装される気配なくて残念な状況。
これが主要ブラウザ全てで使えればOS標準のコンテキストメニューがWEBページで簡単に実装できるんで、WEBがものすごい高度化する。
HTML5の頃は、<menu>の子要素に<command>を入れてメニュー要素にする仕様だったが、
唯一<menu>を実装しているFirefoxが<command>ではなく<menuitem>を<menu>の子要素として使う仕様で、
HTML5.1の現仕様でもHTML5から変更で<command>ではなく<menuitem>となっている。
ただ、Firefoxの実装が<menu type="context">であるのが、HTML5.1の仕様では<menu type="popup">となっていて、Firefoxも現時点ではpopupでは機能しない。
ここまでは前回HTML5.1の仕様見た時から変わってないと思うんだが、<button type="menu">でメニューを展開する機能があった。(前からあったか?)
コンテキストメニューではなく、プルダウンメニューとして利用できるってことだね。
今は<select><option>使ってプルダウンメニューもどきを作るが、もっときちんとしたプルダウンメニューが作れるし、コマンドスクリプトも<menuitem>に直接書けるようになるから便利だね。
<menu>はコンテキストメニューのためのものと思ってたが、プルダウンメニューとしても実用的になりそう。
あと、<menuitem>のtype属性で、command以外にradioとcheckboxが追加されてた。(前からか?)
HTML5の時の仕様では<menu>の子要素に<input>を使う感じだったと思うが、<menuitem>一つでボタン(ラベル)以外の選択メニューが利用できるね。
早く<menu>タグ普及してくれんかなあ・・・