HTML5テストぞの没入

これは、さたざたなブラりザヌテストのレビュヌに関する䞀連の蚘事の2番目の蚘事です。このシリヌズの前半 ACID3の浞挬 。



HTML5Test 以䞋h5t ぞの参照の倧郚分から刀断するず、このテストのほずんどのナヌザヌは、結果の内郚の本質ではなく、参照および比范に䜿甚できる指暙ずしお、最終結果ポむントの合蚈に関心がありたす。







䞀般の人々では、これはpuzomerkiず呌ばれ、玄1幎前にLenta.ru䞋蚘参照で適切に気づいたように-「HTML5の方が長い」。





䟋



Lenta.ruから始めたしょう。 1幎前に最初に登堎したテストぞの参照です。

最新のWeb暙準ずの互換性に぀いおブラりザをテストしたした 。

Webサむトhtml5test.comが3月にWebに登堎したした。名前が瀺すように、特定のブラりザヌが非垞に有望な新しいHTML5 Web暙準でどのように動䜜するかを確認したす。


私の目の前には、「コンピュヌタヌビルド02125/ 2011 」ずいう番号もありたす。 「倧芏暡な」ブラりザテストが配眮されおいたす「18ペヌゞのメガテスト」。

ほずんどのWebペヌゞは、HTMLハむパヌテキストマヌクアップ蚀語で蚘述されおいたす。 ペヌゞを正しく衚瀺するには、ブラりザが゜ヌスコヌドに含たれるすべおのタグを読み取る必芁がありたす。 この行は、ブラりザが゚ラヌなしで衚瀺した384ペヌゞの数を瀺したす。


384ペヌゞのうち300ペヌゞがHTML5テストの結果であり、残りの84ペヌゞは指定されおいたせん。 :)



Computerra がMozilla Fennecに぀いお語っおいたす
HTML5サポヌトテストはFennecに合栌し、207ポむントずいう良い結果を埗たしたが、iOSのSafariは185ポむントしか埗られたせん。


悲しいこずに、Habrもテストに関しお優れた分析を行っおいたす。 以䞋は、Operaの新しい解析゚ンゞンに関する投皿の最近のリンクの1぀です。

ラグナロクは、やや䞍完党なしたがっお誀解を招くhtml5test.comで11点䞭11点プラス2ボヌナスポむントを獲埗しおいたす  HTML5の埋め蟌みSVGおよびMathMLには2ボヌナスポむント 


問題は、Operaがずっず前にSVGをサポヌトしおいたこずだけでなく、OperaでネむティブMathMLがサポヌトされおいないこずだけですMathMLプロファむルのCSSによる郚分的なサポヌトがありたす。



ブラックボックス



実際、 h5tはある皮のブラックボックスずしお䜿甚され、「HTML5暙準の1぀たたは別のブラりザのサポヌトを確認する」ため、非垞に倚くが参照し、完党に信頌されおいたす。







もちろん、䞀般のナヌザヌやほずんどのゞャヌナリストよりもWeb開発に没頭しおいる人は、テストが数字を䞎えるだけでなく、ブロックに分割されおいるこずを理解しおいたす-テストペヌゞでは、ポむントが䞎えられたポむントを远跡できたす。 ぀たり、テストによれば、正確に機胜するものず機胜しないものです。 明らかな䟋えは、燃えおいる電球の数を蚈算するこずです







そしお、ここで最も興味深い郚分が始たりたす各電球の意味、なぜいく぀かの電球は倧きく、他の電球は小さく、なぜすべおの電球が点灯しないのか、そしお結局のずころ、電球はHTML5サポヌトをテストするずいう目的をどれだけ満たしおいたすか



泚釈 テストは垞に進化しおいるこずに泚意しおください。1幎前にテストぞの参照を参照するず、ポむントの合蚈数ずテストのセットが異なっおいたこずがわかりたす。 珟圚の400ポむントのバヌは、将来倉曎される可胜性がありたす。



䞀般的に、すべおを順番に凊理したしょう。



誰がh5tを発明したのですか

HTML5Testの䜜成者はNiels Leenheerです。 ブログのNielsによるず 、圌はグラフィックデザむナヌおよびWebプログラマヌずしお、Geeklog、Nucleus CMS、Zenphoto、Mozilla、KHTML、WebKitなど、さたざたなオヌプン゜ヌスプロゞェクトに定期的に貢献しおいたす。各プロゞェクトぞの貢献に぀いおは、 http//rakaz.nl/codeをご芧ください。



さらに興味深い詳现ずしお



Web暙準化団䜓ずの連携



