:visited の挙動が変更に。制作への影響は?
次期バージョンのFirefoxのプレビュー版 “Mozilla Developer Preview” ですが、新しいアルファ版が公開されました (プレビュー版ですので、常用のものではありません)。
このアルファ版には、先日より各所で取り上げられている、CSSの:visited
擬似クラスに関する大きな修正が現在Firefoxで行われています。詳しくは、次のページをお読みください。
- CSS によるブラウザ履歴の漏えいを防ぐ取り組み (原文: “Plugging the CSS History Leak”)
- CSS の :visited に行われるプライバシー対策 (原文: “privacy-related changes coming to CSS :visited”)
(二つ目の記事について、翻訳をMozilla Developers Streetに寄稿させていただきました。)
:visited
擬似クラスは訪問済リンクにスタイルを与えられるもので、CSS1から定義されています。これだけであれば特に危険はありませんが、getComputedStyle()
などと組み合わせることで、訪問済のサイトが取得できてしまうことが知られていました。
今回行われた修正は、Mozillaの開発者David BaronによるPreventing attacks on a user's history through CSS :visited selectorsを反映したものです。問題をすべて解決できるわけではありませんが、履歴を取得する方法のうちとくに簡単なものを防ぐという意図が語られています。
さて、制作者として特に気になるのが、:visited
に指定できるプロパティが color
, background-color
, border-*-color
, outline-color
, column-rule-color
といった色指定に限定されることでしょうか。どういうことかというと、:visited
に指定されたbackground-image
などが効かなくなります(:link
と同じものが適用されるようになります)。
同じ対策がWebKitでも行われていることから、将来的にSafariやChromeでも同様の変更が反映されるようになりそうです。
色以外のプロパティには:link
の指定が反映されることがほとんどでしょうから、レイアウトの崩れが頻発するというのは考えにくいです。しかし、background-image
などは多くのサイトで利用されていますし、こうしたプロパティの利用を前提としたデザインについては、今後をふまえた対策が必要になりそうです。