* リンク系要素 [CODE(HTMLa)[charset]] 属性 (HTML, XHTML 1)
[1] [[HTML]] の [CODE(HTMLe)[[[a]]]] 要素・[CODE(HTMLe)[[[link]]]] 要素・
[CODE(HTMLe)[[[script]]]] 要素の
[DFN[[CODE(HTMLa)[charset]] 属性]]は、
リンクで指定された[[資源]]の[[文字符号化]]の''ヒント''を指定します。
この属性は追加された当時は有用であろうと考えられていましたが、
結局有意義に使われたことはほとんど無く、しかも Web
の技術的体系においては実際上''不要''な存在です。
[8]
仕様書:
- [[HTML 4]]
-- [CODE(HTMLe)[a]] 要素 [CODE(HTMLa)[charset]] 属性
-- [CITE[12.1.5 Internationalization and links]]
-- [CITE[18.2.1 The [CODE(HTMLe)[SCRIPT]] element]]
[[#comment]]
** 属性値
[4] この属性は [CODE(SGML)[%[[Charset]]]]
です。つまり、 [[IETF]] [[charset]] を指定します。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。
[5] この属性は省略可能です。
[[#comment]]
** 関連
[2] この属性は [CODE(HTMLa)[[[href]]]] 属性
([CODE(HTMLe)[script]] 要素では [CODE(HTMLa)[[[src]]]] 属性)
が指定されているときのみ使って構わないはずですが、
HTML 4 仕様書にはそう明記されていません。
[7] [CODE(HTMLe)[script]] 要素では、要素の[[内容]]には関係しません
[SRC[HTML 4 18.2.1]]。逆に言えば指定してもいいけど無視されるということでしょうか。
[3] ウェブでは、リンク先資源自体が charset 情報を持っているのが普通です。
UA は [CODE(HTMLa)[charset]]
属性の情報を使って[Q[ごみ]]を表示してしまわないように注意するべき、
最低警告するべきだと HTML 4 仕様書は言ってはいますが、
あくまでも [CODE(HTMLa)[charset]] 属性はリンク先に飛ぶ前に利用者や UA
が判断するための材料として用意されているようで、
リンク先資源の charset 情報を上書きできるようなものではありません。
とはいうものの、 [CODE(HTMLa)[charset]] の値から [[HTTP]]
の [CODE(HTTP)[[[Accept-Charset]]]]
を生成するような使い方をしても面白いかもしれません。
[[#comment]]
** 例
[6] [CODE(HTMLe)[a]] によるリンクの例 [SRC[HTML 4 12.2]]
[PRE(HTML)[
For more information about W3C, please consult the
W3C Web site
]PRE]
皮肉なことに [[W3C]] のウェブ頁はその後 [CODE(charset)[[[ISO-8859-1]]]]
ではなくなっています。
[[#comment]]
** メモ
[9]
[CITE[Bug 4864 - ステータスバーにURLを表示する仕様の改善]]
[[状態棒]]に[[URI]]を表示するときに[[百分率符号化]]を[[復号]]するにあたり、[CODE(HTMLa)@en[[[charset]]]][[属性]]があれば、その[[文字コード]]と考えて[[復号]]したらよいのではという話。
([[名無しさん]] [sage] [WEAK[2005-12-25 13:05:37 +00:00]])
[10]
あるいは、[CODE(HTMLa)@en[[[href]]]]に[[非URI文字]]が含まれているときに[CODE(HTMLa)@en[[[charset]]]][[属性]]の[[文字コード]]で[[百分率符号化]]して[[URI]]を作るのがよいとか。
([[名無しさん]] [sage])
[[#comment]]
* メモ