* 課題
[21] [CODE(HTMLa)[title]] 属性は有用ではありますが、
汎用的であるために機械処理はほとんど不可能であったり、
属性であるために構造を持てないと言ったような問題があります。
[95]
また、 [[WinIE]] などの多くの [[WWWブラウザ]]で tooltip
として表示されるように実装されているがために tooltip
のための[[タグ]]であると一部で誤解されていることも問題です。
** 属性は構造を持てないという問題
[53]
[CODE(HTMLa)[title]] [[属性]]の最大の問題の1つが、
[[属性]]であるが故に構造を含めることができないという点です。
例えば、説明文の一部を強調しようと思っても[[属性値]]に
[CODE(HTMLe)[[[em]]]] [[要素]]を含めることは当然できません。
[[要素]]の[[内容]]が[[日本語]] ([CODE(HTMLa)[[[xml]]:[[lang]]]]
[[属性]]が [CODE(lang)[[[ja]]]]) なのに [CODE(HTMLa)[[[title]]]]
[[属性値]]は[[英語]]だとしても、それを明示することもできません。
この反省から、 [[XML]] の[[語彙]]を設計するための[[要素]]と[[属性]]の使い分けの指針として、
人間が読む文章 ([[HTML 4]] [[DTD]] でいう [CODE(SGML)[%[[Text]]]])
は[[要素]]にするべきだといわれています。
[104] ただし、 [[SGML]] [[語彙]]の歴史的な設計方針、
すなわち典型的な[[レンダリング]]で表示されるべき部分を[[内容]]とし、
それに対する補助的情報を[[属性]]として記述するという方法には
[CODE(HTMLa)@en[[[title]]]] [[属性]]は忠実です。
実際問題、仮に[[要素]]として導入したとすると、
未対応の[[利用者エージェント]]で他の[[内容]]と同じように[[レンダリング]]されてしまうため、
互換性に難があって使われなかった可能性もあります。なので、
あながち間違いだったとも言い切れない部分があります。
** 大きな要素の tooltip 表示の問題
[120] [[視覚UA]] では [CODE(HTMLa)@en[[[title]]]] [[属性]]を [[tooltip]]
として[[レンダリング]]するのが[[事実上の標準]]ですが、表示領域が大きな[[要素]]に対して
[CODE(HTMLa)@en[[[title]]]] [[属性]]を指定すると[[閲覧領域]]上の大部分が [[tooltip]]
が表示される領域になってしまい、[[利用者]]にとってうざい存在になる虞があります。
なので表示領域が大きな[[要素]]に [CODE(HTMLa)@en[[[title]]]]
[[属性]]を付与するのは躊躇しがちになってしまいます。
* 例
[31] [CODE(HTMLe)@en[[[ins]]]] [[要素]]の編集を説明する例 [SRC@en[[[HTML4]]]]
[PRE(HTML)[
Furthermore, the latest figures from the marketing department
suggest that such practice is on the rise.
]PRE]
[106] この例では変更の理由が [CODE(HTMLa)[title]]
属性として記述されています。ある程度の分量があるなら、
別の文書や別の部分に記述して、 [CODE(HTMLa)[[[cite]]]]
属性でリンクした方が良いかもしれません。
[36] [CODE(HTMLe)@en[[[a]]]] [[要素]]の[[リンク]]を説明する例
[SRC@en[[[HTML4]]]]
[PRE(HTML)[
...some text...
You'll find a lot more in chapter two.
See also this map of
the enchanted forest.
]PRE]
[86] [[Google]] [[KML 2.2]] Annex A
での使用例:
[PRE(XML example code)[
]PRE]
** 試験例
[67]
[CITE@en[Title attribute tooltip test suite]] ([CODE[2007-01-18 14:40:58 +09:00]] 版)
([[名無しさん]] [WEAK[2007-01-18 06:02:55 +00:00]])
** 実例
[74]
[CITE[livedoor Blog PRO プレゼントキャンペーン! - livedoor Blog]] ([CODE[2007-07-04 01:57:30 +09:00]] 版)
>
[PRE(HTML example code)[
livedoor Blog PROってなに?
]PRE]
なにがしたかったのでしょうか。
[75]
[CITE@ja[2007年07月|ぷちふぁみ。]] ([CODE[2007-07-04 02:05:21 +09:00]] 版)
>
[PRE(HTML bad example code)[
B