Acid3ずは異なり、h5tはWeb暙準を開発たたは促進する組織に関連付けられおいたせん。 テスト䜜成者が曞いたものは次のずおりです。

HTML5テストはW3CたたはHTML5ワヌクグルヌプずは関係がないこずに泚意しおください。


私の知る限り、公匏の通信でHTML5サポヌトの基準ずしおh5tを参照しおいるブラりザメヌカヌは1瀟もありたせん。 OK、゚バンゞェリストのMozilla Paul RougetからのIE9ずFx4.0に぀いおの有名なトロロロの投皿を陀きたす。



h5tはどのように機胜したすか

テストの内郚構造は、ペヌゞのコヌドずgithubの゜ヌスコヌドの䞡方で盎接トレヌスできたす。 Acid3ずは異なり、h5tは矎しい画像の生成を意味したせん。テストのポむント数ず詳现の圢匏での䞀般的な結果のみです。



テストの構成



テスト゚ンゞン



テスト゚ンゞンは、いく぀かの重芁な機胜オブゞェクトで構成されおいたす。

䞀般に、このメカニズムは、新しいテストを自由に远加したり、珟圚の操䜜やその他の興味深い操䜜を修正したりするのに十分な柔軟性を備えおいたす。 必芁に応じお䜿甚する堎合は、テストペヌゞの最初にある著䜜暩を参照しおください。



テストスむヌト



各テストスむヌトは、テストの数、スむヌトの名前、およびテスト自䜓を栌玍する個別の関数によっお衚されたす。



テストの内郚構造はさたざたですが、セットの䞀般的な構造は次の䟋で明確に芋るこずができたす。



function testFiles (results) { this .initialize(results) }

testFiles.prototype = {

name: 'Files' ,

count: 2,



initialize: function (results) {

this .section = results.getSection( this .name);

for ( var i = 1; i <= this .count; i++) { this [ 't' + i](); }

},



t1: function () {

this .section.setItem({

title: 'FileReader API' ,

url: 'http://dev.w3.org/2006/webapi/FileAPI/#filereader-interface' ,

passed: 'FileReader' in window,

value: 10

});

},



t2: function () {

this .section.setItem({

title: 'FileWriter API' ,

url: 'http://www.w3.org/TR/file-writer-api/' ,

passed: 'FileWriter' in window,

value: 10

});

}

};



* This source code was highlighted with Source Code Highlighter .






すべおのテストは個別の関数t iずしお実行され、テストプロセス䞭にセットが初期化されるず、ブラりザヌはセット内で説明されおいるすべおのメ゜ッドを実行したす。



各メ゜ッド自䜓が、テストの合栌たたは䞍合栌に関する情報、このテストに䟝存するポむント数、および远加のメタ情報仕様ぞの参照からテストの郚分的たたは完党性に関する定匏化たでを収集結果に远加したす結果オブゞェクトはテスト゚ンゞンから枡されたす 。



より耇雑なテストWebフォヌムなどでは、結果をグルヌプ化するためにやや耇雑な構造を䜿甚したすが、本質は倉わりたせん。



テストの動䜜のメカニズムが䞀般的な甚語で理解されたので、テスト自䜓の内郚キッチンの詳现に移りたしょう。



h5tは䜕をチェックしたすか

h5tが仕様たたは仕様の䞀郚ぞの参照垞に正しいずは限らないで具䜓的にチェックするもののリストは、テストペヌゞで盎接芋぀けるこずができるため、ここで耇補する意味はあたりありたせん。 内郚で䜕が起こっおいるのか、各テスト機胜の背埌に䜕があるのか​​を理解するこずは、はるかに重芁です。



たず、テスト察象の個々のブロックがテストに埓っお分散され、ポむントに倉換される方法、およびこれがすべおHTML5暙準ず盞互接続される方法を芋おみたしょう。



構成



最初に目を匕くのは、今日の「チェック枈み」芁玠の倧郚分がHTML5仕様に含たれおいないこずです。







これらの芁玠の䞀郚はHTML5仕様から陀倖され、別の暙準HTML Microdataなどに割り圓おられたしたが、䞀郚はこの仕様に含たれおいたせんFileAPIなど。



Web暙準に盎接関係しないものもありたすコヌデック—サポヌトのために远加のボヌナスポむントが提䟛されたす。



最埌に、WebGLはHTML5に盎接関連しないサヌドパヌティ仕様ですCanvasを䜿甚しおレンダリング結果を衚瀺したす。



割合



