Bug-org 857820 Drop only blink effect from text-decoration: blink; and completely remove <blink> element
初回投稿日時: 2013-04-15 15:08:54
カテゴリ: CSS HTML Mozilla Core Mozilla23 バグ修正
SNS:
Tweet (list)
もう、色んな意味でうざいので、blink指定による点滅処理を削除しようよ、というバグです。
Google ChromeのWebKitを、Blinkとしてフォークするというニュースを見てて、『そーいや、OperaもChromiumベースなんだから、Blink陣営になるんだろうな』とぼんやり考えていたところ、『blinkの点滅効果って、OperaのPrestoと、Geckoしかサポートしてないんだから、Operaが、blinkの点滅効果をサポートしない、Blinkエンジンに移行し終わればGeckoだけが孤立するんで、サポートをやめたら、コードがざっくりと削除できていいんじゃないか?』って思いつきました。
そこで、削除を提案してみたところ、すんなりとコアメンバーが賛成してくれたので、他のバグで煮詰まってた気晴らしに作業することにしました。
当初は、text-decoration: blink;
自体のサポートを中止することでスタイルシステムが食っているメモリを多少削減できるので良いと思っていたのですが、えむけいさんが、それはCSS仕様に違反する上、他のブラウザとの互換性も損なうと忠告してくれたので、まずは点滅処理の削除だけを行うことにしました。
ちなみに、もし、text-decoration: blink;
自体のサポートを中止すると、text-decoration: underline blink;
のような指定があった場合、このスタイル指定全体が無視され、下線が引かれなくなってしまいます。ですが、値のサポートは継続していますので、下線は引かれるものの、点滅はしない、という形になります。これは、他のブラウザと全く同じ動作です。
また、単にCSSのパーサでのみ、blink
キーワードをサポートしている訳ではありませんので、DOM APIを用いて、算出値等を取得した際には、blink
が指定されている場合には、きちんと、blink
値が返ってきます。
つまり、Webアプリから見ると、CSSのtext-decoration: blink;
に関しては、何ら、変化がなかったように見えます。
そして、もうひとつ、<blink>
タグのサポートを中止するかどうか、という課題がありました。色々とややこしいことになってコメントが伸びてしまっていますが、こちらもえむけいさんの尽力により、HTMLパーサや、HTMLエディタで、<blink>
タグは未知のタグとして扱うように修正しました。
このため、DOM APIで<blink>
要素のノードを作成すると、未知のHTML要素としてオブジェクトが生成されるようになっています。
まとめると、変更点は以下のようになります。
text-decoration: blink;
は、スタイルシステムでは引き続きサポートされる- 点滅はしなくなる
<blink>
要素は未知の要素になった