[1] [[HTML]] の [CODE(HTMLe)[[[img]]]] 要素、[CODE(HTMLe)[[[area]]]]
要素、[CODE(HTMLe)[[[input]]]] 要素、 [CODE(HTMLe)[[[applet]]]] 要素の
[DFN[[CODE(HTMLa)[alt]] 属性]]は、
[[画像]]、[[画像写像]]の領域、[[form control]], [[applet]] 
を表示できない時にレンダリングする[DFN[[RUBYB[[[代替文]]] [alternate text]]]]を指定します。

[5] 仕様書:
- [[HTML 4]]
-- 13.2 Including an image: the IMG element
<IW:HTML4:"struct/objects.html#edef-IMG">
-- 13.6.1 Client-side image maps: the [CODE(HTMLe)[MAP]] and 
[CODE(HTMLe)[AREA]] elements
<IW:HTML4:"struct/objects.html#idx-accessibility-3">
-- 13.8 How to specify alternate text
<IW:HTML4:"struct/objects.html#alternate-text">

[[#comment]]


** 属性値

[7] [CODE(HTMLe)[img]] 要素・[CODE(HTMLe)[area]]
要素では、この属性は'''必須'''です。 [CODE(HTMLe)[input]] 要素と
[CODE(HTMLe)[applet]] 要素では省略可能です。

[CODE(HTMLe)[applet]] で省略可能なのは、 [CODE(HTMLe)[[[object]]]]
要素と同じように[[内容]]として代替文を記述できるからでしょう。

[25]
[[DTD]] [[注釈]]にちょこっと書いてありますが、
[CODE(HTMLe)@en[[[applet]]]] [CODE(HTMLa)@en[[[alt]]]] が[[必須]]になっています。

;; <IW:XHTML1m12n:"abstract_modules.html#s_appletmodule">、
<IW:XHTML1m12n:"dtd_module_defs.html#dtdelement_applet.qname">

([[名無しさん]])

[[#comment]]


*** 値の中での改行

[3] [[不思議マーク付け]]の世界では、
このツールチップ表示文字列を改行する裏技(?)があります。
改行したい場所で [CODE(HTML)[&#13;&#10;]] を挿入します。
[PRE[
 <img alt="foo&#13;&#10;bar">
ところで、これは普通単にソースの属性値指定中でごくふつーに改行するのと同じことです。
]PRE]

[PRE[
 <img alt="foo
 bar">
]PRE]

確かにこの方法で [[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スレ]]の情報
(<http://pc2.2ch.net/test/read.cgi/hp/1048867117/778>)
によれば、 [[IE]] では次のような手法が使えます。

[PRE[
 <img alt="foo<br>bar">
]PRE]

これが事実ならまったくもって驚くばかりでありますが、
残念ながら手元の [[WinIE 6.0]] on [[WinXP]]
では確認できていません。 (そのまま [SAMP(HTML)[<br>]]
と表示されます。)

[[#comment]]


** 応用

[14] 一般に、代替文は次の場合に有用です。 [SUP[ [HTML 4] ]]
- 非図形的表示端末
- フォームに対応していないブラウザ
- 視覚障害者
- 音声 UA
- 画像非表示 UA

もちろん、他にも有用な場合が多々あるでしょう。

[6]  [CODE(HTMLe)[img]] 要素では、UA は、 (1) 画像を表示できない時、
(2) 扱えない種類の画像の時、 (3) 表示しないと設定されている時には
[CODE(HTMLa)[alt]] 文をレンダリングしなければなりません [SUP[ [HTML 4] ]]。

[9] [[画像写像]]では、 UA と著者は、画像が利用できないか、
利用者が access 可能でないときには文章による代替を提供するべきです。
例えば、 UA は [CODE(HTMLe)[area]] 要素の [CODE(HTMLa)[area]]
属性を使って図形的画像写像の代わりに文的リンクをレンダリングできます。

[15] 多くの図形的 UA は、
画像が鯖から到着するまでの間に一時的に代替文を画像の代わりに表示してくれます。

[19]
[CITE[img要素でalt属性の内容がポップアップしない - Web標準普及プロジェクト]] <http://www.mozilla.gr.jp/standards/webtips0024.html>

[20]
[CITE[XUL Apps > Popup ALT Attributes - outsider reflex]] <http://piro.sakura.ne.jp/xul/_popupalt.html>

[[#comment]]


*** ツールチップ表示

[2] [[WinIE]] などでは、画像の mouseover 時にこの属性の値が
popup ([[tooltip]]) で表示されます。

但し、 [CODE(HTMLa)[[[title]]]] 属性が指定されていればそちらが優先されます。

[10] [[Mozilla]] ([[Gecko]]) などは通常 [CODE(HTMLe)[alt]]
は ([CODE(HTMLa)[title]] がなくても) tooltip として表示してはくれません。
しかし、 >>11 のようにこれを濫用する人が後を立たないので、
[CODE(HTMLa)[alt]] も tooltip にする拡張が開発されています。

** レンダリング

[132] 
[CODE[-moz-force-broken-image-icon]],
[CODE[-moz-alt-content]]

* 関連

[8] [CODE(HTMLa)[[[longdesc]]]] 属性で指定された資源は画像の長い説明で、
[CODE(HTMLa)[alt]] を更に補うものです。
[CODE(HTMLa)[alt]] は利用者が [CODE(HTMLa)[longdesc]]
によるリンクをたどるかどうかを決めるのに十分な情報を提供するべきです。
[SUP[ [HTML 4] ]]

[12] [CODE(HTMLa)[alt]] 文の言語は、 [CODE(HTMLa)[[[lang]]]]
属性によります。 [SUP[ [HTML 4] ]]

[13] この属性は [CODE(HTMLe)[input]] 要素にも使えますが、
特に [CODE(HTMLa)[[[type]]]] が [CODE(HTMLa)[[[image]]]]
の時には限定されず、一般に form control をレンダリングできないときに使えるようです。
[SUP[ [HTML 4] ]]

その割には [CODE(HTMLe)[[[textarea]]]] など他の form control
には [CODE(HTMLa)[alt]] は定義されていませんが、良いのでしょうか。
(他の form control は[[内容]]を持つからでしょうか。
そうであるとしても、 form control をレンダリングしない UA
が [[RFC 1866]] に存在しない [CODE(HTMLa)[alt]] 
属性を見てくれることは期待できないのではないでしょうか。)

** 他の言語

[66] [[MathML]] の [CODE(XMLe)@en[[[math]]]] [[要素]]には、[[数式]]のかわりの[[画像]]を指定する
[CODE(XMLa)@en[[[altimg]]]] [[属性]]、かわりの[[文章]]を指定する
[CODE(XMLa)@en[[[alttext]]]] [[属性]]があります。



* 歴史


[FIG(data)[ [216] [[HTML要素概説]]

:[F[要素名]]:[CODE[figd]]
:日付:[TIME[1993-07-13]]
:説明:
[TIME[1993-07-13]]版 [CITE[HTML+]] [[DTD]]
に
[CODE[figd]] 
がある。
[SRC[HTML+19930713]]
現在の [CODE(HTMLa)[alt]] [[属性]]に当たる。
:参照:[CODE[alt]]

]FIG]



** 不思議解釈

[11] >>2 のために[[タグ辞典]]などでは [Q[tooltip のためのタグ]]などとして紹介されていることがあります。

[21] '''検索円陣 spam''':
たまに、[[検索円陣spam]] に使われることがあります。
普通の画像の [CODE(HTMLe)@en[alt]] 属性に spam
目的の適当な文字列を詰め込むだけではなく、
1×1など小さな画像など、普通の[[利用者]]が気づかないような画像を用意して、
その [CODE(HTMLe)@en[alt]] 属性にあること無いことを詰め込む手口のようです。

[22]
[CITE[Re: あなたの知らないかもしれないCSS: 5. こだわりのh1 [/design/html] - 行動記録]] <http://everybody.good-day.net/~iwai/blosxom/design/html/re-css-tricks-10.htm>
([[名無しさん]] [WEAK[2005-08-25 09:14:36 +00:00]])


** 

[113] [[著者]]は次の点に注意するべきです。 [SUP[ [HTML 4] ]]
:書式付けのための画像に、無関係な代替文を指定しない:
例えば見出しや段落の装飾に赤い球の画像を使ったとして、
代替文 [Q[赤い球]] は不適切です。このような場合に代替文は空文字列とするべきです。
しかし、そもそもそのような場合には[[スタイル・シート]]を使う方がより望ましいです。
:意味の無い代替文を指定しない:
[Q[ダミーの文]]のような意味の無い代替文を指定してはいけません。
閲覧者の鬱憤の元です。特に音声 UA や点字 UA では情報伝達が遅くなります。

[16] よく、 [[WYSIWYG]] 型[[著述工具]]などで画像の[[ファイル名]]や寸法
(ファイル・サイズや画像の大きさ) 
や画像形式などを代替文に自動的に入れるものがあります。
こういうことを好む著者もいるようで、
自動的ではなくわざわざ手書きであっても入れる人もいるようです。

しかし、[Q[''代替''文]]の意味を考えれば、愚かなことであります。

[17]
HTML 4 DTD 注釈は[Q[短い説明]]だと説明しています [SRC[[CODE(HTMLe)[img]], [CODE(HTMLe)[area]], [CODE(HTMLe)[applet]]]]。

[23]
[[Line Mode Browser]]は2.14 (1994年11月) で[CODE(HTMLa)@en[[[alt]]]]を[[レンダリング]]するようになりました。

;; [CITE@en[Change History of Line Mode Browser]] 
<http://www.w3.org/LineMode/User/Features.html>

[91] [CITE@ja-JP[代替文 - Weblog]] ([TIME[2007-09-19 07:00:00 +09:00]] 版) <http://ryus.s21.xrea.com/w/item/958>

[90] [CITE[代替テキストで悩む瞬間 (agenda)]] ([TIME[2008-11-26 02:58:16 +09:00]] 版) <http://jintrick.net/agenda/2008/11/post-435.html>

[24]
[CITE[実践アクセシブルHTML - altはつけるだけじゃなくて]] <http://w3j.org/articles/practicalaccessiblehtml/practicalaccessiblehtml01.html>
([[名無しさん]] [WEAK[2006-07-26 12:48:42 +00:00]])

[26]
[CITE[Guidelines on ALT texts in IMG elements]] <http://www.cs.tut.fi/~jkorpela/html/alt.html>
([[名無しさん]])

[27]
[CITE@ja[装飾およびレイアウト目的の画像の代替テキスト | アクセシビリティBlog | ミツエーリンクス]] ([[ミツエーリンクス]] 著, [CODE[2007-02-09 18:38:01 +09:00]] 版) <http://accessibility.mitsue.co.jp/archives/2007/02/emptyalt.html>
([[名無しさん]] [WEAK[2007-02-16 00:22:00 +00:00]])

[28]
[CITE[音声ブラウザと相性の良いHTMLを作る(1)。 (Junnama Online (Mirror))]] ([CODE[2007-06-09 17:25:17 +09:00]] 版) <http://junnama.alfasado.net/online/2007/05/webhtml.html>
([[名無しさん]] [WEAK[2007-06-09 14:36:41 +00:00]])

[29]
[CITE[音声ブラウザと相性の良いHTMLを作る(3)。 (Junnama Online (Mirror))]] ([CODE[2007-06-09 17:25:16 +09:00]] 版) <http://junnama.alfasado.net/online/2007/05/html3.html>
([[名無しさん]])

[30]
[CITE[HTML5 IRC logs: freenode / #whatwg / 20070630]] ([CODE[2007-07-01 02:33:37 +09:00]] 版) <http://krijnhoetmer.nl/irc-logs/whatwg/20070630#l-181>
([[名無しさん]] [WEAK[2007-06-30 17:34:55 +00:00]])

[31]
[CITE[EMail Msg <9309211647.AA00990@Xtreme>]] ([CODE[2007-07-01 04:18:27 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q3.messages/983.html>
([[名無しさん]])

[32]
[CITE[EMail Msg <9308260107.AA23088@stat1.cc.ukans.edu>]] ([CODE[2007-07-01 04:44:10 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q3.messages/774.html>
([[名無しさん]])

[33]
[CITE[A revamp of the alt="" attribute on <img> elements]] ([[Ian Hickson <ian@...>]] 著, [CODE[2007-08-15 04:00:51 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/11688>
([[名無しさん]])

[34]
[CITE@ja[altにまつわるエトセトラ | アクセシビリティBlog | ミツエーリンクス]] ([[ミツエーリンクス]] 著, [CODE[2007-07-17 12:04:13 +09:00]] 版) <http://accessibility.mitsue.co.jp/archives/2006/03/alt_1.html#mainContentsArea>
([[名無しさん]])

[35]
[CITE@ja[altにまつわるエトセトラ | アクセシビリティBlog | ミツエーリンクス]] ([[ミツエーリンクス]] 著, [CODE[2007-07-17 12:04:13 +09:00]] 版) <http://accessibility.mitsue.co.jp/archives/2006/03/alt_1.html#mainContentsArea>
([[名無しさん]])

[36]
[CITE@ja[第23回 画像の代替テキストのベタープラクティス(2):ITpro]] ([CODE[2007-08-24 13:09:54 +09:00]] 版) <http://itpro.nikkeibp.co.jp/article/COLUMN/20070515/270978/?ST=techskill>

> 実際のページ上での見え方は、次のようになる。CSSでdiv要素全体をフロートさせ、本文テキストとは視覚的に区別しやすいようにしておくとよいだろう。

として示された [CODE(HTMLe)@en[[[img]]]] の [CODE(HTMLa)@en[[[alt]]]] が

> 当社の事業ごとの売り上げ規模

これはひどい。 ([Q[当社の事業ごとの売り上げ規模]]は例に用いられた[[画像]]の[[代替文]] (としてもひどいものですが。) であり、[Q[CSSでdiv要素全体をフロートさせ、本文テキストとは視覚的に区別しやすいようにしてお]]いた上での[Q[実際のページ上での見え方]]の[[画像]]の[[代替文]]とはなりえません。)
([[名無しさん]])

[37]
[CITE@ja[alt属性はいかに決定されるべきか | Takazudo Clipping*]] ([CODE[2007-08-07 21:19:55 +09:00]] 版) <http://gyauza.egoism.jp/clip/archives/2007/07/070720-alt-guideline/>
([[名無しさん]])

[38]
[CITE@ja[はてなアイデア - 各ユーザーIDの前にあるプロフィール画像のaltは、ユーザーIDではなくblankに変える。現状は画像OFFでIDが重複表示されるので読みにくい。]] ([CODE[2007-08-24 13:19:08 +09:00]] 版) <http://i.hatena.ne.jp/idea/8777>
([[名無しさん]])

[39]
[CITE@en[Can the alt attribute be omitted without hurting accessibility? | 456 Berea Street]] ([[Roger Johansson]] 著, [CODE[2007-09-08 08:30:51 +09:00]] 版) <http://www.456bereastreet.com/archive/200709/can_the_alt_attribute_be_omitted_without_hurting_accessibility/>
([[名無しさん]])

[40]
[CITE[alt attribute - Anne’s Weblog]] ([CODE[2007-09-21 14:51:26 +09:00]] 版) <http://annevankesteren.nl/2007/09/alt>
([[名無しさん]])

[41]
[CITE@ja[alt属性はいかに決定されるべきか | Takazudo Clipping*]] ([CODE[2007-08-07 21:19:55 +09:00]] 版) <http://gyauza.egoism.jp/clip/archives/2007/07/070720-alt-guideline/>
([[名無しさん]])

[42]
>>41 これの[[著者]]は [[HTML 5]] を読まずに書いたのでしょうが、
[[HTML 5]] 的に見てもほぼ正しい解説です。
([[名無しさん]])

[43]
[CITE[Re: several messages relating to the alt="" attribute]] ([[Ian Hickson <ian@...>]] 著, [CODE[2008-04-10 22:11:38 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/13672>
([[名無しさん]])

[44]
[CITE@nl[HTML5: the war on the mandatory 'alt' - Crisp's blog]] ([CODE[2008-05-11 15:22:58 +09:00]] 版) <http://crisp.tweakblogs.net/blog/695/html5-the-war-on-the-mandatory-alt.html>
([[名無しさん]])

[46]
[CITE[IRC logs: freenode / #whatwg / 20080803]] ([CODE[2008-08-03 12:17:09 +09:00]] 版) <http://krijnhoetmer.nl/irc-logs/whatwg/20080803#l-8>
([[名無しさん]])

[47]
[CITE@en[The alt="" attribute]] ([[Ian Hickson]] 著, [CODE[2008-08-26 17:17:49 +09:00]] 版) <http://lists.w3.org/Archives/Public/public-html/2008Aug/0759.html>
([[名無しさん]])

[48]
[CITE@en[Re: some reflections on @alt usage (and summary of research so far)]] ([[Ian Hickson]] 著, [CODE[2008-08-23 07:45:24 +09:00]] 版) <http://lists.w3.org/Archives/Public/public-html/2008Aug/0602.html>
([[名無しさん]])


[49]
[CITE[Bug 180622 &#8211; Alt text should be prefixed by an icon]] ([TIME[2008-09-21 10:55:07 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=180622>
([[名無しさん]])


** [CODE(XMLe)[alt]] 要素型 (XHTML 2)

[18] [[XHTML 2]] で検討されていた 
[DFN[[CODE(XMLe)[alt]] [[要素型]]]]の[[要素]]は、
[[画像]]の[[代替文]]です。 

[114] 
[CODE(HTMLe)[[[img]]]]
[[要素]]の [CODE(HTMLa)[alt]] [[属性]]に変わるものとして検討されていたと思われ、
[[XHTML m12n]] の [[DTD]] に[[注釈]]がありますが、
その後公表された [[XHTML 2.0]] の [[WD]]
には [CODE(HTMLe)[[[img]]]] [[要素型]]すら存在していませんでした。

[115] 
当時 [CODE[alt]] [[属性]]が[[要素内容]]ではなく[[属性]]とされたのは設計ミスだった、
と事情通らは考えていました。
その根拠の1つは、
[CODE[img]] [[要素]]の提案時に [[TimBL]] が別案を持っていたことでした。
[SEE[ [[img]] ]]
もう1つは、
[[属性]]内には構造を書けないため、
[CODE[bdo]] や [CODE[ruby]]
などに相当する記述ができないことでした。
特に後者を根拠に、 [[W3C]] の [[i18n]] 専門家は[[テキスト]]を[[属性値]]にするべきではないと強く主張していました。

[116] 
[CODE[alt]] [[要素]]もそうした経緯から [CODE[alt]] 属性を転換したものと推測されます。
同様の事例は他に
[CODE[<object standby>]],
[CODE[<table summary>]]
にも見られました。

[117] 
[[XHTML2]]
の
[CODE[img]] 
[[要素]]はその後の開発で迷走しました。
初期の
[[XHTML2]]
は既存の[[要素]]を逆に廃止して[[属性]]に転換する傾向があり、
[CODE[img]]
[[要素]]も廃止されてすべての[[要素]]で [CODE[src]]
[[属性]]が使えることになりました。
[CODE[alt]]
に相当するものは、[[要素内容]]全体がそうであるとされました。
その後揺り戻しのような動きがあり、
(すべての[[要素]]で使える [CODE[src]] [[属性]]は残したまま)
[CODE[img]]
[[要素]]も復活しました。
そのとき 
[CODE[alt]] は復活せず、
[CODE[img]] [[要素]]の内容がそれに相当するとされました。
[SEE[ 経緯の詳細は [[img]] ]]

;; [118] 
[[XHTML m12n]] ([[XHTML1]]) の [[DTD]] になぜか [[XHTML2]]
の初期案が書かれているというのも、開発の迷走を垣間見れるポイントです。
初公開された [[XHTML2]] 案は [[XHTML1]]
とまったくの別物でしたが、
それ以前の [[XHTML2]] 当初案は [[XHTML1]]
から直接発展した形のものだったのでしょう。

[140] 
[CODE[alt]] [[要素名]]の初出は[TIME[2000-10-20]]の [[CR]] でした。 [SRC[>>139]]


[FIG(data)[ [142] [[HTML要素概説]]

:[F[要素名]]:[CODE[alt]]
:日付:[TIME[2000-01-11]]
:説明:
[TIME[2000-01-11]]の
[CITE[XHTML 2.0]]
仕様案に
[CODE[alt]]
が含まれていた。
[SEE[>>143]]
現在の 
[CODE[alt]]
[[属性]]に当たる。
この当時の[[名前空間名]]は模索中だったらしく、
[[HTML名前空間]]だったり新規[[URL]]だったりで一定しない。
また、
体制を変更して作り直された[TIME[2000-07]]時点の
[[XHTML 2.0]] [[DTD]]
案には
[CODE[alt]]
は含まれていない。
:出典:[[XHTML2]]
:注釈:
- [143] 
当時の [[W3C HTML WG]] の議事は非公開で、仕様案も未公開だった。
この時期の仕様案は[[平成時代]]の後半に入った頃に公開されたが、現存しない。

]FIG]

[FIG(data)[ [141] [[HTML要素概説]]

:[F[要素名]]:[CODE[alt]]
:日付:[TIME[2000-10-20]]
:説明:
[TIME[2000-10-20]]の
[CITE[XHTML m12n]]
[[DTD]] に
Provisional XHTML 2.0 Qualified Names
として
[CODE[alt]]
が含まれていた。
すなわち将来の [[XHTML 2.0]] を想定した[[要素名]]の定義が含まれていたが、
何の説明もされなかった。
[SEE[>>145]]
[SRC[>>144]]
[CITE[XHTML m12n]]
の以降の版にもそのまま引き継がれている[SEE[>>146]]。
:出典:
[REFS[

- 
[144] 
[DFN[M12N20001020]]:
[CITE@en[Modularization of XHTML]], 
[DATA(.author)[[[W3C]]]],
[TIME(.published)[20 October 2000][2000-10-20T20:35:01.000Z]], 
[TIME[2024-08-14T03:28:47.287Z]] <https://www.w3.org/TR/2000/CR-xhtml-modularization-20001020/xhtml-modularization-20001020.html>

]REFS]
:注釈:
- [145] 
[CITE[XHTML m12n]],
[CITE[XHTML 1.1]],
初期版 [CITE[XHTML 2.0]]
が一体的に開発された名残りであることが、後に公開された当時のファイル群から判明した。
[SRC[SW:XHTML2]]
- [146] 
[CODE[alt]]
を含まない 
[CITE[XHTML 2.0]]
仕様書が公表された後も残り続けた。

]FIG]



[REFS[

- [139] 
[CITE[Modularization of XHTML]], [TIME[2000-10-20T20:35:01.000Z]], [TIME[2024-08-14T03:28:47.287Z]] <https://www.w3.org/TR/2000/CR-xhtml-modularization-20001020/xhtml-modularization-20001020.html#a_module_XHTML_Qualified_Names>
-[45]
[CITE@ja[ちょっとしたメモ - alt要素?]] ([[Masahide Kanzaki]] 著, [CODE[2008-05-24 21:46:22 +09:00]] 版) <http://www.kanzaki.com/memo/2008/05/21-1>
]REFS]

**

[50] [CITE[SMIL 3.0 Media Object]] ([TIME[2008-12-02 00:45:09 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-extended-media-object.html#adef-media-alt>

[51] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-09-03 22:36:22 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=3740&to=3741>

[52] [CITE[IRC logs: freenode / #whatwg / 20090817]]
([TIME[2009-10-11 15:59:52 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20090817#l-256>

[53] [CITE@en[The alt="" attribute]]
([[Ian Hickson]] 著, [TIME[2008-08-26 17:17:49 +09:00]] 版)
<http://lists.w3.org/Archives/Public/public-html/2008Aug/0759.html>

[54] [CITE@en[(X)HTML5 Tracking]]
([TIME[2010-01-10 23:03:50 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4557&to=4558>

[55] [CITE@en-us[alt Property (OBJECT, APPLET, AREA, ...)]]
([TIME[2010-03-14 22:06:47 +09:00]] 版)
<http://msdn.microsoft.com/en-us/library/ms533073(VS.85).aspx>

[56] >>55 によれば [[WinIE6]] 以降は [CODE(HTMLe)@en[[[object]]]] [[要素]]にも
[CODE(HTMLa)@en[[[alt]]]] [[属性]]があるそうです。ただ、[[レンダリング]]には影響しないらしく、
また [[WinIE]] での [[DOM]] の実装方法故に実際に実装されているのかどうかは確認できません。

[57] [CITE@en[HTML5 Revision Tracker]]
([TIME[2010-04-13 22:58:54 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=5025&to=5026>

[58] [CITE[Bug 9217 – Remove the Paragraph-Section-Heading loophole for not providing a text alternative.]]
([TIME[2010-04-13 22:59:43 +09:00]] 版)
<http://www.w3.org/Bugs/Public/show_bug.cgi?id=9217>

[59] [CITE@en[HTML5 Revision Tracker]]
([TIME[2010-04-14 07:51:35 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=5037&to=5038>

[60] [CITE@en-US[HTML5: Techniques for the provision of text alternatives]]
([TIME[2010-05-20 00:08:38 +09:00]] 版)
<http://dev.w3.org/cvsweb/~checkout~/html5/alt-techniques/Overview.html?content-type=text/html;%20charset=utf-8>

[61] [CITE@en[Working Group Decision on ISSUE-66 - Image Analysis Heuristics]]
([[Sam Ruby]] 著, [TIME[2010-06-02 06:52:08 +09:00]] 版)
<http://lists.w3.org/Archives/Public/public-html/2010Jun/0001.html>

[62] [CITE@en[HTML5: Techniques for providing useful text alternatives]]
([TIME[2010-06-26 06:44:37 +09:00]] 版)
<http://www.w3.org/TR/2010/WD-html-alt-techniques-20100624/>

[63] [CITE[Bug 9241 – Explicitly state, "For guidance on accessibility requirements for text alternatives authors should consult WCAG 2.0" and link to WCAG 2.0]]
([TIME[2010-06-26 19:37:33 +09:00]] 版)
<http://www.w3.org/Bugs/Public/show_bug.cgi?id=9241>

[64] [CITE[WAI CG Consensus Resolutions on Text alternatives in HTML 5]]
([TIME[2009-06-11 06:49:25 +09:00]] 版)
<http://www.w3.org/2009/06/Text-Alternatives-in-HTML5>

[65] [CITE@en[HTML5: Techniques for providing useful text alternatives]]
( ([TIME[2010-10-23 03:33:46 +09:00]] 版))
<http://www.w3.org/TR/2010/WD-html-alt-techniques-20101019/>

[67] [CITE@en[HTML5: Techniques for providing useful text alternatives]]
( ([TIME[2011-01-15 03:48:14 +09:00]] 版))
<http://www.w3.org/TR/2011/WD-html-alt-techniques-20110113/>

[68] [CITE@en[Web Applications 1.0 r5993 9081]]
( ([TIME[2011-04-13 06:58:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5992&to=5993>

[69] [CITE@en[Web Applications 1.0 r6027 apply wg decision (private communication exception)]]
( ([TIME[2011-04-26 07:53:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6026&to=6027>

[70] [CITE@en[Web Applications 1.0 r6028 apply wg decision (introductory text for <img>)]]
( ([TIME[2011-04-26 08:09:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6027&to=6028>

[71] [CITE@en[HTML5: Techniques for providing useful text alternatives]]
( ([TIME[2011-05-26 01:26:08 +09:00]] 版))
<http://www.w3.org/TR/2011/WD-html-alt-techniques-20110525/>

[72] [CITE@en[HTML5: Techniques for providing useful text alternatives]]
( ([TIME[2012-03-30 03:44:01 +09:00]] 版))
<http://www.w3.org/TR/2012/WD-html-alt-techniques-20120329/>

[73] [CITE[IRC logs: freenode / #whatwg / 20120518]]
( ([TIME[2012-05-31 08:07:55 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120518>

[74] [CITE@en[Web Applications 1.0 r7202  Allow conformance checkers more leeway in reporting missing alt='' errors.]]
( ([TIME[2012-07-25 03:59:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7201&to=7202>

[75] [CITE[''''''[''''''whatwg'''''']'''''' alt="" and the <meta name=generator> exception]]
( ([TIME[2012-08-01 07:56:50 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-August/036773.html>

[76] [CITE[IRC logs: freenode / #whatwg / 20120801]]
( ([TIME[2012-08-06 21:04:00 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120801>

[77] [CITE[''''''[''''''whatwg'''''']'''''' Conformance checking of missing alternative content for images]]
( ([TIME[2012-08-22 00:43:34 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-August/036960.html>

[78] [CITE@en[Web Applications 1.0 r7250   Let's try a different approach for markup generators unable to include alt attributes.]]
( ([TIME[2012-08-22 09:43:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7249&to=7250>

[79] [CITE@en[HTML5: Techniques for providing useful text alternatives]]
( ([TIME[2012-10-25 03:45:16 +09:00]] 版))
<http://www.w3.org/TR/2012/WD-html-alt-techniques-20121025/>

[80] [CITE@en[Overview of Alt Usage]]
( ([TIME[2012-11-24 00:24:57 +09:00]] 版))
<http://htmlwg.org/alt-usage/>

[81] [CITE@en[Examination of alt text guidance in the HTML5 Draft]]
( ([TIME[2012-11-20 08:11:51 +09:00]] 版))
<http://www.davidmacd.com/WCAG/WAI/buggy.html>

[82] [CITE@en[Web Applications 1.0 r8281     Adjust the rules on rendering images without 'alt' attributes.]]
( ([TIME[2013-11-14 07:42:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8280&to=8281>

[83] [CITE[Bug 120188 – AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)]]
( ([TIME[2013-12-13 20:36:38 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=120188>

[84] [CITE@en[Web Applications 1.0 r2951  alt='' is required, more or less... conformance checkers can say so, anyway (credit: sp) (bug: 6494)]]
( ([TIME[2009-04-01 10:49:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=2950&to=2951>

[85] [CITE@en[Web Applications 1.0 r3741  Allow validators to not complain if alt='' is omitted if <meta name=generator> is specified, on the assumption that we don't want WYSIWYG editors to be forced to add in bogus alt='' text just to shut up validators.]]
( ([TIME[2009-09-03 21:26:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=3740&to=3741>

[86] [CITE@en[Web Applications 1.0 r7250   Let's try a different approach for markup generators unable to include alt attributes.]]
( ([TIME[2012-08-22 09:43:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7249&to=7250>

[87] [CITE[Welcome to Netscape Navigator Version 1.1]]
( ([TIME[2014-04-07 08:53:10 +09:00]] 版))
<http://web.archive.org/web/20030203042026/http://wp.netscape.com/eng/mozilla/1.1/relnotes/windows-1.1.html#Images>

[88] [CITE@en[Web Applications 1.0 r8789  Suggested alternative text for anciliary images.]]
( ([TIME[2014-09-19 08:02:00 +09:00]] 版))
<https://html5.org/r/8789>

** [CITE[HTML5: Techniques for the provision of text alternatives]]


[109] 
かつて [[WHATWG]] と対抗して独自路線に走っていた時期の [[W3C]] [[HTML WG]]
は、
なぜか (何らかの[[政治的理由]]により)
[[HTML]] の仕様書の [CODE[alt]]
[[属性]]の部分を[[コピペ]]した上で独自の内容を付加した新しい仕様書
[DFN[[CITE[HTML5: Techniques for the provision of text alternatives]]]]
を公開していました。


[REFS[
-
[119] 
>>60 およびそれ以後
-[89] [CITE@en[HTML5: Techniques for providing useful text alternatives]]
( ([TIME[2014-10-17 05:22:25 +09:00]] 版))
<http://www.w3.org/TR/2014/WD-html-alt-techniques-20141023/>
-
[92] [CITE@en[HTML5: Techniques for providing useful text alternatives]]
( ([TIME[2015-05-17 11:03:19 +09:00]] 版))
<http://www.w3.org/TR/2015/NOTE-html-alt-techniques-20150521/>
-
[120] [CITE@en[HTML5: Techniques for providing useful text alternatives]], [TIME[2016-08-18T15:30:43.000Z]], [TIME[2022-02-04T10:26:08.591Z]] <https://w3c.github.io/alt-techniques/>

]REFS]


[110] 
わざわざ別の文書に分離して公開していた理由は定かではありません。
結局メンテナンスし切れなくなったためなのか、
数年後に廃止されて [[W3C HTML]] 本体仕様書に統合されました [SRC[>>92]]。
(独自に付加した内容がその時どうなったのかはよくわかりません。要検証です。)


[111] 
独自の内容は改変の根拠が不明なものも多く、
[[WHATWG]] から相手にされなかったのも宜なるかなといったところですが、
不可解なのはその後
[[W3C HTML]]
に統合され、
その 
[[W3C HTML]]
も廃止されて
[[WHATWG]] [CITE[HTML Standard]]
に一本化されるという流れの中で、
独自改変部分を 
[[HTML]]
本体仕様に[[バックポート]]していこうという動きがまったく見られなかった点でしょう。
わざわざ別の文書を作るほど熱心だった人達はどこへ行ったのでしょうか。
自分達の文書が一旦完成したら、あとはもう興味はないのでしょうか。


[112] 
[[W3C]] [[HTML WG]]
の仕事はこの種の雑なものが多く、
数年分の開発成果があるはずなのに、虚空に消えてしまいました。
(開発成果、といっても意味のある作業は [[WHATWG]] 側でしか行われていなかったので、
消えても誰も困っていないんですよね。。。)

-*-*-

[121] 
[CITE@en[HTML5: Techniques for providing useful text alternatives]], [TIME[2017-10-02T10:50:49.000Z]], [TIME[2022-02-04T10:27:02.602Z]] <https://www.w3.org/TR/2014/WD-html-alt-techniques-20141023/#gj>

[126] 
ここに [[gaiji]] について書かれています。オリジナルの [CITE[HTML Standard]]
にも[[外字]]への言及はあって、相当する文字や説明を [CODE[alt]]
に書くべし、文字で書けるなら画像は使わないで、と当たり前のことしか書いてません。
ところがこの文書は当たり前のことでは足りないと思ったのか、
わざわざ別のことを書いています。すなわち、 [SRC[>>121]]

- [122] 
文字で書けない文字を表示する「裏技」的な外字の画像は消して、文字で書くべき。
- [123] 
フォントにない文字を表示する外字の [CODE[alt]] はその文字にするべき。
- [124] 
絵文字を表す外字の [CODE[alt]] は絵文字の短い説明にするべき。
- [125] 
new or made-up 文字で Unicode で表せない外字は読みを仮名で
[CODE[alt]] に書くべき。

[127] 
問題点を理解していない人が思いつきで書いたとしか思えないアドバイスです。
こんな浅い雑なことを書く必要はあったのでしょうか。
(わざわざ書かなくても [CITE[HTML Standard]] 由来の元の規定は別にあるのです。
あえて一言付け加える必然性はどこにもありません。)

[128] 
外字画像は文字として書けないから仕方なく画像にしたに決まっています。
文字に置き換えろなんて、それができるならそうしたいでしょう。余計なお世話です。

[129] 
これを書いた人は、正当な[[外字]]は[[絵文字]]か
「new or made-up 文字で Unicode で表せない」
ものしかないと思っているようです。
新造字が [[Unicode]] に入ってないのは仕方ないですが、
何百年も前からあるのに [[Unicode]] に入ってない文字がたくさんあるという非英語圏の現実が、
何もわかっていない。わかっていないならわかっている人に聞くか、
黙っていればいいのです。

[130] 
[[外字]]の読みがはっきりしているとも限りません。読みを書くのが良い方法とも限りません。
現実によく見かけるのは部品の構成を表す方法でしょうか ([[漢字]]の場合)。
[[異体字]]なら近い[[文字]]を使うという方法もあります。
おそらくそのような含みもあって、大元の [CITE[HTML Standard]]
では読み仮名を書く方法もある、と例示するのにとどまっているのですが、
この仕様書はなぜか新造字には仮名で読みを書けと言っています。
([[日本語]]以外なら、仮名で読みを書けと言われても困るでしょう。
この仕様書は何の断りもなく日本語の場合に限定して語っています。)

[131] 
この中途半端で意味不明な仕様書が広まって謎マナーが形成されることなく、
誰にも相手されることなく破棄されたのは不幸中の幸いというべきでしょう。
(歴史的に、 [[HTML]] の仕様書の細かい言い回しを曲解しておかしな仕草を
[[W3C]]
の提唱する [[HTML]] のあるべき姿だと語る人が少なくありませんでしたから、
決して杞憂とは言えません。)


**

[93] [CITE@en[The images /images/sample-bdi.png and /images/sample-not-bdi.png has no alt attribute · Issue #750 · whatwg/html]]
([TIME[2016-03-03 21:05:39 +09:00]] 版)
<https://github.com/whatwg/html/issues/750>

[94] [CITE@en[Re: '''['''css-pseudo''']''' please make sure pseudo-element "alt" property makes   it into next ED]]
( ([[fantasai]]著, [TIME[2014-11-06 01:48:18 +09:00]]))
<https://lists.w3.org/Archives/Public/www-style/2014Nov/0046.html>

[FIG(quote)[
[FIGCAPTION[
[95] [CITE[京町家・中古住宅をリノベーションにより上質な空間へとプロデュースする京都の不動産会社 株式会社 八清(ハチセ,Hachise)]]
( ([TIME[2016-07-15 12:29:25 +09:00]]))
<http://www.hachise.jp/>
]FIGCAPTION]

> <h2 id="newarrivals_h2" class="h2_back"><img src="index/img/h2_newarrivals.png" width="270" height="75" alt="新着物件"/><span>新着物件</span></h2>

]FIG]


[96] [CITE@ja[Office 365の新機能「画像認識による代替テキスト自動生成機能」 | スラド IT]]
([TIME[2016-12-07 20:21:05 +09:00]])
<http://it.srad.jp/story/16/12/06/0454236/>

[FIG(quote)[
[FIGCAPTION[
[97] [CITE@ja[はてなフォトライフの画像を貼り付けるときに、フォトライフ記法でaltとtitleを指定できるようにしました(はてな記法モード、Markdownモード) - はてなブログ開発ブログ]]
([TIME[2017-02-24 16:27:26 +09:00]])
<http://staff.hatenablog.com/entry/2017/02/24/152000>
]FIGCAPTION]

> はてなブログでは、はてなフォトライフに投稿した画像を表示するはてな記法(fotolife記法)を拡張し、画像(img要素)のtitle属性とalt属性を指定できるようにしました。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[98] [CITE@en[Micropub]]
([TIME[2017-05-21 23:18:57 +09:00]])
<https://micropub.net/draft/#uploading-a-photo-with-alt-text>
]FIGCAPTION]

> In order to support more complex values of properties, you can create a post with JSON syntax by sending the entry in the parsed Microformats 2 JSON format.

]FIG]


[99] [CITE@en[remove requirement to ignore title when alt is empty]]
([[stevefaulkner]]著, [TIME[2017-11-23 20:57:19 +09:00]])
<https://github.com/w3c/html-aam/commit/6da0fef9384b6a67c5f6b79d3c02a33994d350bf>

[100] [CITE@en[WCAG/HTML name computation discrepancy with `<img alt="" title="foo"> · Issue #99 · w3c/html-aam]]
([TIME[2017-11-24 14:00:54 +09:00]])
<https://github.com/w3c/html-aam/issues/99>

[101] [CITE@en[clarify img with empty alt / issue #54]]
([[jasonkiss]]著, [TIME[2017-12-18 13:50:13 +09:00]])
<https://github.com/w3c/html-aam/commit/b692be14ef497acfbc8e4b4aef25325d59bb18a1>

[102] [CITE@en[HTML-AAM: "img (alt attribute is empty)" reword for clarity · Issue #54 · w3c/html-aam]]
([TIME[2017-12-19 17:06:45 +09:00]])
<https://github.com/w3c/html-aam/issues/54>

[103] [CITE@en[Clarify image display when src is an empty string, again]]
([[mwenge]]著, [TIME[2018-01-05 04:40:54 +09:00]])
<https://github.com/whatwg/html/commit/50c65e0c896a8fff2ed499cb3a1e325c56e61411>

[104] [CITE@en[clarify empty alt / issue #55]]
([[jasonkiss]]著, [TIME[2018-02-26 10:43:34 +09:00]])
<https://github.com/w3c/html-aam/commit/a967061e00ec9500b7edf050f172624e4d029acc>

[105] [CITE@en[HTML-AAM: how to treat <img alt> with no value · Issue #55 · w3c/html-aam]]
([TIME[2018-05-08 21:44:02 +09:00]])
<https://github.com/w3c/html-aam/issues/55>

[106] [CITE@ja[代替テキストを全てひらがなにすることについての議論 - Togetter]]
([TIME[2019-12-08 17:36:50 +09:00]])
<https://togetter.com/li/1436171>

[107] [CITE@ja[画像のアクセシビリティを向上させる方法]]
([TIME[2020-06-01 09:25:41 +09:00]])
<https://help.twitter.com/ja/using-twitter/picture-descriptions>

[108] [CITE@ja[Twitterの新機能「ALT:代替テキスト」 目が不自由な方も画像の内容が理解しやすくなる😊 - Togetter]]
([TIME[2020-06-01 09:26:01 +09:00]])
<https://togetter.com/li/1531484>



- [133] [CITE@ja[Xユーザーのymrlさん: 「ふつうのWebでの代替テキストの問題のほとんどは、「alt属性がない」「alt属性にファイル名とか意味不明な文字列が入っている」「alt属性が全部空文字」とかなので、発信者のお気持ち隠しテキスト欄として使われてるTwitterの現状はわりとイレギュラーな世界なのよね」 / X]], [TIME[午後8:55 · 2024年3月22日][2024-03-22T11:55:13.000Z]], [TIME[2024-03-27T03:02:46.000Z]] <https://twitter.com/ymrl/status/1771143592192643450>
-- [134] [CITE@ja[Xユーザーのymrlさん: 「これはALTバッジがあったから生まれた表現とも言える気がしていて、現象としては面白いことが起きてると思ってる。もちろんALTはあくまで画像の代替テキストであり視覚障害者のアクセシビリティのために重要なのでそういう使い方をしないでほしいですが……。」 / X]], [TIME[午後8:55 · 2024年3月22日][2024-03-22T11:55:13.000Z]], [TIME[2024-03-27T03:02:46.000Z]] <https://twitter.com/ymrl/status/1771143593694240954>


[135] 
でもそれって [[IE]] が [CODE[alt=""]] を[[tooltip]] 表示していた時代にあったのと本質的に同じ問題で、
ツールが変わっても人類がやることはかわらないってことでもあるのよぬ。


[136] 
[[HTML5]] の頃まで[[代替テキスト]]にあたるものを機械が生成するのは無理 (何十年も先の夢物語) と思われていたから、
[CODE[alt=""]] をなんとかしないといけないという問題意識が成立していたわけですけど。
機械生成が現実的になってきて、 [CITE[Instagram]] なんかは既にやり始めている今この時代になって、
なんで急に [CITE[Twitter]] が人間による[[代替テキスト]]設定機能を出してきたのかが謎ですよね。

[137] 
あと[[日本語]]のときになんで「代替」とか[[ローカライズ]]しないで「ALT」とかいう謎英語にしてるのかも謎。
「代替」みたいなダサいテキストが出てればもっと日本人利用者の反応は違っただろうにw


[138] 
つまるところ本当に [CITE[Twitter]] 運営側が「画像をみれない人向けの代替テキスト」
機能を提供しようと (本心から) 思ってるのか疑問があるのですよね。
本気でそうしたいと思っていると推察できる機能デザインに見えない。
画像に追加の説明文書ける入力欄をつけたろ、っていう程度の軽い動機なんじゃないのか
(140字制限撤廃とか、動画とか生配信とかと同じ、ツイートのリッチ化と同方向なのではないのか)
という邪推が排除できなくて。

