新しいTERRAZINE

The new TERRAZINE

InternetExplorerとは久夛良木メソッドである

  • tamasaku 『InternetExplorer7ベータ2で、「hatena」テーマのブログをみると、サイドバーと本文がかぶっていて見づらいです。対処お願いします。』
  • TERRAZI 『ベータ版にまで対処しなきゃならんのか。はてなの人も大変だな。』
  • moguno 『対応するしないは別として、不具合報告をもらえると言うことは幸せなことだよ。』
  • TERRAZI 『驚いた。これってはてな側の不具合って認識なんだ。
    http://arena.nikkeibp.co.jp/col/20060516/116681/
  • MrT 『http://i.hatena.ne.jp/idea/4818
    が実施されればブラウザ毎の表示の違いは少なくなるとは思いますが・・・』

関連はてなアイデア

何というか、スーパーマジョリティであるところのIEユーザーの考え方がよく分かった気がする。

     √ ̄ ̄ ̄ ̄ ̄\  「それがIEの仕様だ」 
   / ̄          | 
  /   / ̄ ̄ ̄ ̄ ̄\|  これが、ゲイツが考えたブラウザだ。w3c勧告非準拠についていろいろ言う人もいるかもしれない。 
  |   /         |  それは対応するコンテンツを作る会社やデザイナーが、この仕様に合わせてもらうしかない。 
  |  /   ` | | ´   |  勝手な独自仕様はこれ以上小さくしたくないし、修正にかかるコストもこれ以上大きくしたくなかった。 
  | /  <・)   <・) |  CSSのバグも狙ったもの。それが仕様。 
  (6       つ.   |   
  |     ___     |   世界で一番シェアがあるものを作ったと思う。 
  |     /__/   |   IEでちゃんと表示されるページに対して、FirefoxOperaで崩れると難癖をつける人はいない。 
  |_______/     
. / \ \ ◇、/ |\   それと同じこと。

元ネタ:「それがPSPの仕様だ」、久多良木SCE社長がゲーム機不具合騒動を一蹴 

この問題の技術的解説

A blog? with Σαιτω - IE 7 Beta の CSS 解釈
リンク先にDOCTYPE スイッチの解説があります。CSSな人は参考になるかも。

ずいぶん前からの話なのね

MrTさんのidea:4818を見ると、なにやら知ってるオペラーの名前ばっかでワロタ。

CSSハックは安直だったのか?

CSSハックのコメント、ありがとうございます。なるほど、確かにバグを利用しているのだから、それが修正されたらダメになるのは当然ですね。
ただ、それで「ハックした側が悪い。自業自得だ」と言い切ってしまっていいものなのでしょうか。
またプレイステーションの話なのですが、PS2の薄型機が発売されたときに、互換性が完全じゃなくて動かないソフトがあったのです。

久夛良木健社長の話

PS1の時、あ、2の時もありましたが、TRCっていう我々がぜひこういう技術スペック、技術資料で作って下さいというということをお願いしているのですが、それがですね、まあ偶然か意図的か分からないんですが、守られていないケースが結構ありまして、互換が取れないんですね。
我々はハードウェアとして、ハードウェアとファームウェアPS2…PS1も…作っているわけですが、それを前提に互換機能を入れているわけです。ところが、想定外の使われ方をされると、もう分かんなくなってしまって、で、プログラムのソースコード見せて下さいって言っても、もうやった人がおられない、ということでちょっとかなり困ってしまう。
今度の(聴き取り不能)は数千タイトルとか1万タイトルとかっていう物に対してやらなくてはいけなくて、もうこれはほとんど不可能に近いのでですね、ぜひTRCという、我々がその都度更新をさせていただいてますが、ぜひこういった仕様でお願いしますというものは、ぜひぜひ、きちんと尊重していただいて、互換性がなるべく完全になるように、協力していただきたいと思います。

↑に対するコメント

>意外とそれが出来切らないプラットホームもある
それはアンタんトコのペテンシルバーだろうがと。
サードパーティがハード直で叩いてるのは、ハードの性能不足だったり、より高いクオリティを目指そうとした結果だろ?多分。それを、「糞技術者がいい加減な仕事する事が多くてねー」的な表現で貶めてるのが腹立つな。

はてななどのWebデザイナーは、IEの不具合を何とかしようとしてハックしたわけですよね。どうしてそうしたかというと、最終的にはそれがユーザーにとって最善と考えたからだと思います。
それなのに「安直に飛びついた」とか言っちゃうのは、ちょっとはてながかわいそうに思えます。(はてな信者であるのを割り引いても)

本当はすごい「Windowsの互換性維持」のマイクロソフトなのに…

この記事を読むと、マイクロソフトが互換性維持のために猛烈に泥臭い努力を重ねてきたことがわかります。なぜ同じことがIE7では出来ないのでしょうか。DOCTYPE スイッチの切替のようなものを実装できないのでしょうか。
CSSハックを使った責任はデザイナー側にありますが、それをさせてしまったのはIE側でしょう。IE側にも互換性維持の責任があると考えます。たとえそれが標準とは異なるものでも、事実上の標準だったわけですから。

わかりやすい経緯

id:yms-zunさんが、わかりやすくまとめられています。

  • IE7 beta2ではてなダイアリーの標準テーマをサイドバー付で表示させるとレイアウトが狂う
  • 従来(IE6以前)のCSS解釈がWeb標準から逸脱していることへの対策として、IEのバグを利用してIEにしか適用されない独自プロパティを指定する裏技(CSSハックと呼ばれる)が存在する
  • IE7 beta2ではCSS解釈のWeb標準への適合が行われている一方、従来のIE用レイアウトへの互換性も配慮したモードが存在する
  • はてなのテーマはCSSハックを利用しており、IE7が従来のIE用に書かれたCSSであるにも関らずWeb標準のそれと認識してしまう結果、表示が大きく崩れることになる

原文は正仮名遣ひで、ちょっと読みにくかったので現代仮名遣いに置き換えました。

IE7が正式リリースされた後にはIE6とそのエンジンを利用した各種UAはWeb周辺から一掃されるべきだ。

全く持って大賛成なのですが、そうも行かないのが現実でしょうか。確かIE7WindowsXP以上しかサポートしなかったはず。せめてWindows2000もサポートしてほしい、サポートしないならXPなりVistaへのアップグレードを安価に行えるようにしてほしい。