[4] [DFN[[CODE(CSS)@en[:link]]]] [[擬似クラス]]は、未訪問の[[リンク]]を表します [SRC[>>3]]。 [DFN[[CODE(CSS)@en[:visited]]]] [[擬似クラス]]は、訪問済みの[[リンク]]を表します [SRC[>>3]]。 * 仕様書 [REFS[ - [3] [CITE@en[Selectors Level 3]] ([TIME[2011-09-29 22:16:17 +09:00]] 版) ]REFS] * 意味 [5] [CODE(CSS)@en[[[:link]]]] は未訪問の[[リンク]]を表し、 [CODE(CSS)@en[[[:visited]]]] が訪問済みの[[リンク]]を表します。両者は互いに排他的です。 [[利用者エージェント]]は訪問してから十分時間が経った[[リンク]]を未訪問扱いとして構いません。 また両者を区別することにより[[利用者]]の許諾なく訪問済み如何を[[著者]]が判定できてしまうため、 すべてを未訪問の[[リンク]]として扱うなどの方法をとって、かつ両者を区別して[[レンダリング]]したりしても構いません。 [SRC[>>3]] * ハイパーリンク始点アンカー [15] これらの[[擬似クラス]]は[RUBYB[[[ハイパーリンク始点アンカー]]]@en[hyperlink source anchor]]に適用されます。 ;; [16] ということが [[CSS2]] では明記されていません。また [[Selectors3]] では言及すらされていません・・・。 [17] 何が[[ハイパーリンク始点アンカー]]であるかは[[文書言語]]によります。例えば [[HTML]] では [CODE(HTMLa)@en[[[href]]]] [[属性]]のある [CODE(HTMLe)@en[[[a]]]] [[要素]]は[[ハイパーリンク始点アンカー]]です。 [SRC[>>14]] [18] [[XLink]] では[[探索]]が可能な[[局所要素]]であって [CODE(XMLa)@en[[[actuate]]]] が [CODE(XML)@en[[[onRequest]]]] であるかのように扱われるものが[[ハイパーリンク始点アンカー]]として扱われるべきだと提案されています [SRC[>>1]]。 ;; [19] なぜ [[XLink]] を規定する仕様書がこれを規定せずに提案しているに留まっているのか謎ですが・・・。 * 歴史 ** CSS2 [REFS[ - [14] [CITE@en[Selectors]] ([TIME[2011-06-07 13:09:52 +09:00]] 版) ]REFS] ** XLink [REFS[ - [1] [CITE@en[XML Linking Language (XLink) Version 1.1]] ([TIME[2008-04-04 00:59:29 +09:00]] 版) ]REFS] * 関連 [20] 元々 [[HTML]] の [CODE(HTMLa)@en[[[link]]]] [[属性]]や [CODE(HTMLa)@en[[[vlink]]]] [[属性]]に相当する機能として導入されたようです。 * メモ [2] [CITE@ja[CSS によるブラウザ履歴の漏えいを防ぐ取り組み « Mozilla Developer Street (modest)]] ([TIME[2010-05-01 01:24:29 +09:00]] 版) [8] [CITE[Bug 147777 – :visited support allows queries into global history]] ([CODE[2008-10-23 23:45:21 +09:00]] 版) [9] [CITE@ja[「visited疑似クラスのビーコンを拾うサービスが登場」@水無月ばけらのえび日記]] ([TIME[2008-10-23 21:33:55 +09:00]] 版) [10] [CITE@ja-JP[高木浩光@自宅の日記 - 楽天CERTに対するブラウザの脆弱性修正を阻害しない意思確認]] ([[高木浩光]] 著, [TIME[2008-12-14 23:26:14 +09:00]] 版) [11] [CITE@en-US[Preventing attacks on a user's history through CSS :visited selectors]] ([TIME[2010-04-07 13:03:44 +09:00]] 版) [12] [CITE@en-us[Privacy and the :visited selector - MDC]] ([TIME[2010-06-01 08:08:04 +09:00]] 版) [13] [CITE@en[HTML5 Revision Tracker]] ([TIME[2010-08-03 23:55:56 +09:00]] 版) [7] [CITE[IRC logs: freenode / #whatwg / 20110202]] ( ([TIME[2011-03-19 11:10:11 +09:00]] 版))