間違いなく泚意すべき2番目の重芁な点は、異なる仕様間およびHTML5仕様内でのスコアの分垃です。



したがっお、膚倧な数のポむント400のうち90がフォヌムの新しい芁玠に割り圓おられたす-合蚈金額のほが4分の1たたはHTML5に盎接割り圓おられたポむントの3分の1。 もちろん、Webフォヌムは新しい仕様の重芁なコンポヌネントですが、今日では、このコンポヌネントが需芁で支配的ず呌ばれるこずはほずんどありたせん詳现に぀いおは以䞋を参照。



すべおの新しいHTML5セマンティック芁玠ず同じくらい倚くのポむントがビデオの操䜜に割り圓おられたす。 Canvasでは、Audioよりもはるかに少ない量が割り圓おられたす。



いく぀かのテストずチェックの重さは1ポむント、いく぀かは10です。実際、テストずチェックの間のポむントの分垃は、テストの䜜成者の完党な意思ず想像です。



ステヌタス



念頭に眮かなければならない問題の第3の偎面は、どの仕様が珟圚の状態でどのような条件でチェックされおいるかに関するものです。



内偎に掘り始めるず、衚面に最初に珟れるのは、ほずんどの仕様の珟圚のドラフトステヌタスです。







2番目に重芁なのは、倚くの仕様の初期の状態ず倉動性です。䞊の図では、過去3幎間の各暙準の仕様曎新の頻床を確認できたす。 䞊蚘のように、堎所によっおは、テストがWeb暙準の分野における実際の状況に察応しなくなるような倉動性がありたす 。



テスト䜜成者が曞いたものは次のずおりです。

テスト察象の仕様はただ開発䞭であり、公匏になるたで倉曎される可胜性があるこずに泚意しおください。


各テストの内容を詳しく芋おみたしょう。



HTML5ブロック



䞭心ずなるテスト党䜓で最倧のブロック。 これらたたはこれらの芁玠をテストするいく぀かの内郚郚品で構成されおいたす。



5぀のテストの解析| 11ポむント| 2ボヌナスポむント



このテストブロックは、ドキュメントの解析、特にHTML5仕様に準拠したさたざたな゚キゟチックで䞍正なマヌクアップオプションの解析に関するいく぀かのルヌルをチェックしたす。



1. <Doctype html> 1ポむントのサポヌト

「doctypeがむンストヌルされおいる堎合、ブラりザはストリクトモヌドで動䜜する」こずを確認したす。 内郚では、document.compatMode == "CSS1Compat"のチェックが行われたす。 このプロパティは、ブラりザが珟圚動䜜しおいるモヌドを特城づけたすQuirks vs. Strict。



実際、有効なDoctypeがある堎合、ブラりザはストリクトモヌドで動䜜するはずです。぀たり、このチェックはHTML5に盎接関連しおいたせん。 IE6でも<Doctype html>の厳栌なモヌドが含たれたすが、これは明らかにHTML5をサポヌトしおいたせん。



2. HTML5トヌクナむザヌ5ポむント

芁玠の名前、属性、およびコンテンツを割り圓おるさたざたな゚キゟチックなケヌスがチェックされたす-html芁玠の内郚コンテンツを正しく解析するために合蚈19のチェックがありたす。



人生でこれらのケヌスのほずんどに盎面する必芁はほずんどありたせんが、HTML5仕様はドキュメントの解析ずそのような䟋の適切な凊理に本圓に泚意を払っおいるこずに泚意するこずが重芁です。



実際、ほが文字通り、これらのテストはMozilla HTML解析テストに基づいおいたす http : //hsivonen.iki.fi/test/moz/detect-html5-parser.html 



3. 5ポむントの HTML5ツリヌ構築

ドキュメントの解析のトピックの続きは、同じ元のテスト゜ヌスでさたざたな芁玠を動的に䜜成するこずです。



泚 特定の機胜の実装の詳现を確認し、ドキュメント解析の盞互運甚性を怜蚌するh5tのテストは、これず以前のテストのみです。



他のテストずは異なり、解析テストは、Firefox 4のHTML5パヌサヌの開発に非垞に関䞎しおいるこずでも知られおいるHenri Sivonenから借甚したこずを繰り返したす。぀たり、これらは実際に発明されたテストですそのようなコレクションの重芁な特城は、それらが正しいたたであっおも、テストされた機胜の100たたは密接なカバレッゞを䞻匵できないこずです。蚀い換えれば、これは著者にずっお興味深いコヌドバリ゚ヌションの遞択的テストです。



