Operaはimg要素のlongdesc属性に対応している

CSS Nite in Ginza, Vol.44(cssnite.jp)に行ってきました。今回は植木真さんによるJIS X 8341-3改定のお話。

話の中で、仕様的に正しい方法で実装しても実際のUAでサポートされていなければ、達成基準を満たしたことにはならない旨の説明があり、例としてimg要素のlongdesc属性が挙げられました。この話自体は、以前よりアクセシビリティPodcast(accessibility.mitsue.co.jp)などで何度か話題になっており、とくに目新しい発言ではないのですが、ちょっとだけコメントしてみます。

longdesc属性は確かにほとんど使われていないマニアックな属性ですが、Operaはちゃんと対応していたりするのですよね。この属性が指定された画像のコンテキストメニューを表示させると、その名も「longdesc 属性」が現れます。

オリジナル画像
図1longdesc属性が設定された画像のコンテキストメニュー

しかし、右クリックなどでコンテキストメニューを表示させる必要があるという時点でほとんどのユーザーは気づかないでしょうし、気づいたところで「longdesc」と言われても、普通の人は何のことだか分からないものと思われます。

そもそも対応ブラウザの利用者自体が少ないという致命的な問題もありますし、結局のところ、現時点では画像の長文説明コンテンツを示す方法としてlongdesc属性を単体で使うのは不親切である気がします。使う場合、別途a要素などで長文説明コンテンツへリンクするといった配慮をした方がよいと思います。

なお、IE7以下では、object要素で画像を表示すると強制的にスクロールバーが表示されてしまう(msdn.microsoft.com)ので、対策としてUAがIE7以下のものの場合のみimg要素で表示させるようにしています。これでも、IE7以下で画像表示をオフにしている場合とか、object要素による画像表示に対応しておらず、その中身すら認識しないUAに対して情報が伝わらないという問題がありますが…。