米Microsoftが2007年末にリリースする予定の「Outlook 2007」がサポートするHTML要素とCSS(Cascading Style Sheets)要素に関する詳細が明らかになった。Outlook 2007では,CSSのサポートが大幅に強化される。ニュース・レターなどをHTML形式で送信している組織は,Outlook 2007における仕様変更に注目すべきだろう。
Microsoftは,Outlook 2007でHTMLとCSSのレンダリング機能の仕様が大きく変更されるのに合わせて,「Visual Studio 2005」や「Office SharePoint Designer 2007」,「Expression Web Designer 2007」,「Macromedia Dreamweaver MX 2004」,「Dreamweaver 8」といったツールで作成した文書がOutlook 2007でうまく表示されるか検証するツールもリリースしている。「Outlook HTML and CSS Validator」というこのツールは,MicrosoftのWebサイトでダウンロード可能だ。
IE依存ではなくなるOutlookのHTMLレンダリング
なぜこのような検証ツールが必要かというと,Outlook 2007のHTMLレンダリング機能は,もはやInternet Explorer(IE)に依存していないからだ。これまでのバージョンでは,OutlookでHTMLメッセージがどのように表示されるかは,そのシステムにインストールされているIEのバージョンに依存していた。Outlook 2007以降は,このIE依存性が解消される。その代わり,Outlook 2007では「Word 2007」があらゆるタイプのOutlookアイテムの唯一のエディタとして使われるのと同様に,Word 2007のレンダリング・エンジンによってHTMLメッセージが表示される。そのため今回初めて,システムにインストールされているIEのバージョンと関係なく,HTMLメッセージがOutlookでどのように表示されるかを,あらかじめ正確に理解できるようになった。
セキュリティを重視するシステム管理者は,IEに依存しなくなることを歓迎するだろう。以前のバージョンのOutlookでは,例えばメッセージにスクリプトが含まれる場合でも,[表示]メニューの[インターネット ゾーンで表示]を選択すると,セキュリティ・レベルが低いインターネット・ゾーンでHTMLメッセージを表示できた。しかしOutlook 2007では,scriptタグを始めとする多くのHTML要素がサポートされなくなった。
セキュリティ・レベルが低い状態で電子メールを表示する機能は残っているが,メッセージの画面で[その他のアクション]-[ブラウザで表示]というコマンドを選択しなければならなくなった。ユーザーがこのコマンドを実行すると,HTMLメッセージの処理はOutlookからユーザーが使っているWebブラウザに丸投げされ,Webブラウザのセキュリティ構成に従ってコンテンツが表示される。従ってOutlook 2007では,HTMLメッセージ内のスクリプトは決して実行されない。
かなりの数のHTMLタグが無効に
formタグも,フォーム制御に関連するすべてのタグとともに,Outlook 2007ではブロックされる。つまり,Outlookユーザーに[送信]ボタンのついたフォームを含むHTMLを送信することで,電子メール・メッセージやWebサイトを使って入力データを返してもらえなくなることを意味する。Outlook 2007ユーザーは,データ入力コントロールと[送信]ボタンを表示することすらできないのだ。ユーザーにフォームを送信させるためには,先ほどの[ブラウザで表示]コマンドを使って,WebブラウザでHTMLコンテンツを表示させる必要がある。
この変更によって,いくつかの企業は明らかに影響を受けることになる。例えば,オーストラリアに拠点を置く電子メール・プロバイダであるAliencamel.comは,スパム隔離フォルダに隔離された電子メールを「スパムではない」と定義する際に,ユーザーが電子メール・ベースのフォームを使って確認するという仕組みを現在使っている。
Aliencamel社のSydney Low氏は,Outlook 2007のユーザーに対応するために2つのソリューションを検討しているという。すなわち,同等の機能を実行するツールバー・ボタンを提供するアドインを追加するか,またはそのHTMLコードにブラウザやレンダリング方法の検出機能を組み込むか,そのいずれかの方法によってメッセージをOutlook 2007に合わせて最適化して表示しようとしている。Low氏は,「電子メールをOutlook 2007で表示するときに,あるクライアントには『コンテンツを表示するにはこのリンクをクリックしてください』というメッセージが表示され,別のクライアントにはHTMLフォームがそのまま表示される」のが理想だと述べている。
検証ツールを試してみたいユーザーは,CSSの操作を念頭に全く新しく設計されたWebページ・エディタであるExpression Web Designerの無料試用版をダウンロードすることをお奨めする。Expression Web Designerをインストールしたら,MSDNの技術情報「Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 - Part 2」の手順に従って,Outlookのスキーマに基づいてHTMLとCSSをチェックする機能を追加する。
まずテスト用に任意のHTMLファイルを開き,HTMLコードを編集してhtmlタグの属性を削除する。次に,[Tools]-[Compatibility Reports]の順に選択する。[Check HTML/XHTML compatibility with]では[HTML for Word 2007]を,[Check CSS compatibility with]では[CSS Word 2007]を,それぞれ選択し,[Run check based on doctype declaration in page if available]チェック・ボックスをオフにする。ここで[Check]をクリックすると,Expression Web Designerから互換性レポートが出力され,すべての検証エラーが表示される。レポートの行をダブル・クリックすると,該当する検証エラーを引き起こしているコード部分に直接移動できる。
検証エラーを,MSDNの技術情報「Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 - Part 1」に記載されているサポート対象とサポート対象外のタグと属性の詳細なリストと比較することによって,Outlookのセキュリティを強化するためにHTMLメッセージでの使用が制限されているレンダリング機能が理解できるだろう。
例えば,title属性はWebページでヒント表示に使われるが,HTMLメッセージでは完全にサポート対象外である。これは,メッセージの送信者はtitle属性を使ってハイパー・リンクのリンク先を隠蔽することができない,つまりリンクのヒント表示には常に実際のURLが表示されることを意味する。同じように,リンクに使うaタグはclass属性をサポートしない。これによって,メッセージの送信者は,スタイルを使って特定のリンクをほかのリンクと異なる方法で表示することができなくなる。スタイルのbackgroundプロパティの外部コンテンツへのリンクは全く機能しない(Outlookが別の方法でHTMLメッセージに含まれる外部コンテンツをダウンロードするように構成されていたとしても)。
ただし,この新しい検証ツールは完全ではない。この検証ツールの動作は使用するHTMLエディタの互換性チェック機能に依存しているので,前述の記事に掲載されているサポート対象外のすべてのスタイル機能に対応する検証エラーを表示するとは限らない。例えば,筆者がbodyタグのスタイルに記述したbackgroundプロパティに含まれる外部URLについては,何のエラーも表示されなかった。しかし,Outlook 2007のレンダリング機能に関する記事の詳細資料と突き合わせれば,Outlook 2007向けにニュース・レターや他の複雑なHTML形式のメッセージを設計しようと考えている組織は,他に先駆けて確実なスタートを切れるようになるだろう。