4.テキスト/ htmlのSVG 1ボヌナスポむント ブラりザヌが、察応するネヌムスペヌスによっおドキュメントに挿入されたSVGコンテンツを認識できるこずを確認したす。
5.テキスト/ htmlのMathML 1ボヌナスポむント 察応する名前空間によっおドキュメントに挿入されたMathMLコンテンツをブラりザが認識できるこずを確認したす。
ブラりザがSVGたたはMathMLをサポヌトしおいるかどうかは実際にはチェックされおいたせん



予想倖に、テストはOperaに倱敗したす。Operaは歎史的に最高のSVGサポヌトの1぀を持っおいたす。 真のMathMLサポヌトはFirefoxでのみ利甚可胜です。 ChromeはMathML自䜓のサポヌトがなくおもこのテストに合栌したす Mozillaテストケヌスで確認できたす。



泚 正匏には、svgおよびmath芁玠の内郚コンテンツず解析/マッピングルヌルは個別の仕様で蚘述されたす。 HTML5仕様では、ドキュメントは<svg>タグおよび特別な<math>タグを䜿甚したMathMLコンテンツを介したSVGコンテンツの挿入をサポヌトする必芁があるずされおいたす。



Canvas 3テスト| 20ポむント



このテストブロックはCanvasサポヌトをチェックしたす。 実際、以䞋の説明からわかるように、ブラりザヌがcanvasタグをサポヌトし、JavaScriptから操䜜するための正しいコンテキストを返すずいう事実のみがチェックされたす。

1. <canvas>芁玠

5ポむント

䜜成されたキャンバス芁玠にgetContextメ゜ッドがあるこずを確認したす。

2.2dコンテキスト

10ポむント

CanvasRenderingContext2Dオブゞェクトがサポヌトされおいるこずを確認し、getContext「2d」メ゜ッドを呌び出すず、このオブゞェクトのむンスタンスが返されたす。

3.テキストのサポヌト

5ポむント

結果のコンテキストにfillTextメ゜ッドがあるこずを確認したす。

残念ながら、 このブロックは、canvasのサポヌトレベルず実装の互換性の重芁な怜蚌を行いたせん 。



ビデオ7テスト| 31ポむント| 8ボヌナスポむント



このブロックは、新しい<video>タグのブラりザヌサポヌトを確認するように蚭蚈されおいたす。 さらに、さたざたなコヌデックのサポヌトをチェックしたす。これは、HTML5仕様ずは関係ありたせんが、興味深いものです。

1. <video>芁玠

20ポむント

䜜成されたビデオ芁玠がcanPlayTypeメ゜ッドをサポヌトしおいるこずを確認したす。

2.远跡サポヌト

10ポむント

ブラりザがtrack芁玠を認識するこずを確認したす。

3.ポスタヌサポヌト

1点

動画芁玠がポスタヌをサポヌトしおいるこずを確認したす。

4. MPEG-4をサポヌト

2ボヌナスポむント

ブラりザが適切なコヌデックでビデオを再生できるず蚀っおいるこずを確認したす。

5. H.264をサポヌト

2ボヌナスポむント

ブラりザが適切なコヌデックでビデオを再生できるず蚀っおいるこずを確認したす。

6. Ogg Theoraのサポヌト

2ボヌナスポむント

ブラりザが適切なコヌデックでビデオを再生できるず蚀っおいるこずを確認したす。

7. WebMサポヌト

2ボヌナスポむント

ブラりザが適切なコヌデックでビデオを再生できるず蚀っおいるこずを確認したす。

このテストブロックは、ビデオ内のビデオ芁玠たたはトラック芁玠のサポヌトレベルの詳现なチェックを実行したせん 。



オヌディオ6テスト| 20ポむント| 5ボヌナスポむント



ビデオサポヌトチェックブロックず同様に、このブロックは新しい<audio>タグのサポヌトをチェックしたす。 さらに、さたざたなオヌディオコヌデックのサポヌトを確認したす。

1. <audio>芁玠

20ポむント

䜜成されたオヌディオ芁玠がcanPlayTypeメ゜ッドをサポヌトしおいるこずを確認したす。

2. PCMサポヌト

1ボヌナスポむント

ブラりザが適切なコヌデックでオヌディオを再生できるず蚀っおいるこずを確認したす。

3. MP3サポヌト

1ボヌナスポむント

ブラりザが適切なコヌデックでオヌディオを再生できるず蚀っおいるこずを確認したす。

4. AACのサポヌト

1ボヌナスポむント

ブラりザが適切なコヌデックでオヌディオを再生できるず蚀っおいるこずを確認したす。

5. Ogg Vorbisのサポヌト

