Microsoft と Eolas Technologies との間で問題になった Web ブラウザ特許侵害訴訟への対応のため、4月の月例セキュリティ・アップデートで行われた IE の仕様変更 (Internet Explorer 用の累積的なセキュリティ更新プログラム : KB912812) によって、<object> や <embed> タグを使用した Flash コンテンツの表示方法では Flash コンテンツの周りに枠や、クリックして有効化しろという指示が表示されてしまうという問題が発生しました。
この問題自体は Flash コンテンツを <object> や <embed> タグを使用して表示させるのではなく、Javascript を利用して表示させるソリューションが提供されたことで一応解決したわけですが、ここに思わぬ副産物が......
ってそんなに大したことではないのですが、<object> は良いとして、<embed> タグを使用した記述では、(X)HTML 的に Valid にならないっていう問題があって、W3C の Markup Validation Service あたりで (X)HTML のソースチェックをしつつ、Valid な (X)HTML を目指しているような人ならわかると思いますが、ちと気持ち悪い感じになってたわけです。だからといって、<embed> タグを使わなきゃ Netscape 系のブラウザで Flash が表示されないし。
これは、<embed> タグが NetscapeNavigator 向けの独自拡張タグという扱いのため、ISO-HTML や W3C の勧告に含まれない 「非推奨」 タグであることに起因しています。よって、HTML 4.01 や XHTML ですよ、と文書型宣言したソース内でこのタグを使用した場合は Valid になりません。
ところが、Flash 自体を Javascript で表示させるってことは、当然 <embed> タグは使わないわけで、気がついたら Valid なソースになっちゃってましたっていう。
Valid な HTML を追求する人たちの間では、以前から Javascript で Flash 周りのソースを document.write するなどの手段で解決する方法は知られていたのですが、今回の件で、知らないうちに Valid な HTML が出来上がるケースもあるかもしれません。