:-moz-placeholderから::-moz-placeholderに

コロンに注目ね。Mozillaはこれまでplaceholder属性にスタイルをつけるために、:-moz-placeholderという擬似クラスを使っていたんだけど、Firefox 19からは::-moz-placeholderという擬似要素になる。

変更した理由については、プレースホルダまわりのバグを修正するにあたってのことらしい。

直接関係ないけど、フォーカス時にもプレースホルダが出るのを止めるためのprefもついたdom.placeholder.show_on_focusから変更可能。

さて、独自拡張だからなのか、これまでの:-moz-placeholderを残すわけでもなく::-moz-placeholderに置き換えられるので、プレースホルダのスタイルをいじってるひとは注意かな。コロンいっこ足すくらいでいいけど、プレースホルダが半透明になってるので、不透明にしたい場合はopacityを書き足さないといけない。

さて、Mozillaは擬似クラスになった。他はどうか。WebKitはもともと::-webkit-input-placeholderで、MicrosoftはIE10で:-ms-input-placeholderという擬似クラスを導入している。ややこしいね。www-styleだと擬似クラスの方に傾いていたような記憶があるけれど、ちゃんと標準化されるんだろうか。