『こぶたのラッパ』はサイトを移動しました!
今後はこちらをどうぞ
2008年 01月 24日
HTML5でframeが使えなくなったらJavadocはどうなるの?
現在のJavadoc画面(これはJDK1.5のAPI
c0007274_1158586.jpg


あとBloglines
c0007274_11591444.jpg


いずれもフレーム分割することで実現されているサイト/HTML文書の好例だと思います。
iframe要素で同じものを作ろうとすると意外に手間がかかりそうなのですが、なぜ無くしてしまうのでしょうか。
W3C草案ではframeを無くす理由を次のように定義しています。

HTML 5 における HTML 4 からの変更点
2008 年 1 月 22 付け W3C 草案 (Working Draft)

次に挙げる要素もまた HTML 5 に存在しません。これらの要素はユーザビリティやアクセシビリティに影響し、エンドユーザに良くない結果をもたらすからです。
* frame
* frameset
* noframes


アクセシビリティについては確かにそういうケースがあるかもしれないけれど(フレームに対応していないブラウザを使うとアクセスできない)、ユーザビリティは悪くないと思うのですが・・・

以前のエントリー「高齢者対応サイト」でも書きましたが、高齢者にとってはフレーム分割されたサイトは見やすいもののようですし、Javadocは現在のようにフレーム分割されていないと使いようがない気もします。

代用としては、
  • iframe
  • cssのoverflow:scroll

のいずれかでしょうか。

<iframeで代用する場合の問題点>
ブラウザ標準の機能では、iframeのサイズを変更することができません。
がんばって自前でサイズ変更機能を作るにしても、複数のiframeを利用する場合に相互にサイズを増減させるのは面倒な話です。

これまでのframeでは、自由にサイズを変更できます。
c0007274_12114549.jpg


<cssのoverflow:scroll>
たいていframeを使用するときは、同じ情報(サイトメニューなど)を何度もHTTPリクエスト/レスポンスしたくない時に使います。
cssのoverflow:scrollを使って擬似的にフレームを表現したとしても、表示するコンテンツは(共通情報を含めて)丸ごとHTTPリクエスト/レスポンスする必要があり、大いに無駄です。

共通部分をSSIやプログラムを使って共通管理することも可能ですが、そういうつくりのWebサイトを作成できない作成者、もしくは運用環境の場合には、共通部分を全てのページに埋め込んでいかないといけません。

したがって、frameの代替としてcssのoverflow:scrollを使用するということは、現実的ではないでしょう。




後方互換性にあるにせよ、frame不遇の風潮が加速するのはいやなのです。
「HTML」の名前を語るのであれば、これまでのHTMLコンテンツ資産をないがしろにするような仕様を決めて欲しくないです。

単に私が何かを見落としているだけで、すでに解決案が存在するのでしょうか・・・

2008/1/26追記
→「HTML5でもframeを使おう!<解決編>」もどうぞ
[PR]
by smilkobuta | 2008-01-24 12:30 | Webデザイン

<< コーヒー豆の中に隠れている「男... グリーンピース「鯨とって何が悪... >>