1ボヌナスポむント

ブラりザが適切なコヌデックでオヌディオを再生できるず蚀っおいるこずを確認したす。

6. WebMサポヌト

1ボヌナスポむント

ブラりザが適切なコヌデックでオヌディオを再生できるず蚀っおいるこずを確認したす。

このテストブロックでは、audio芁玠のサポヌトレベルはチェックされたせん 。



泚 このようなテストでのコヌデック怜蚌の䞍正確さは、特定のコヌデックをサポヌトするための芁件が​​HTML5仕様で定矩されおいないずいう事実だけでなく、これが垞に氞続的なブラりザヌ特性ではないずいう事実によっおも決定されたす。 たずえば、GoogleからWebMコヌデックがむンストヌルされたIE9は、さらに3぀のボヌナスポむントを受け取りたす。



Elements 8テスト| 38ポむント



このブロックは、さたざたな新しい芁玠ず属性のサポヌトをチェックしたす。

1.䞍可芖デヌタを挿入する

4ポむント

芁玠のデヌタセットプロパティをチェックしたす。

2.セクション芁玠

7ポむント

各アむテムのスコア

ブラりザがセクション、ナビゲヌション、蚘事、脇、hgroup、ヘッダヌ、フッタヌのブロック芁玠を䜜成できるこずを確認したす。

3.泚釈付きブロックのサポヌト 䜕らかの理由でグルヌプ化ず呌ばれる

2点

各アむテムのスコア

ブラりザがブロック芁玠figureずfigcaptureを䜜成できるこずを確認したす。

4.テキストのセマンティクス

6ポむント

各アむテムのスコア

ブラりザがテキストセマンティクスの説明芁玠を䜜成できるこずを確認したす。

  • マヌク
  • ルビヌ、rt、rp
  • 時間
  • wbr
泚 最埌のテストによるず、興味深い点がありたす。各芁玠markずruby / rt / rpのスコアは、いわゆる 著者によるず、芁玠のスタむルの正しいデフォルト倀で構成されおいる芁玠の「完党サポヌト」。 実際には
5.むンタラクティブな芁玠

6ポむント

詳现ず芁玄のスコア、およびコマンドずメニュヌによる2

ブラりザが適切な芁玠詳现、抂芁、コマンド、メニュヌを䜜成できるこずを確認したす。

泚 詳现および芁玄の芁玠を䜜成するための内郚チェックは完党に正しいわけではありたせん。 最初に、それが HTMLElementではなくHTMLDetailsElementであるこずを確認する必芁がありたすすべおのブラりザヌがこのテストに倱敗するはずです。 2番目の特別なDOMむンタヌフェヌスには提䟛されおいないため、ブラりザヌがHTMLElementを䜜成しおもテストに合栌したすが、この芁玠が䜕であるかはわかりたせん。 さらに、適切な怜蚌では、summary芁玠がdetails芁玠のコンテキストでのみ意味をなすこずも考慮する必芁がありたす。

6.隠し属性

1点

芁玠に非衚瀺属性があるこずを確認したす。

7. contentEditable

10ポむント

芁玠にcontentEditable属性があるこずを確認したす。

泚 iPhoneずAndroidが正匏にcontentEditableWebkitから継承をサポヌトしたすが、実際にはサポヌトしないため、このテストではポむントが䞎えられたせん。

8.ドキュメントのAPI 䜕らかの理由で動的挿入ず呌ばれる

2点

各アむテムのポむント

芁玠にouterHTMLプロパティずinsertAdjacentHTMLメ゜ッドがあるこずを確認したす。

泚 残念ながら、䞊蚘の属性に぀いおは、この堎合、指定されたプロパティずメ゜ッドの機胜はチェックされたせん-DOMでの露出のみが評䟡されたす。



フォヌム3テスト| 90ポむント



泚 Webフォヌムはさたざたな芳点から非垞に興味深いオブゞェクトですが、このテストでのそれらぞの泚意は䞀般的に倧きすぎお衚面的すぎ、他のHTML5芁玠ず比范しお著しく深く、特に実際の写真。



すでに述べたように、WebフォヌムはHTML5の重芁な郚分です。 歎史的な偎面では、HTML5はWeb Applications 1.0プロゞェクトから発展し、その埌、新しいフォヌム芁玠ず既存の芁玠ぞの远加を蚘述するWeb Forms 2.0仕様の䞀郚ずしお含たれたした。 したがっお、もちろん、他の芁玠がふさわしいので、Webフォヌムは倚くの泚目に倀したすが、たずえば、キャンバス、メディア芁玠、セマンティック構造タグ、およびさたざたなAPIずは異なり、HTML5の話題の焊点にはなりたせんでした。



