#?SuikaWiki/0.9 *img 要素・area 要素・input 要素 alt 属性 (HTML, XHTML 1) [6] [[HTML]] の [CODE(HTMLe)[[[img]]]] 要素の [DFN[[CODE(HTMLa)[alt]] 属性]]は、 [[画像]]を表示できない時にレンダリングする[[代替文]]を指定します。 [CODE(HTMLe)[[[area]]]] 要素の [DFN[[CODE(HTMLa)[alt]] 属性]]も、 同じく[[画像写像]]の領域の代替文を指定します。 [1] [[画像]]の[[代替文]]を値として持つ [[HTML]] の属性です。 [CODE(HTMLe)[[[img]]]] 要素、[CODE(HTMLe)[[[area]]]] 要素または [CODE(HTMLa)[[[type]]]] 属性の値が [CODE(HTML)[[[image]]]] である [CODE(HTMLe)[[[input]]]] 要素で使うことが出来ます。 どちらの場合も必須です。 (が、 [[DTD]] での表現の制約から後者は [CODE(SGML)[[[IMPLIED]]]] となっています。) [5] 仕様書: - [[HTML 4]] -- 13.2 Including an image: the IMG element -- 13.6.1 Client-side image maps: the [CODE(HTMLe)[MAP]] and [CODE(HTMLe)[AREA]] elements [[#comment]] ** 属性値 [7] [CODE(HTMLe)[img]] 要素・[CODE(HTMLe)[area]] 要素では、この属性は'''必須'''です。 [[#comment]] *** 値の中での改行 [3] [[不思議マーク付け]]の世界では、 このツールチップ表示文字列を改行する裏技(?)があります。 改行したい場所で [CODE(HTML)[ ]] を挿入します。 foo
bar ところで、これは普通単にソースの属性値指定中でごくふつーに改行するのと同じことです。 foo
 bar 確かにこの方法で [[WinIE]] では意図したように表示されます。 しかし [[Mozilla]] では (Mozilla では [CODE(HTMLa)[alt]] 属性は tooltip では表示されませんけど、 [CODE(HTMLa)[title]] 属性の場合や、 [CODE(HTMLa)[alt]] 属性を表示できるようにする拡張を入れている場合に) [[Win9x]] では「・」が、 [[WinNT]] 系では実行している環境の [[CodePage]] で [CODE(char)[0x0D]], [CODE(char)[0x0A]] に割当てられている文字が表示されてしまいます。 (人はこれを[[文字化け]]と言います。) ([[Mac]] や [[Un*x]] ではどうなるんでしょう?) [4] 更に、 [[Strictスレ]]の情報 () によれば、 [[IE]] では次のような手法が使えます。 foo<br>bar これが事実ならまったくもって驚くばかりでありますが、 残念ながら手元の [[WinIE 6.0]] on [[WinXP]] では確認できていません。 (そのまま [SAMP(HTML)[
]] と表示されます。) [[#comment]] ** 応用 [6] [CODE(HTMLe)[img]] 要素では、UA は、 (1) 画像を表示できない時、 (2) 扱えない種類の画像の時、 (3) 表示しないと設定されている時には [CODE(HTMLa)[alt]] 文をレンダリングしなければなりません [SUP[ [HTML 4] ]]。 [9] [[画像写像]]では、 UA と著者は、画像が利用できないか、 利用者が access 可能でないときには文章による代替を提供するべきです。 例えば、 UA は [CODE(HTMLe)[area]] 要素の [CODE(HTMLa)[area]] 属性を使って図形的画像写像の代わりに文的リンクをレンダリングできます。 [[#comment]] ***ツールチップ表示 [2] [[WinIE]] などでは、画像の mouseover 時にこの属性の値が popup ([[ツールチップ]]) で表示されます。 但し、 [CODE(HTMLa)[[[title]]]] 属性が指定されていればそちらが優先されます。 [[#comment]] ** 他との関係 [8] [CODE(HTMLa)[[[longdesc]]]] 属性で指定された資源は画像の長い説明で、 [CODE(HTMLa)[alt]] を更に補うものです。 [CODE(HTMLa)[alt]] は利用者が [CODE(HTMLa)[longdesc]] によるリンクをたどるかどうかを決めるのに十分な情報を提供するべきです。 [HTML 4] [[#comment]] ** メモ [[#comment]] *メモ