ちょっとしたメモ

alt要素?

alt要素なんて、もちろん今の仕様には存在しないわけだけれど、それらしきものが検討された様子がある…という話を、何かのページの一部に書いたような気がするのだが、消してしまったみたいなので、思い出しながら書き記しておこう。検討の痕跡が残っているのは、XHTMLモジュール化仕様のDTD実装ページだ。

このページのF.2.5. XHTML Qualified NamesのセクションBは、「XHTMLの全要素型の名前空間修飾名を提供するためのパラメータ実体を宣言する」とされている。つまり、このセクションでxxx.qnameという形の定義があれば、xxxはXHTMLの要素型名として用いられる(と想定されている)ことをあらわす。このセクションの最後には、次のような記述がある。

<!-- Provisional XHTML 2.0 Qualified Names  ...................... -->
<!-- module:  xhtml-image-2.mod -->
<!ENTITY % alt.qname     "%XHTML.pfx;alt" >
<!-- end of xhtml-qname-1.mod -->

XHTML 2.0の暫定的な修飾名として宣言されているのがalt.qname。すなわち、XHTMLモジュール化仕様が検討されていた当時は、XHTML 2.0で「alt要素」を導入する考え(可能性)があったということだ。もっとも、XHTML2の最初の草案がでたときには、この幻の「alt要素」は含まれていなかったのだが。

これがどんな使い方を想定したものなのかは、想像するしかないが、OASISのDITA言語にはalt要素が定義されていて、次のような用例が示されている。

(DITAのimage要素とalt要素の例)

<image href="tip-ing.jpg">
  <alt>Here's a Tip!</alt>
</image> 

DITAのimage要素にはalt「属性」も定義されているが、こちらは非推奨(deprecated)で、代替テキストはalt要素で示すこととされている。おそらく、XHTMLでもこのような使い方が念頭にあったのだろう。

HTML5でのalt属性についてはいろいろな議論があるようだけれど、実は2007年8月に「alt要素」の提案も行われていた。このアイデアは、上記のXHTML2のものとは別の話で、ESW WikiのHTML/ABetterAltページにまとめられている。採用されるには至らなかった模様だが、なかなか興味深い内容になっている。alt属性の問題点や、本来はそれに取って代わるはずのobject要素もうまく行かない点など、もう一度考えてみる価値はあるだろう。

実際に、HTML文書に含まれるオブジェクトは、画像だけでなく多様化しており、代替テキストをきちんと提供することは以前にも増して重要になってきている。「alt要素だって? 寝ぼけてんじゃないの?」と言っている場合じゃないかもしれない。