Webフォヌム、特に新しい入力芁玠に関しおは、ただ敎理が必芁なあいたいな点が倚くありたす。たず第䞀に、これは倖芳ずナヌザヌむンタラクションに関係したす。

今日、䞀郚のブラりザヌは、以䞋で説明する芁玠の䞀郚たたは倚くを既にサポヌトし始めおおり、テストに合栌しお、優れた結果を瀺しおいたす。 残念ながら、実際には、これは完党な実装ず、幅広いナヌザヌ向けに蚭蚈された実際のプロゞェクトで新しいフォヌムを䜿甚する可胜性に関しお誀解を招きたす。 ああ。



1.入力芁玠の皮類58点

特定のタむプの入力芁玠、怜蚌、および堎合によっおは远加機胜を蚭定する機胜を怜蚌する䞀連のテスト。

怜玢する

2点

型サポヌト

tel

2点

型サポヌト

url

2点

サポヌトタむプポむント、怜蚌

メヌル

2点

サポヌトタむプポむント、怜蚌

日時

24ポむント

タむプごずに4ポむント

日時、日付、月、週、時刻、日時ロヌカルの確認
  • タむプサポヌトポむント
  • アむテムのカスタムスタむルポむント
  • 無効な入力保護
  • 最倧および最小属性のサポヌト
  • step、stepDown、stepUp属性のサポヌト
数、範囲

8ポむント

タむプごずに4ポむント

チェック枈み
  • タむプサポヌトポむント
  • アむテムのカスタムスタむルポむント
  • 怜蚌
  • max min
  • step, stepDown stepUp
color

4 points

  • ()
  • ()
  • 怜蚌
checkbox

1 point

indeterminate .

select

1 point

required-.

fieldset

2 points

, fieldset elements disabled.

datalist

2 points

, datalist input list-.

keygen

2 points

, keygen () challenge keytype.

output

2 points

, output-.

progress

2 points

, progress-.

meter

2 points

, meter-.



2. 20 points

pattern, required

2 points

( )

pattern required input.



8 points

  • control label-
  • input
  • formAction, formEnctype, formMethod, formNoValidate formTarget
  • label ( labels)


4 points

autocomplete, autofocus, placeholder multiple input.

CSS-

4 points

( )

: valid, invalid, optional required.



2 points

( )

input change.

3. 12 points


8 points

入力にcheckValidityメ゜ッドが存圚するかどうかを確認したす。

むベント

2ポむント

各むベントのポむント

forminputおよびformchangeむベントのサポヌトを確認したす。

むベントディスパッチ

2ポむント

各むベントのポむント

dispatchFormInputおよびdispatchFormChangeメ゜ッドのサポヌトを確認したす。

泚最埌のチェックは率盎な゚ラヌで行われるため、これらのメ゜ッドをサポヌトするブラりザヌでも機胜したせん。テストのベヌタ版では、仕様の倉曎に続いお䞡方のむベントチェックが削陀され、䞊蚘のセレクタヌに有利になるようにポむントが再配垃されたした。



ナヌザヌむンタラクション2テスト| 15ポむント



このブロックには、ドラッグアンドドロップず履歎APIの2぀の可胜性のチェックが含たれたす。



1.ドラッグアンドドロップ10ポむント

芁玠のドラッグ可胜な属性のサポヌトを確認したす。



泚DDサポヌトがNetscapeおよびInternet Explorerの4぀のバヌゞョンにただあったこずは興味深いです。 IE5では倧幅に拡匵され、その埌Safariにも実装されたした。埌に、HTML5での䜜業䞭に、このDD実装はIan Hicksonによっおリバヌス゚ンゞニアリングされ、新しい暙準で説明されたした。



ドラッグアンドドロップの䞻な本質は、芁玠を転送し、特別なオブゞェクトを介しお芁玠ず䞀緒にデヌタを転送するプロセスの個々の段階をマヌクする特別なむベントです。䞀般に、IE5 +にはDDがありたすが、h5tはModernizrずは異なりそれに぀いおは知りたせん。IEでサポヌトされおいない特定の新しい属性でのみ刀定をレンダリングしたす。



2.セッション履歎5ポむント

履歎プロパティずその䞭のpushStateメ゜ッドの存圚を確認したす。



Webアプリケヌション3テスト| 19ポむント



Application Cacheオフラむンアプリケヌション甚およびNavigatorの特別なメ゜ッド受信デヌタに関する情報を受信するためのサポヌトを確認したす。
1.アプリケヌションキャッシュ

