ブラウザの互換性を気にすることなく、どのHTML5タグを使用できますか?


93

PCで使用するWebアプリを構築しています。IE8以上のようなブラウザーとの互換性の問題を防ぐために離れるべきHTML5タグは何ですか?

注:ほとんどの質問は、この問題に関して1〜3歳です。


48
最新のブラウザー互換性情報については、caniuse.comおよびhtml5please.comを確認してください。
rink.attendant.6 2013

シムについてもっと知るためのリンクを@deceze?
Swagg 2013

4
HTML5ボイラープレートは優れたリソースです
Michael Peterson

47
私見ブラウザの互換性を気にせずにWeb開発で何も使用できません...
Uooo

2
HTML5の使用法の3つのレベルを参照してください。レベル1のものは問題なく使用できます。レベル2の機能は適切に低下します。古いブラウザのサポートが懸念される場合は、レベル3機能にポリフィルが必要です。
Mathias Bynens 2013

回答:


100

どのHTML5タグに近づかないようにするかを尋ねました。

さて、私の知識によるHTML5のタグの一部は、意味上の理由で作成されました。たとえば次のように。

<article> <section> <aside> <nav> <header> <footer> ..ect

これらはほとんど問題なく動作し、ほんの少しのCSSが必要です。display: block;ほとんどのブラウザで正常に動作しますが、古いブラウザでも動作します。Internet Explorerでは、互換性を保つためにJavaScriptで要素を作成する必要があります。

例を示します。

document.createElement('article');

<article>古いInternet Explorerで使用できるように要素を設定します。

JavaScript機能が動作する必要があるより高度なHTML5タグの場合、次のようなものがあります。

<audio> <video> <source> <track> <embed> And most importantly <canvas> 

これらの要素は、古いブラウザではサポート/シブするのが困難です。下部にはクロスブラウザポリフィルへのリンクを含めましたが、個人的には調べていません。

したがって、JavaScript機能を必要としない要素は、わずかなクロスブラウザーサポートコードで使用するのにまったく問題がないと言えます。

ターゲットが> IE8の場合、shivを使用すれば問題ありません。

古いブラウザを何と呼びますか?<IE9

HTML5タグのブラウザーサポートは現在です。

<section>, <article>, <aside>, <header>, <footer>, 
<nav>, <figure>, <figcaption>, <time>, <mark>

Internet Explorer 8未満ではサポートされていませんが、このように修正できます。

CSS:

section, article, aside, header, footer, nav, figure, figcaption{
   display: block;
}
time, mark { 
    display: inline-block;
}

JavaScript:

var elements = ['section', 'article', 'aside', 'header', 'footer', 'nav', 'figure', 'figcaption', 'time', 'mark'];
for( var i = 0; i < elements.length; i++ ) {
    document.createElement(elements[i]);
}

そして、<audio> <video> <canvas>でサポートされていない<IE 9

<embed>要素がで部分的なサポートがあるIE8を>


このタグも確認する必要があります。

 <meta http-equiv="X-UA-Compatible" content="IE=edge">

このmetaタグは、Internet Explorerに、互換性モードに入り、IE7または8が行うようにページをレンダリングする代わりに、利用可能な最も高いIEモードでページを表示するように指示します。詳細はこちら


HTML5ヘルパーリンク


キックスタートについては、HTML5 BoilerPlateをチェックしてください。

ブラウザ互換性サポートテーブルについては、http://caniuse.com/をご覧ください。

HTML5 Shiv- https://github.com/afarkas/html5shiv

HTML5ポリフィルのリスト-https ://github.com/Modernizr/Modernizr/wiki / ...

更新

コメントで述べたように

メタタグX-UA-Compatibleに注意してください。要素を囲む条件付きコメントがあるhtml5ボイラープレートのようなもの(これはhtml5 doctype IIRCでも発生します)を使用すると、タグがあってもIE9がIE7標準モードに強制されるという問題が発生する可能性があります。IEが再びスト

これを調べたいと思うかもしれませんが、現時点ではこれをバックアップするものはありません。


また、指定できる場合、古いIEとは何ですか?6、7、8?
Swagg 2013

4
一般的に古いIEはIE9未満
iConnor 2013

メタタグX-UA-Compatibleに注意してください。<html>要素を囲む条件付きコメントがあるhtml5ボイラープレートのようなもの(これはhtml5 doctype IIRCでも発生します)を使用すると、タグがあってもIE9がIE7標準モードに強制されるという問題が発生する可能性があります。IEが再びストします。
cheezone 2013

情報、ブログの投稿、またはその問題に関する回答に追加できる情報があればありがとう:)
iConnor

12

一般的に、問題があります。

あなたの質問はHTML 5 タグについて質問するように書かれていると言われましたが、あなたが見つけたり書いたりするかもしれないJavascriptに照らして新機能を見るのも有用です。

実際には、推奨される方法は、特定のブラウザではなく機能の存在をテストすることです。Modernizrスクリプトは、この点で役立つかもしれないが、との報告もあるHTML5で検出できない機能が

local storageIE8に戻るようないくつかの機能。

その他、FileReaderIE10 / Firefox21 / Chrome27が必要

最新情報については、http://caniuse.comをお試しください


1
localStorageとfileReaderはHTMLタグではないことに注意する必要があります。OPは、互換性の問題があるHTML5タグを尋ねました。
iConnor 2013

そうそう。このセマンティックタグの大きなリストは、ページをより機械可読にし、おそらくSEOフレンドリにする(またはそうしない)ための方法としてHTML5にプッシュされています。いくつかの新しい入力要素があります。これらの一部は、1つ以上のブラウザーで問題がある可能性があります。caniuseにその情報があるかもしれないと思います...
Paul

8

通常どおりHTML 5を記述し、Shimを使用して、古いブラウザーとの互換性を確保します。Javascript APIはシム処理がほとんどできないため、実際には注意が必要です。互換性のためにベースラインのHTML 4に固執しようとしている場合、HTML 5を使用しても意味がありません。


7
<!DOCTYPE html>以前の時代に私たちを悩ませてきた呪われた長い醜いものの代わりに、私は喜んでトップラインとして使います。
ポール

それがあなたのHTML 4と "HTML 5"ドキュメントの間で変わる唯一のものであるなら...要点は何ですか?:)
deceze


2

HTML5互換性マトリックスを探しています

http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5)


2
注:「この記事は最新の情報ではないため、実際の正確性が損なわれる可能性があります。最新のイベントまたは新しく利用可能な情報を反映するように、この記事を更新してください。(2013年3月)」
gersande

1
うんそれは本当かもしれませんが、一般的にグーグルhtml5 compatabilityは多くのリソースがあると確信しています。
ブラジゴンサーフィン2013

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.