2011-04-23

HTML5 の img 要素に alt 属性は必須ではない

最近、Blogger の投稿エディターで写真を挿入すると、img 要素に alt 属性が付かなくなっていた。HTML4 や XHTML1.1 では、img 要素に alt 属性は「必須」要素なので、どうしたことかしらん? と思っていた。

そこで読んだのがこの記事。

HTML5ではalt属性はオプション扱いで省略可能です。ちょっとここら辺はややこしいのですが、代替テキストの記述は推奨されますが、alt属性を省略することで意図的に代替テキストを利用しないことができるようになってます。

Re:犯してはいけないHTMLタグの過ち10個[to-R] より引用

なんと、HTML5 では alt 属性が「必須」から「推奨」に変更されている。また、代替テキストがないことを HTML4 や XHTML1.1 では img alt="" で明示的に表すけれども、それも HTML5 では alt 属性を書かないことで表す仕様らしい。

それで、最近の Blogger のテンプレートを見てみると HTML5 で書かれていることが分かった。

<!DOCTYPE html>

つまり、最近の Blogger は HTML5 対応になっていたんだね。知らなかった。

あとがき

ぼくの Blogger テンプレートは XHTML1.0 時代のものに手を入れて使っているけど、一度 HTML5 なテンプレートに直してあげようかな? 最近のテンプレート・エディターは随分と良さそうだし。

2 comments:

  1. blogger愛用者です。

    blogger画像にalt属性がないのを不思議に思いググッてこちらを参照させていただきました。

    HTML5では必要ないとのことですが、それは何の画像なのか分別しない、または画像の多い少いは、SEO・検索対象として関係ないということでしょうか?

    ReplyDelete
  2. 藤元さん、初めまして。
    拙文お読み下さり、ありがとうございます。

    さて、HTML5 の話ですが、いまだ上の方でごちゃごちゃしていて確定的なことではないことをまず覚えておいて下さい。その上で、私が理解していることを書きます (間違っているかもしれません)。

    HTML5 は「仕様優先」よりも「実用優先」で定義されています。言い換えれば、HTML validations でエラーにならないよう簡略化されているということです。HTML4 の歴史を振り返るに、alt 属性を書いている人が少なかった。そのため、これを「必須」にすると、validation でエラーが沢山出てしまう。だから「必須」から「推奨」に変わったのではないかと思います。

    これは、alt 属性を書かない人達向けの配慮であり、ちゃんと alt 属性を書いてた人は今まで通り書けば良いと思います。SEO や検索対象としても効果はあると思います。

    以上、答えになりましたでしょうか?

    ReplyDelete