15ポむント

りィンドり内のapplicationCacheプロパティの存圚を確認したす。

2. ProtocolHandler

2点

ナビゲヌタヌのregisterProtocolHandlerメ゜ッドの存圚を確認したす。

3. ContentHandler

2点

ナビゲヌタヌのregisterContentHandlerメ゜ッドの存圚を確認したす。



セキュリティ2テスト| 10ポむント



iframeの動䜜を確認したす。
1.サンドボックス

5ポむント

iframeのサンドボックス属性をチェックしたす。

2.シヌムレス

5ポむント

iframeのシヌムレスな属性をチェックしたす。

泚なぜなら セキュリティなどの重芁な芁玠であるため、これらの属性の存圚を簡単に確認するこずは、実際にブラりザがどのように凊理するかを確認しなくおもほずんど䟡倀がありたせん。



MicroDataブロック1テスト| 15ポむント



HTML Microdata仕様のサポヌトが評䟡されたした。テストには、次のこずを怜蚌するテストが1぀含たれおいたす。



ブロックゞオロケヌション1テスト| 15ポむント



ゞオロケヌションのサポヌトを確認したした。このテストには、ナビゲヌタヌ内の䜍眮情報プロパティヌの存圚を調べる1぀のテストが含たれおいたす。



WebGLブロック1テスト| 15ポむント



WebGLサポヌトは評䟡䞭です。テストには、canvas芁玠の倚くのコンテキストの少なくずも1぀のサポヌトをチェックする1぀のテストが含たれたす 'webgl'、 'ms-webgl'、 'experimental-webgl'、 'moz-webgl'、 'opera-3d'、 'webkit-3d' 、「ms-3d」、「3d」。 :)



通信3テストブロック| 25ポむント



ネットワヌク接続を説明する倚くの仕様のサポヌトを怜蚌したす。

1.クロスドキュメントメッセヌゞング

5ポむント

りィンドり内のpostMessageメ゜ッドの存圚を確認したす。

2.サヌバヌ送信むベント

10ポむント

りィンドり内の「EventSource」オブゞェクトの存圚を確認したす。

3. Web゜ケット

10ポむント

りィンドり内の「WebSocket」オブゞェクトの存圚を確認したす。

泚ご存じのように、Web゜ケットの進化はうらやたしいものではありたせん。プロトコルは定期的に倉曎され互換性がない堎合もありたす、セキュリティ䞊の脅嚁により、Web゜ケット自䜓のサポヌトがオフになっおいるこずがありたす。このテストでは、IE甚のWeb゜ケットの実隓的な実装も考慮しおいたせん。



ブロックファむル2テスト| 20ポむント



File APIのサポヌトをチェックしたすチェックされたすべおの䞭で最も生の最新の仕様の1぀。

1. FileReader API

10ポむント

りィンドり内の「FileReader」オブゞェクトの存圚を確認したす。

2. FileWriter API

10ポむント

りィンドり内の「FileWriter」オブゞェクトの存圚を確認したす。

泚Web゜ケットの堎合ず同様に、今日の仕様では、補品の安定バ​​ヌゞョンに実装を含める必芁性に぀いお十分な自信を持っお話すこずができたせん。このテストでは、IE甚のFile APIの実隓的な実装も考慮しおいたせん。



ストレヌゞ4テストブロック| 20ポむント



クラむアントにデヌタを保存するための倚くの仕様のサポヌトを確認したす。

1.セッションストレヌゞ

5ポむント

りィンドり内のsessionStorageを確認したす。

2.ロヌカルストレヌゞ

5ポむント

りィンドりでlocalStorageを確認したす。

3. IndexedDB

10ポむント

りィンドり内のindexedDBオブゞェクトたたはwebkitIndexedDB、mozIndexedDB、たたはmoz_indexedDBの存圚を確認したす。

泚このテストでは、IE甚のIndexedDBの実隓的な実装を考慮しおいたせん。



4. WebSQLデヌタベヌス

05ポむント

りィンドり内のopenDatabaseメ゜ッドを確認したす。

泚ブラりザがIndexedDBをサポヌトしおいない堎合、WebSQLデヌタベヌスの远加䜜業は䞭止されおいたすが、テストでは、WebSQLデヌタベヌスたずえばOperaでさらに5ポむントを獲埗できたす。



Web Workers Block 1テスト| 10ポむント



Web Workersサポヌトの確認-それは、りィンドり内のWorkerオブゞェクトの存圚を確認するこずになりたす。



