(57)【特許請求の範囲】
【請求項１】
表示データについての同一のソースコードに関する複数のブラウザのそれぞれの表示結果における、前記表示データに含まれる複数の表示要素のそれぞれの表示領域を示す表示領域情報を取得する取得部と、
前記ブラウザごとに、前記取得部によって当該ブラウザに関して取得された表示領域情報に基づいて、当該ブラウザの前記表示結果における前記複数の表示要素の中で水平方向に相互に並列する表示要素の組み合わせを特定する特定部と、
前記特定部によっていずれかのブラウザに関して特定され、他のいずれかのブラウザに関して特定されない組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する検出部と、
を有することを特徴とする非互換検出装置。
【請求項２】
前記特定部は、第一の表示要素の垂直方向の範囲に第二の表示要素の垂直方向の範囲が含まれる場合に、前記第一の表示要素と前記第二の表示要素とは水平方向に相互に並列すると判定する、
ことを特徴とする請求項１記載の非互換検出装置。
【請求項３】
前記検出部は、前記特定部によっていずれかのブラウザに関して特定され、他のブラウザに関して特定されない組み合わせの中で、前記他のブラウザに関して、当該組み合わせに含まれるいずれかの表示要素の表示領域の全部が、当該組み合わせに含まれる他の表示要素の表示領域よりも下である組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する、
ことを特徴とする請求項１又は２記載の非互換検出装置。
【請求項４】
コンピュータが、
表示データについての同一のソースコードに関する複数のブラウザのそれぞれの表示結果における、前記表示データに含まれる複数の表示要素のそれぞれの表示領域を示す表示領域情報を取得し、
前記ブラウザごとに、前記取得する処理において当該ブラウザに関して取得された表示領域情報に基づいて、当該ブラウザの前記表示結果における前記複数の表示要素の中で水平方向に相互に並列する表示要素の組み合わせを特定し、
前記特定する処理においていずれかのブラウザに関して特定され、他のいずれかのブラウザに関して特定されない組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する、
処理を実行することを特徴とする非互換検出方法。
【請求項５】
コンピュータに、
表示データについての同一のソースコードに関する複数のブラウザのそれぞれの表示結果における、前記表示データに含まれる複数の表示要素のそれぞれの表示領域を示す表示領域情報を取得し、
前記ブラウザごとに、前記取得する処理において当該ブラウザに関して取得された表示領域情報に基づいて、当該ブラウザの前記表示結果における前記複数の表示要素の中で水平方向に相互に並列する表示要素の組み合わせを特定し、
前記特定する処理においていずれかのブラウザに関して特定され、他のいずれかのブラウザに関して特定されない組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非互換検出装置、非互換検出方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネットの普及ととともに、インターネットを介して取得されるＨＴＭＬ文書を表示させるＷｅｂブラウザの種類が増加している。Ｗｅｂブラウザの種類に加え、Ｗｅｂブラウザのバージョン及び動作ＯＳ等の違いを考慮すると多数の組み合わせが存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１７８０８１号公報
【特許文献２】特開２００１−１６６９８１号公報
【特許文献３】特開２０１１−８６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、各Ｗｅｂブラウザは、相互に描画特性が異なったり、独自の拡張機能を有していたりする。また、ＨＴＭＬに関してＷｅｂブラウザごとに解釈が異なる定義が有る。その結果、同一のＨＴＭＬ文書について、Ｗｅｂブラウザごとに表示結果が異なる場合が有る。
【０００５】
図１は、同一のＨＴＭＬ文書についてＷｅｂブラウザごとに表示結果が異なる例を示す図である。
【０００６】
図１において、（Ａ）は、ＷｅｂブラウザＡによる或るＨＴＭＬ文書の表示結果を示す。（Ｂ）は、ＷｅｂブラウザＢによる当該ＨＴＭＬ文書の表示結果を示す。（Ｃ）は、ＷｅｂブラウザＣによる当該ＨＴＭＬ文書の表示結果を示す。
【０００７】
（Ａ）は、各ＨＴＭＬ要素が期待通り表示されている例である。この場合、例えば、当該ＨＴＭＬ文書の表示結果の横幅が、Ｗｅｂブラウザの描画領域の横幅よりも広い時、水平方向において一部が隠蔽されるが、その部分は、水平スクロールバーの操作によって可視化される。（Ｂ）は、本文領域とサイドメニュー領域との水平方向における並列関係が維持されずに、本文領域が、サイドメニュー領域よりも下に移動してしまっている例である。（Ｃ）は、本文領域とサイドメニュー領域との水平方向における並列関係が維持されずに、サイドメニュー領域が、本文領域よりも下に移動してしまっている例である。
【０００８】
このようなレイアウトの崩れは、本来であれば、水平方向において相互に並列すべきＨＴＭＬ要素群のうちのいずれかのＨＴＭＬ要素が、垂直方向に移動する（他のＨＴＭＬ要素の下に回り込む）ことによって発生することが多い。
【０００９】
そのため、ＨＴＭＬ文書の作成者は、各Ｗｅｂブラウザにおいて自らの意図した通りにＨＴＭＬ文書が表示されるか否か、すなわち、各Ｗｅｂブラウザ間でＨＴＭＬ文書の表示結果が同じになるか否かについて、テストの実施が要求される。
【００１０】
現状では、各ＷｅｂブラウザにおいてＨＴＭＬ文書を実際に表示させ、表示結果が他のＷｅｂブラウザと一致するか否かが目視で確認されることでテストが行われるのが一般的であり、作業効率が悪い。
【００１１】
そこで、一側面では、表示データの表示に関する複数のブラウザ間での非互換を効率的に検出することを目的とする。
【課題を解決するための手段】
【００１２】
一つの案では、非互換検出装置は、同一の表示データに関する複数のブラウザのそれぞれの表示結果における、前記表示データに含まれる複数の表示要素のそれぞれの表示領域を示す表示領域情報を取得する取得部と、前記ブラウザごとに、前記取得部によって当該ブラウザに関して取得された表示領域情報に基づいて、前記複数の表示要素の中で水平方向に相互に並列する表示要素の組み合わせを特定する特定部と、前記特定部によっていずれかのブラウザに関して特定され、他のいずれかのブラウザに関して特定されない組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する検出部と、を有する。
【発明の効果】
【００１３】
一側面によれば、表示データの表示に関する複数のブラウザ間での非互換を効率的に検出することができる。
【図面の簡単な説明】
【００１４】
【図１】同一のＨＴＭＬ文書についてＷｅｂブラウザごとに表示結果が異なる例を示す図である。
【図２】本発明の実施の形態における非互換検出装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における非互換検出装置の機能構成例を示す図である。
【図４】非互換検出装置が実行する処理手順の一例を説明するためのフローチャートである。
【図５】本実施の形態における並列関係を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。図２は、本発明の実施の形態における非互換検出装置のハードウェア構成例を示す図である。図２の非互換検出装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００１６】
非互換検出装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１７】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って非互換検出装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
【００１８】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１９】
図３は、本発明の実施の形態における非互換検出装置の機能構成例を示す図である。図３において、非互換検出装置１０は、２以上のＷｅｂブラウザ１１、表示制御部１２、表示位置取得部１３、並列関係特定部１４、非互換検出部１５、及び出力部１６等を有する。これら各部は、非互換検出装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。非互換検出装置１０は、また、ＨＴＭＬ文書記憶部１２１及び非互換情報記憶部１２２等を利用する。これら各記憶部は、補助記憶装置１０２、又は非互換検出装置１０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００２０】
Ｗｅｂブラウザ１１は、ＨＴＭＬ文書の表示を制御する。各Ｗｅｂブラウザ１１は、例えば、相互に異なる種類のＷｅｂブラウザである。本実施の形態において、各Ｗｅｂブラウザ１１は、ＨＴＭＬ文書記憶部１２１に記憶されているＨＴＭＬ文書を表示する。すなわち、ＨＴＭＬ文書記憶部１２１には、評価対象のＨＴＭＬ文書が記憶されている。但し、評価対象のＨＴＭＬ文書は、非互換検出装置１０にネットワークを介して接続されるＷｅｂサーバからダウンロードされてもよい。なお、評価対象のＨＴＭＬ文書とは、本実施の形態において、その表示結果についてＷｅｂブラウザ１１間の非互換の検出対象とされるＨＴＭＬ文書をいう。
【００２１】
表示制御部１２は、評価対象のＨＴＭＬ文書を各Ｗｅｂブラウザ１１に表示させる。表示位置取得部１３は、各Ｗｅｂブラウザ１１による評価対象のＨＴＭＬ文書の表示結果における各ＨＴＭＬ要素の表示位置（表示領域）の座標情報を取得する。ＨＴＭＬ要素は、ＨＴＭＬ文書を構成する要素であり、例えば、画像、文字列、及びブロックレベル要素等を含む。ブロックレベル要素とは、見出し、段落等、文書を構成する基本又は骨組みとなる要素である。
【００２２】
並列関係特定部１４は、Ｗｅｂブラウザ１１ごとに、評価対象のＨＴＭＬ文書に含まれるＨＴＭＬ要素群の中で、当該Ｗｅｂブラウザ１１による表示結果において並列関係を有するＨＴＭＬ要素の組み合わせを特定する。例えば、並列関係特定部１４は、表示位置取得部１３によって座標情報が取得された全てのＨＴＭＬ要素からの２つのＨＴＭＬ要素ごとの全ての組み合わせについて、Ｗｅｂブラウザ１１ごとに、並列関係の有無を判定する。なお、並列関係を有するとは、水平方向において相互に並列（又は隣接）することをいう。
【００２３】
非互換検出部１５は、並列関係特定部１４による特定結果等に基づいて、ＨＴＭＬ文書に含まれるＨＴＭＬ要素の表示に関するＷｅｂブラウザ１１間における非互換を検出する。例えば、非互換検出部１５は、並列関係特定部１４によって、いずれかのＷｅｂブラウザ１１に関して並列関係が特定され、他のいずれかのＷｅｂブラウザ１１に関して並列関係が特定されない組み合わせに含まれるＨＴＭＬ要素を、Ｗｅｂブラウザ１１間の非互換部分として検出する。非互換検出部１５は、非互換が検出されたＨＴＭＬ要素に関する情報を、非互換情報記憶部１２２に記憶する。
【００２４】
出力部１６は、非互換が検出されたＨＴＭＬ要素に関する情報を、例えば、表示装置１０６に表示する。
【００２５】
以下、非互換検出装置１０が実行する処理手順について説明する。図４は、非互換検出装置が実行する処理手順の一例を説明するためのフローチャートである。
【００２６】
ステップＳ１０１において、表示制御部１２は、評価対象の同一のＨＴＭＬ文書を２種類の比較対象のＷｅｂブラウザ１１によって表示させる。例えば、表示制御部１２は、各Ｗｅｂブラウザ１１に対して、評価対象のＨＴＭＬ文書のＵＲＬ（Uniform Resource Locator）を入力する。各Ｗｅｂブラウザ１１は、入力されたＵＲＬに係るＨＴＭＬ文書をＨＴＭＬ文書記憶部１２１から取得し、取得されたＨＴＭＬ文書を表示する。２種類のＷｅｂブラウザ１１のうち、いずれか一方は、正しい表示結果、すなわち、ＨＴＭＬ文書の作成者の意図した通りの表示結果が得られるものであることが望ましい。
【００２７】
なお、表示制御部１２は、各Ｗｅｂブラウザ１１によるＨＴＭＬ文書の表示後、各Ｗｅｂブラウザ１１の描画領域を共通のサイズに変更してもよい。この際、当該描画領域の幅及び高さのうち、幅のみが変更されてもよい。図１に示したようなレイアウトの崩れは、ＨＴＭＬ文書の表示結果（表示画像）の幅が、Ｗｅｂブラウザ１１の描画領域の幅よりも大きい場合に発生する可能性が高いからである。
【００２８】
続いて、表示位置取得部１３は、２種類のＷｅｂブラウザ１１によるそれぞれの表示結果（表示画像）における、ＨＴＭＬ文書内の各ＨＴＭＬ要素の表示位置（表示領域）を示す座標情報（以下、「表示座標」という。）を取得する（Ｓ１０２）。
【００２９】
各ＨＴＭＬ要素の表示座標は、例えば、各ＨＴＭＬ要素の外接矩形（例えば、最小外接矩形）の左上頂点及び右下頂点の座標値でもよい。斯かる表示座標は、例えば、特開２０１０−３９８１５号公報に記載された方法を用いて取得されてもよい。すなわち、ＨＴＭＬ文書の表示結果を画面キャプチャし、画面キャプチャによって得られた画像を解析することにより、各ＨＴＭＬ要素の表示座標が取得されてもよい。
【００３０】
具体的には、表示位置取得部１３は、ＨＴＭＬ文書に含まれるＨＴＭＬ要素群のうち、表示座標の取得対象とする一つのＨＴＭＬ要素の色が黒となり、他の全てのＨＴＭＬ要素の色が白となるように、ＨＴＭＬ文書を改変し、改変後のＨＴＭＬ文書を各Ｗｅｂブラウザ１１によって表示させる。続いて、表示位置取得部１３は、各表示結果を画面キャプチャして得られた画像を画像処理して、黒で表示されたＨＴＭＬ要素の表示座標を取得する。この際、一つのＨＴＭＬ要素だけが黒で表示されるため、表示結果のうちの黒色の領域が、黒色に変化させたＨＴＭＬ要素であると分かる。この手順を、全てのＨＴＭＬ要素に対して繰り返すことにより、全てのＨＴＭＬ要素のそれぞれの表示座標を取得することができる。このようにして、ＨＴＭＬ文書を構成する各ＨＴＭＬ要素に関する表示座標を取得することができる。
【００３１】
なお、ステップＳ１０２では、比較対象の２種類のＷｅｂブラウザ１１の表示結果ごとに、各ＨＴＭＬ要素の表示座標が取得される。また、ステップＳ１０１及びＳ１０２は、各Ｗｅｂブラウザ１１に関して並列的に実行されてもよいし、直列的に実行されてもよい。
【００３２】
また、表示座標の取得対象は、ｄｉｖ要素、見出し要素、及び段落要素等のブロックレベル要素、並びにｉｍｇ要素及びｓｐａｍ要素等のインライン要素とされてもよい。ブロックレベル要素の表示座標が取得されることで、ブロック領域の表示位置についても、Ｗｅｂブラウザ１１間の非互換を検出できるようになる。
【００３３】
続いて、並列関係特定部１４は、表示座標が取得された複数のＨＴＭＬ要素のうちの任意の二つを並列関係の有無の判定対象として選択する（Ｓ１０３）。続いて、並列関係特定部１４は、選択された二つのＨＴＭＬ要素について、各Ｗｅｂブラウザ１１によるそれぞれの表示結果ごとに、並列関係（又は隣接関係）を有するか否かを判定する（Ｓ１０４）。
【００３４】
図５は、本実施の形態における並列関係を説明するための図である。図５において（１）〜（３）は、ＨＴＭＬ要素ｅ０とＨＴＭＬ要素ｅ１とが並列関係を有すると判定される例である。
【００３５】
すなわち、本実施の形態では、二つのＨＴＭＬ要素が、水平方向の範囲において重複部分（又は干渉部分）を有さず、一方のＨＴＭＬ要素の垂直方向の範囲が、他方のＨＴＭＬ要素の垂直方向の範囲に含まれる場合、当該二つのＨＴＭＬ要素は並列関係を有すると判定される。
【００３６】
並列関係の有無の判定は、以下のように行われてもよい。
【００３７】
二つのＨＴＭＬ要素のうちの一方のＨＴＭＬ要素の表示座標（左上頂点の座標値と右下頂点の座標値）が、（ｌｅｆｔ０，ｔｏｐ０）−（ｒｉｇｈｔ０，ｂｏｔｔｏｍ０）であり、他方のＨＴＭＬ要素の表示座標が、（ｌｅｆｔ１，ｔｏｐ１）−（ｒｉｇｈｔ１，ｂｏｔｔｏｍ１）である場合、以下の条件１及び条件２の双方が満たされれば、当該二つのＨＴＭＬ要素は、並列関係を有すると判定される。なお、ＨＴＭＬ要素の表示座標の座標系は、図５の（１）に示される通りである。
【００３８】
条件１：（α１≦ｌｅｆｔ１−ｒｉｇｈｔ０≦α２）又は（α１≦ｌｅｆｔ０−ｒｉｇｈｔ１≦α２）
条件２：（β≦ｔｏｐ１−ｔｏｐ０  かつ  β≦ｂｏｔｔｏｍ０−ｂｏｔｔｏｍ１）又は（β≦ｔｏｐ０−ｔｏｐ１  かつ  β≦ｂｏｔｔｏｍ１−ｂｏｔｔｏｍ０）
なお、上記の条件１及び条件２では、一方のＨＴＭＬ要素と他方のＨＴＭＬ要素との左右関係は、限定されていない。
【００３９】
条件１は、一方ＨＴＭＬ要素の表示領域と他方のＨＴＭＬ要素の表示領域とが水平方向の範囲において重複部分を有さないことを示す条件である。すなわち、条件１は、一方のＨＴＭＬ要素の表示領域の左端又は右端と、他方のＨＴＭＬ要素の表示領域の右端又は左端とが、接するか、又は離れていることを示す条件である。なお、条件１におけるα１及びα２は、条件の判定に用いられる座標の誤差を許容するための定数である。通常、α１は、小さな負数であり、α２は、小さな正数である。
【００４０】
条件２は、一方のＨＴＭＬ要素の垂直方向の範囲が、他方のＨＴＭＬ要素の垂直方向の範囲に含まれることを示す条件である。なお、条件２におけるβについても、条件の判定に用いられる座標の誤差を許容するため定数である。通常、βは、小さな負数である。
【００４１】
なお、条件２については、緩和されてもよい。例えば、図５の（４）に示されるＨＴＭＬ要素ｅ０とＨＴＭＬ要素ｅ１とについて、垂直方向の範囲の重複部分が、少なくともいずれか一方のＨＴＭＬ要素の高さに対して所定の割合以上であるという条件が、条件２の代わりに用いられてもよい。なお、条件２において、当該所定の割合は１００％である。
【００４２】
なお、Ｗｅｂブラウザ１１によるＨＴＭＬ文書の表示において、各ＨＴＭＬ要素が相互に重複しないことが保証されるのであれば、条件１は、並列関係を満たすための条件から除去されてもよい。
【００４３】
続いて、非互換検出部１５は、二つのＨＴＭＬ要素の並列関係の有無の判定結果が、Ｗｅｂブラウザ１１ごとに異なるか否かを判定する（Ｓ１０５）。Ｗｅｂブラウザ１１ごとの判定結果が異なる場合、すなわち、一方のＷｅｂブラウザ１１に関しては並列関係を有すると判定され、他方のＷｅｂブラウザ１１に関しては並列関係を有さないと判定された場合（Ｓ１０５でＹｅｓ）、非互換検出部１５は、並列関係を有さないと判定されたＷｅｂブラウザ１１の表示結果に係る、二つのＨＴＭＬ要素それぞれの表示座標について、以下の条件３が満たされるか否かを判定する（Ｓ１０６）。
【００４４】
条件３：γ≦ｔｏｐ１−ｂｏｔｔｏｍ０  又は  γ≦ｔｏｐ０−ｂｏｔｔｏｍ１
すなわち、下方のＨＴＭＬ要素の表示領域のＹ座標の最小値と、上方のＨＴＭＬ要素の表示領域の上辺のＹ座標の最大値と差が、下方のＨＴＭＬ要素の高さ以上であるか否かが判定される。例えば、図１の（Ｂ）又は（Ｃ）における、サイドメニュー領域と本文領域とは、条件３を満たす。
【００４５】
なお、条件３は、一方のＨＴＭＬ要素の上辺のＹ座標値が、他方のＨＴＭＬ要素の底辺のＹ座標値以下であることを示す条件であるともいえる。又は、条件３は、一方のＨＴＭＬ要素の垂直方向の範囲の全部が、他方のＨＴＭＬ要素の垂直方向の範囲よりも下であることを示す条件であるともいえる。すなわち、条件３は、一方のＨＴＭＬ要素が、他方のＨＴＭＬ要素の下に回り込んでいる否かを判定するための条件である。なお、条件３におけるγについても、条件の判定に用いられる座標の誤差を許容するため定数である。通常、γは、小さな負数である。
【００４６】
条件３が満たされる場合（Ｓ１０６でＹｅｓ）、非互換検出部１５は、並列関係の判定対象の二つのＨＴＭＬ要素それぞれの情報を対応付けて非互換情報記憶部１２２に記憶する（Ｓ１０７）。すなわち、当該二つのＨＴＭＬ要素の表示に関して、二つのＷｅｂブラウザ１１の間に非互換が有ることが検出される。非互換情報記憶部１２２に記憶される情報は、例えば、当該二つのＨＴＭＬ要素の識別情報である。当該識別情報は、ＸＰａｔｈの値であってもよい。又は、当該識別情報は、評価対象のＨＴＭＬ文書中における行数及びタグ名等であってもよい。
【００４７】
なお、Ｗｅｂブラウザ１１ごとの並列関係の判定結果が一致する場合（Ｓ１０５でＮｏ）、又はＷｅｂブラウザ１１ごとの並列関係の判定結果が相互に異なるが、条件３が満たされない場合（Ｓ１０６でＮｏ）、ステップＳ１０７は実行されない。
【００４８】
続いて、並列関係特定部１４は、表示座標が取得されたＨＴＭＬ要素群の中からの二つのＨＴＭＬ要素の全ての組み合わせについて並列関係の有無の判定が実行されたか否かを判定する（Ｓ１０８）。未判定の組み合わせが有る場合（Ｓ１０８でＮｏ）、当該組み合わせについてステップＳ１０３以降が繰り返される。未判定の組み合わせが無い場合（Ｓ１０８でＹｅｓ）、出力部１６は、いずれかのＨＴＭＬ要素に関する情報が非互換情報記憶部１２２に記憶されているか否かを判定する（Ｓ１０９）。すなわち、二つのＷｅｂブラウザ１１の間に、非互換が検出されたか否かが判定される。
【００４９】
いずれかのＨＴＭＬ要素の情報が非互換情報記憶部１２２に記憶されている場合（Ｓ１０９でＹｅｓ）、出力部１６は、当該ＨＴＭＬ要素に関する情報を出力する（Ｓ１１０）。例えば、当該ＨＴＭＬ要素に関する情報が、表示装置１０６に表示される。この際、出力部１６は、評価対象のＨＴＭＬ文書中における、当該ＨＴＭＬ要素に関する定義部分を特定し、当該定義部分が強調表示されるように、ＨＴＭＬ文書（ＨＴＭＬソースコード）を表示してもよい。
【００５０】
なお、非互換検出装置１０は、評価対象のＨＴＭＬ文書及び比較対象の二つのＷｅｂブラウザ１１を変えずにステップＳ１０１以降を繰り返してもよい。この場合、表示制御部１２は、ステップＳ１０１において、各Ｗｅｂブラウザ１１の描画領域のサイズを、前回と異なるサイズに変更してもよい。例えば、各Ｗｅｂブラウザ１１の幅が、前回よりも小さくされてもよい。そうすることにより、前回検出されなかった非互換（レイアウト崩れ）が検出される可能性が有る。また、各Ｗｅｂブラウザ１１の描画領域のサイズの変更は、段階的に複数回にわたって行われてもよい。この場合、ステップＳ１０１以降が複数回実行されればよい。
【００５１】
上述したように、本実施の形態によれば、比較対象の各Ｗｅｂブラウザ１１による実際の表示結果に基づいて、同一のＨＴＭＬ文書に関して、いずれかのＷｅｂブラウザ１１におけるレイアウト崩れを自動的に検出することができる。
【００５２】
したがって、ＨＴＭＬ文書の表示に関する複数のブラウザ間での非互換を効率的に検出することができる。
【００５３】
なお、本実施の形態において、ＨＴＭＬ文書は、表示データの一例である。ＨＴＭＬ要素は、表示要素の一例である。すなわち、ＨＴＭＬ文書以外の表示データであって、複数の表示要素を含む表示データに関して、本実施の形態が適用されてもよい。この場合、Ｗｅｂブラウザ１１の代わりに、当該表示データに適したブラウザが用いられてもよい。
【００５４】
また、表示位置取得部１３は、取得部の一例である。並列関係特定部１４は、特定部の一例である。非互換検出部１５は、検出部の一例である。
【００５５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５６】
以上の説明に関し、更に以下の項を開示する。
（付記１）
同一の表示データに関する複数のブラウザのそれぞれの表示結果における、前記表示データに含まれる複数の表示要素のそれぞれの表示領域を示す表示領域情報を取得する取得部と、
前記ブラウザごとに、前記取得部によって当該ブラウザに関して取得された表示領域情報に基づいて、前記複数の表示要素の中で水平方向に相互に並列する表示要素の組み合わせを特定する特定部と、
前記特定部によっていずれかのブラウザに関して特定され、他のいずれかのブラウザに関して特定されない組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する検出部と、
を有することを特徴とする非互換検出装置。
（付記２）
前記特定部は、第一の表示要素の垂直方向の範囲に第二の表示要素の垂直方向の範囲が含まれる場合に、前記第一の表示要素と前記第二の表示要素とは水平方向に相互に並列すると判定する、
ことを特徴とする付記１記載の非互換検出装置。
（付記３）
前記検出部は、前記特定部によっていずれかのブラウザに関して特定され、他のブラウザに関して特定されない組み合わせの中で、前記他のブラウザに関して、当該組み合わせに含まれるいずれかの表示要素の表示領域の全部が、当該組み合わせに含まれる他の表示要素の表示領域よりも下である組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する、
ことを特徴とする付記１又は２記載の非互換検出装置。
（付記４）
コンピュータが、
同一の表示データに関する複数のブラウザのそれぞれの表示結果における、前記表示データに含まれる複数の表示要素のそれぞれの表示領域を示す表示領域情報を取得し、
前記ブラウザごとに、前記取得する処理において当該ブラウザに関して取得された表示領域情報に基づいて、前記複数の表示要素の中で水平方向に相互に並列する表示要素の組み合わせを特定し、
前記特定する処理においていずれかのブラウザに関して特定され、他のいずれかのブラウザに関して特定されない組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する、
処理を実行することを特徴とする非互換検出方法。
（付記５）
前記特定する処理は、第一の表示要素の垂直方向の範囲に第二の表示要素の垂直方向の範囲が含まれる場合に、前記第一の表示要素と前記第二の表示要素とは水平方向に相互に並列すると判定する、
ことを特徴とする付記４記載の非互換検出方法。
（付記６）
前記検出する処理は、前記特定する処理においていずれかのブラウザに関して特定され、他のブラウザに関して特定されない組み合わせの中で、前記他のブラウザに関して、当該組み合わせに含まれるいずれかの表示要素の表示領域の全部が、当該組み合わせに含まれる他の表示要素の表示領域よりも下である組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する、
ことを特徴とする付記４又は５記載の非互換検出方法。
（付記７）
コンピュータに、
同一の表示データに関する複数のブラウザのそれぞれの表示結果における、前記表示データに含まれる複数の表示要素のそれぞれの表示領域を示す表示領域情報を取得し、
前記ブラウザごとに、前記取得する処理において当該ブラウザに関して取得された表示領域情報に基づいて、前記複数の表示要素の中で水平方向に相互に並列する表示要素の組み合わせを特定し、
前記特定する処理においていずれかのブラウザに関して特定され、他のいずれかのブラウザに関して特定されない組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する、
処理を実行させるプログラム。
（付記８）
前記特定する処理は、第一の表示要素の垂直方向の範囲に第二の表示要素の垂直方向の範囲が含まれる場合に、前記第一の表示要素と前記第二の表示要素とは水平方向に相互に並列すると判定する、
ことを特徴とする付記７記載のプログラム。
（付記９）
前記検出する処理は、前記特定する処理においていずれかのブラウザに関して特定され、他のブラウザに関して特定されない組み合わせの中で、前記他のブラウザに関して、当該組み合わせに含まれるいずれかの表示要素の表示領域の全部が、当該組み合わせに含まれる他の表示要素の表示領域よりも下である組み合わせに含まれる表示要素を、前記ブラウザ間の非互換部分として検出する、
ことを特徴とする付記７又は８記載のプログラム。
【符号の説明】
【００５７】
１０          非互換検出装置
１１          Ｗｅｂブラウザ
１２          表示制御部
１３          表示位置取得部
１４          並列関係特定部
１５          非互換検出部
１６          出力部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１２１        ＨＴＭＬ文書記憶部
１２２        非互換情報記憶部
Ｂ            バス
【図１】
0006446945.tif 000002
【図２】
0006446945.tif 000003
【図３】
0006446945.tif 000004
【図４】
0006446945.tif 000005
【図５】
0006446945.tif 000006