Webブラウザの互換モード
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/08 10:00 UTC 版)
「互換モード」の記事における「Webブラウザの互換モード」の解説
「en:Quirks mode」も参照 Web上にあるHTML文書やCSSには文法ほか記述上の誤りが見られるものがある。これはHTMLやCSSその他の仕様について策定に到るまでの混乱、およびCSSへの対応初期のWebブラウザにおいてCSS解釈を誤っていたことが理由となっている。そのため完全にW3C標準仕様に従ったレンダリングのみを行うと、サイト作成者の意図した通りの表示にならず問題が発生する可能性がある。こうした理由からWebブラウザの中にはHTML文書によって標準仕様に従ったレンダリングを行う「標準モード」(「標準準拠モード」、「Standardモード」とも)と従来の慣行的なレンダリングを行う「互換モード」(「過去互換モード」、「後方互換モード」、「Quirksモード」とも)を切り替えて表示するものがあり、「DOCTYPEスイッチ」などと呼ばれることがある。さらにWebブラウザによっては標準仕様に従いつつも慣行的なレンダリングを一部で残す「準標準モード」(「Almost Standardモード」とも)を搭載しているものもある。さらに各Webブラウザの互換モードの表示にも細かな差異がある。例えば互換モードではボックスモデルの解釈が旧来通りに行われる(widthプロパティの値にボーダーおよびパディングを含めない)ものと標準モードと同じく標準仕様に従うものがある。 DOM Standardでは、以下の3つのモードを定義している。 no-quirks mode limited-quirks mode quirks mode そして、limited-quirks modeおよびquirks modeでの挙動がQuirks Mode Standardで定められている。 DOCTYPEスイッチが存在するWebブラウザは次の通りとなっている。 Internet Explorer (Windows版は6.x以降、Macintosh版は5.x)タブブラウザなどでTridentエンジン(IEコンポーネントブラウザ)のものも含む Geckoエンジン搭載のものNetscape (6以降) Mozilla Firefox Camino Opera (7.x以降) WebKitエンジン搭載のものSafari Google Chrome OmniWeb (2003年2月以降) 具体的にはHTML文書冒頭でのDOCTYPE宣言により切り替えられる。これはHTML Standardに規定されている。大まかに言って、DOCTYPE宣言を行っていないかHTML3.2以前のものの場合は互換モードに、HTML4.01(のStrictDTD)以降の場合は準標準モードに、現行のの場合は標準モードとなる(詳しくは外部リンクを参照のこと)。ただしXHTMLであることを宣言する場合、Windows版Internet Explorer 6.xでは(サーバから文字コードが送信されず、かつ文字コードがUTF-8以外の場合には必須な)XML宣言を行うと互換モードになるバグが存在する。 DOCTYPEスイッチにより標準仕様に従った記述であることを示し、W3Cの仕様に従ったレンダリングをさせることができる。しかしかつてはあえて互換モードで表示するようにWebサイトを製作することも行われていた。これは当時は決して無視できないシェアがあったIE5.x以前と同じ旧来のレンダリングに表示を合わせる、IE6のバグを回避するなどの目的があり、CSSハックとともに用いられていた。その後Webブラウザのシェア変動に伴いIE6までの世代のブラウザの使用率が低下したことにより、こうしたテクニックは廃れつつある。
※この「Webブラウザの互換モード」の解説は、「互換モード」の解説の一部です。
「Webブラウザの互換モード」を含む「互換モード」の記事については、「互換モード」の概要を参照ください。
- Webブラウザの互換モードのページへのリンク