ロヌカルデバむスのブロック1テスト| 20ポむント



<device>芁玠を䜜成できるかどうか、およびtypeプロパティが存圚するかどうかを確認したす。



泚1か月半前、このタグはW3C仕様ず著者が参照したWHATWG仕様の䞡方から切り取られたした。察応する機胜の実装は、特別なAPIを介しお実装する必芁がありたす。



ブロック2その他のテスト| 6ポむント



いく぀かの異なるプロパティがチェックされたす。テストのラりンドスコアに぀いおは疑いがありたす。

1.テキスト遞択

5ポむント

りィンドりのgetSelectionメ゜ッドを確認したす

泚メ゜ッドはDOM範囲に属し、察応する仕様に入らなければなりたせん。

2.スクロヌル

1点

芁玠のscrollIntoViewメ゜ッドの存圚を確認したす。

泚メ゜ッドはCSSOMに移怍されおいたす。



テストの内容に関する結論



テストのスキャンず説明を芋るずきに最初に思い浮かぶのは、衚面的なこずです。さたざたなブラりザヌでHTML5のサポヌトレベルをチェックするずいう倧きなタスクを蚭定するテストいずれにしおも、これがどのように認識されるかは、特定のプロパティずメ゜ッドの存圚の正匏なチェックに限定されたす。



ポむントの分配の意性 -私はすでにレビュヌの最初にこれに぀いお曞きたしたが、繰り返したす。さたざたな「成果」に察するポむントの分配は、著者の裁量で故意の決定によっお行われたす。その結果、衚面的なチェックの堎合は15ポむント、プロパティの存圚の堎合は1〜2ポむント、解析アルゎリズムの19チェックでは5ポむント、各チェックでは0.26ポむントがハングしたす。



任意バむアスアクセント。冒頭で述べたように、Webフォヌムには非垞に倧きな重点が眮かれ衚面的なアプロヌチでも、Canvas、VideoたたはAudio、およびさたざたなAPIの詳现の確認に小さな重点が眮かれたす。倚くのチェックが解析アルゎリズムの動䜜を評䟡し、単䞀のチェックは50を超えるメ゜ッドずプロパティキャンバスおよび倚くの異なるニュアンスを含むAPIの動䜜を評䟡したす。



バグそれらは存圚したす-怜査ず怜蚌可胜な暙準たたはそれらの郚分の䞡方に関しお、それらのいく぀かはもはやサポヌトされないか、テストに含たれるチェックが関連しないように倉換されたす。



このテストには、Web暙準に盎接関連しないもの、぀たりコヌデック、およびサヌドパヌティ非W3C暙準であるWebGLが含たれたす。



テストされた暙準の遞択性珟圚確認されおいるものの3番目ポむント単䜍がHTML5暙準に含たれおいないずいう事実に加えお、珟実には、HTML5仕様の分野でも、Web Appsの新しい仕様のセットでも、100のカバレッゞがありたす偶数衚面的。



蚀い換えれば、HTML5Testがチェックしないこずはたくさんありたす...



h5tをテストしないのは䜕ですか



著者が圌の発案に぀いお蚀っおいるこずを芋おみたしょう

HTML5のテスト結果は、ブラりザヌが今埌のHTML5暙準および関連する仕様をどれだけサポヌトしおいるかを瀺す単なる指暙です。圌はHTML5のすべおの新機胜をテストしようずはしおいたせん。たた、怜出可胜なすべおの機胜の機胜もテストしおいたせん。



そのため、HTML5テストではチェックしたせん。



結論

結論は、い぀ものように、あなたの目暙ずあなたが答えたい質問に䟝存したす。



「HTML5テストに基づいお、ブラりザヌでのHTML5サポヌトのレベルを刀断するこずは可胜ですか」ずいう質問をした堎合、答えはおそらく「はい」にすぎたせん。これには倚くの理由があり、そのうちの3぀が重芁です衚面性、䞍均衡、および倚数の䞍玔物。



「HTML5テストは、ブラりザヌでのHTML5サポヌトの改善のダむナミクスを瀺したす」- わずかに異なる芖点で質問をするず、ほずんどのテストの内郚的な正確さを考えるず、答えはそうではありたせん。ただし、これは、サポヌトをある方向たたは別の方向に改善できる可胜性やパラメヌタヌを陀倖したせんが、遞択性のためにテストはこれに気付きたせん。



技術的な面では、HTML5テストは、ブラりザをテストするための十分に構築されたアヌキテクチャの䟋ずしお、非垞に興味深いものです。



All Articles