(57)【要約】【課題】Ｗｅｂコンテンツの表示内容の変更に伴う誤操作を低減する。【解決手段】プログラムは、コンピュータに、表示したＷｅｂコンテンツに対するユーザ操作を受け付け、前記ユーザ操作を受け付けた前記Ｗｅｂコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示することを実行させる。【選択図】図１２
2018081388.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
表示したＷｅｂコンテンツに対するユーザ操作を受け付け、
前記ユーザ操作を受け付けた前記Ｗｅｂコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示することを実行させる、
プログラム。
【請求項２】
前記要素の位置の変更と前記ユーザ操作とは、一定時間の範囲で関連する関係にある請求項１に記載のプログラム。
【請求項３】
前記Ｗｅｂコンテンツの各要素の位置情報を一定時間保持することを実行させる請求項１または２に記載のプログラム。
【請求項４】
前記Ｗｅｂコンテンツの各要素の位置情報の変更の有無を監視し、前記位置情報が変更されるときに、前記変更される要素の位置情報を記憶装置に格納する請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
前記Ｗｅｂコンテンツ中の要素の位置は前記ユーザ操作と非同期に変更されるものである請求項１から４のいずれか１項に記載にプログラム。
【請求項６】
コンピュータが、
表示したＷｅｂコンテンツに対するユーザ操作を受け付け、
前記ユーザ操作を受け付けた前記Ｗｅｂコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示する、
処理を実行する情報処理方法。
【請求項７】
表示装置に表示したＷｅｂコンテンツに対するユーザ操作を受け付け、
前記ユーザ操作を受け付けた前記Ｗｅｂコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示する、制御部を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【０００２】
スマートフォンのディスプレイの解像度等、視認性に係る性能の向上により、ＰＣサイトのＷｅｂページをスマートフォンで直接閲覧することも可能となっている。加えて、スマートフォンの高性能化に伴い、スマートフォン上で動作するブラウザでＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ  ５（ＨＴＭＬ５）やＡｓｙｎｃｈｒｏｎｏｕｓ
ＪＡｖａｓｃｒｉｐｔ＋ＥｘｔｅｎｓｉｂｌｅＭａｒｋｕｐＬａｎｇｕａｇｅ（Ｘｍｌ）（ＡＪＡＸ）といった技術が利用できるようになった。ＨＴＭＬ５、ＡＪＡＸ、Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ（ＣＳＳ）等にはＷｅｂページを動的に書き換える機能が含まれている。当該機能によりＷｅｂページの外観構成が変化し、ユーザが操作しようとしたＷｅｂコンテンツ上の部品が移動することがある。ここで、Ｗｅｂコンテンツとは、Ｗｅｂページのように、Ｗｅｂサーバ等の情報の生成元の装置から情報の表示先の装置に提供される、ＨＴＭＬやＸＭＬ等の規定にしたがって記述される情報をいう。Ｗｅｂコンテンツはブラウザにより表示先の装置、例えば、スマートフォンで表示される。
【０００３】
図１に、Ｗｅｂページの外観構成が変化する表示例を示す。図では、スマートフォンの画面に記事１から記事５を表示するための選択肢が表示されている。今、ユーザは記事１を選択しようとしていると仮定する。このような状態で、画面の構成がユーザの操作と非同期、無関係に変更することがある。例えば、ユーザが記事１の選択肢をタッチする直前に、記事１の選択肢に代わって、広告へのリンクが表示されることがある。すると、ユーザは、記事１を選択する意図をもって操作をしても、誤って広告を選択する結果となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−３３１４６４号公報
【特許文献２】特開２００６−５９２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１、２に例示されるように、機器の表示装置に表示されるコンテンツの生成元と、コンテンツを表示する主体とが同じ場合には、機器自体が、誤操作を防止するために、コンテンツに含まれる要素の表示方法（位置、形態）を制御することが可能である。
【０００６】
しかしながら、Ｗｅｂコンテンツの場合には、コンテンツの生成処理を実行する生成元の主体と、コンテンツを表示する処理（例えば、ブラウザの処理）を実行する主体とは、通常、異なる。このため、Ｗｅｂコンテンツを動的に書き換える機能をコンテンツ生成元がＷｅｂコンテンツに埋め込んでいる場合、ブラウザに表示されたコンテンツを操作するユーザの選択のタイミングと、Ｗｅｂコンテンツが書き換えられるタイミングによっては、ユーザの選択の意図とは異なる選択がなされることになる。
【０００７】
本発明の課題は、Ｗｅｂコンテンツの表示内容の変更に伴う誤操作を低減することができるプログラム、情報処理方法、および情報処理装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一側面は、コンピュータに以下の処理を実行させるプログラムによって例示される。このプログラムは、コンピュータに、表示したＷｅｂコンテンツに対するユーザ操作を受け付け、前記ユーザ操作を受け付けた前記Ｗｅｂコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示することを実行させる。
【発明の効果】
【０００９】
本プログラムによれば、Ｗｅｂコンテンツの表示内容の変更に伴う誤操作を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】Ｗｅｂページの外観構成が変化する表示例である。
【図２】比較例に係る広告フィルタによって広告の非表示化処理がなされた画面の例である。
【図３】比較例において、広告フィルタ機能によって誤操作を防止できない例である。
【図４】比較例において、ユーザがタッチパネル上で部品が集中している座標をタップしたときにユーザに再選択を促す処理例である。
【図５】レイアウト変更のため、再選択を促す処理が実行されない例である。
【図６】情報機器のハードウェア構成を例示する図である。
【図７】ブラウザの構成を例示する図である。
【図８】操作可能な部品のいずれかを選択するユーザインターフェースを例示する図である。
【図９】履歴管理テーブルのデータ例である。
【図１０】ブラウザ上の部品を定義するクラス図を例示する図である。
【図１１】ブラウザを実行する情報機器がスクリプトやスタイルシートにより表示要素の位置を変更するときのフローチャートである。
【図１２】ブラウザ上でコンテンツが表示されるコンテンツ面がタッチされた時に実行される処理のフローチャートである。
【図１３】スクリプト言語の記述にしたがって具体的に記述した処理例である。
【図１４】情報機器におけるシーケンス図の例である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、一実施形態に係る情報機器および情報処理方法について説明する。以下の実施形態の構成は例示であり、本情報機器は実施形態の構成には限定されない。
［比較例］
【００１２】
まず、図２から図４により、比較例に係る情報機器の処理を例示する。図２は、広告フィルタによって広告の非表示化処理がなされた画面を例示する。情報機器が、Ｗｅｂページに広告を埋め込むためには、ＡＪＡＸ等に従って広告コンテンツを非同期にダウンロードして、Ｗｅｂページに埋め込むという手法が広く用いられている。通常、主となるＷｅｂページの表示が先に実行され、非同期処理によるダウンロードが完了したときに後から広告コンテンツが埋め込められる。結果として、主となるＷｅｂページの部品の位置が変わることがある。ここで、主となるＷｅｂページとは、Ｗｅｂページ中の広告以外の要素群のページをいう。
【００１３】
情報機器におけるこのような部品の位置の変更を防ぐために、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（ＵＲＬ）のブラックリスト方式による広告フィルタ機能を
ブラウザが導入される。広告フィルタ機能をブラウザに導入することで、情報機器が当該リストに含まれる広告をダウンロードしようとするときは、当該処理が中断される。処理の中断により、広告の表示に伴う部品の位置の変更が抑止されるので、結果として誤操作の軽減が期待できる。
【００１４】
しかしながら当該技術は当該リストに含まれるコンテンツをブロックするものであるため、継続して当該リストの更新が行われないと、当該技術の効果が低下する。加えて、図２に例示する通り、広告以外の部品（要素ともいう）の変更、例えば主となるＷｅｂページのレイアウトの変更による誤操作は防止することができない。
【００１５】
図３に、広告フィルタ機能によって誤操作を防止できない場合を例示する。図３の例では、操作対象となっている記事１というタイトルが［速報］記事０に変更されている。しかし、図３のような変更で、表示される要素は広告ではないため、広告フィルタによって誤操作防止はできない。したがって、ユーザは記事１に遷移する意図で操作したにも拘わらず、ユーザが実際に操作したのは、［速報］記事０になってしまうため、遷移先の画面は、［速報］記事０の画面となる。
【００１６】
図４は、ユーザがタッチパネル上で部品が集中している座標をタップしたときにユーザに再選択を促す処理例である。この処理では、情報機器は、タッチ座標近辺に部品が集中している時に、当該座標近辺を拡大し、ユーザに再操作させる。図４のような機能が、主にスマートフォン向けのインターネットブラウザで実装されている。
【００１７】
図５にレイアウト変更のため、再選択を促す処理が実行されない状況を例示する。スクリプト言語による記述等でレイアウトが変更されるような状況においては、タッチ時点でレイアウトが変更されてしまうことがある。このような場合、図５に示す通り、変更された後のレイアウトではタッチ座標近辺に部品が集中しているとは限らない。結果として、情報機器は、当該座標近辺の拡大が不要であると判断してしまうことがある。
【００１８】
以上に挙げた比較例で誤操作が軽減できない理由は、情報の生成と表示が異なる装置で処理されることによる。Ｗｅｂコンテンツにおいては、コンテンツ生成元と、コンテンツを表示する装置が異なるため、上記比較例で説明した事象が発生する。例えば、Ｗｅｂコンテンツを表示するブラウザにおいては、上記比較例の処理では、十分な効果が得られない。
［実施形態］
【００１９】
以下、図６から図１３を参照して、一実施形態に係る情報機器１０を説明する。以下の実施形態では、部品がスクリプト言語やＡＪＡＸにより移動されるときに、ブラウザ２０（図７参照）を実行する情報機器１０は、当該部品が移動される直前の位置と大きさを記憶する。そして、ブラウザ２０を実行する情報機器１０がタッチ動作を受け付けたとき、情報機器１０はタッチ操作された位置の座標に直前に存在していた部品があったか否かを判定する。当該座標にタッチ動作直前に部品が存在していた場合には、情報機器１０は、直前に存在していた部品に対する操作を行うか、現在存在している部品に対する操作を行うかをユーザに判断させる。
【００２０】
ただし、情報機器１０が無条件にすべての部品を記憶すると膨大な記憶領域が必要となるため、本実施形態では、情報機器１０は、記憶する期間を限定する。その方法は下記の通りである。
【００２１】
誤操作となりやすい場面は、ユーザがタッチ操作を行おうとする時刻と、部品が移動を完了する時刻との間が非常に短い場合である。従って、当該部品が移動されるときに、当
該部品の座標、大きさ、現在の時刻を記憶しておくことで、ある規定時間以内に当該座標によって操作される範囲に存在していた部品を選択対象とすることができる。このような選択対象の限定により、選択可能な部品数、つまり、部品を記憶するための記憶容量を限定することができる。なお、以下では、Ｗｅｂコンテンツ上のグラフィカルユーザインターフェースとなる部品をＷｅｂコンテンツの要素（あるいは単に要素）ともいう。
＜システム構成＞
【００２２】
図６に、情報機器１０のハードウェア構成を例示する。情報機器１０は、コンピュータのハードウェアにＨＴＭＬブラウザを搭載したものである。情報機器１０としては、スマートフォン、タブレット端末、携帯情報端末、タッチパネルを採用したパーソナルコンピュータ、タッチパネルを採用した携帯電話等が例示される。情報機器１０は、情報処理装置の一例である。
【００２３】
図６のように、情報機器１０は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１１、メモリ１２、ストレージ１３、通信装置１４、ＧＰＵ１５、およびディスプレイ１６を有し、ブラウザ等のプログラムにより情報処理を実行する。
【００２４】
ＣＰＵ１１は、メモリ１２に実行可能に展開されたコンピュータプログラムを実行し、情報機器１０の機能を提供する。ＣＰＵ１１はコンピュータの一例である。ＣＰＵ１１は制御部の一例でもある。
【００２５】
メモリ１２は、ＣＰＵ１１が実行するコンピュータプログラム、ＣＰＵ１１が処理するデータ等を記憶する。メモリ１２は、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）等である。さらに、ストレージ１３は、例えば、メモリ１２を補助する記憶領域として使用され、ＣＰＵ１１が実行するコンピュータプログラム、ＣＰＵ１１が処理するデータ等を記憶する。ストレージ１３は、ハードディスクドライブ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等である。
【００２６】
ＧＰＵ１５は、ＣＰＵ１１と連携し、あるいは、ＣＰＵ１１に代わって、グラフィックス処理を実行し、ディスプレイ１６に処理後のデータを出力する。ここで、ディスプレイ１６は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。ディスプレイ１６は表示装置の一例である。
【００２７】
また、情報機器１０は、入力装置を有し、ディスプレイ１６とともにユーザインターフェースを提供する。入力装置は、例えば、タッチパネルである。ただし、情報機器１０は、入力装置として、ボタン、キー、キーボードなどを設けてもよい。さらに、情報機器１０は、着脱可能記憶媒体の駆動装置を設けてもよい。着脱可能記憶媒体は、例えば、フラッシュメモリカード等である。
【００２８】
図７にブラウザ２０の構成を例示する。ブラウザ２０は、パーサ２１、ＤＯＭ管理部２２、ユーザインターフェース部２３、スクリプトエンジン２４、ラスタライザ２５を有する。情報機器１０は、ＨＴＭＬ文書や、ＨＴＭＬ文書に含まれる各種リソース、例えば、画像やＪａｖａＳｃｒｉｐｔ（登録商標）を記述したソースファイルなどを、通信装置１４を使用してインターネットから取得する。ただし、ＨＴＭＬ文書は、予めストレージ１３に格納されているものでもよい。
【００２９】
ＨＴＭＬ文書はパーサ２１によって内部情報（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ（ＤＯＭ））に変換され、ＤＯＭ管理部２２に保持される。ＤＯＭ管理部２２は、保持しているＤＯＭに従って、ラスタライザ２５を使用してＤＯＭの視覚化を実行する。
視覚化によって、例えば、ラスタデータが生成される。スクリプトエンジン２４は、スクリプトエンジン２４に対応する言語で記述されたスクリプトを解釈して実行する。スクリプトの言語としては、ＪａｖａＳｃｒｉｐｔ（登録商標）を例示できるが、スクリプトの言語がＪａｖａＳｃｒｉｐｔ（登録商標）に限定される訳ではない。ＣＰＵ１１がスクリプトエンジン２４によってスクリプトを実行することにより、ＤＯＭ管理部２２に変更要求を発行し、ＤＯＭの内容を変更することができる。ＤＯＭ管理部２２は、スクリプトエンジン２４からの変更要求に従って保持しているＤＯＭの情報を変更する。変更したＤＯＭの情報によって表示内容が変更される場合には、ＤＯＭ管理部２２は、ラスタライザ２５を使用して再度視覚化を行い、ラスタデータを作成する。視覚化が完了したら、ＣＰＵ１１はラスタデータをＧＰＵ１５に引き渡す。ＧＰＵ１５はＣＰＵ１１から引き渡されたラスタデータを基に画素データを作成し、ディスプレイ１６に表示する。
【００３０】
さらに、ＤＯＭ管理部２２は、コンテンツやスクリプト言語の記述等によりＤＯＭが変更されたことを契機に、変更されようとする要素の現在の位置と大きさを規定時間記憶する。そして、ＤＯＭ管理部２２は、タッチ操作が行われた座標に、規定時間内に操作可能な部品が存在していたかどうかを判定する。
【００３１】
ユーザインターフェース部２３は、タッチ操作が行われた座標に対して、規定時間内に操作可能な部品が存在していているかどうかを、ＤＯＭ管理部２２に指示して判定させる。ユーザインターフェース部２３は、ＤＯＭ管理部２２による上記判定の結果、タッチ操作が行われた座標に規定時間内に操作可能な部品があるときは、現在操作可能な部品と、規定時間内に存在していた部品のいずれかを選択するユーザインターフェースを表示する。
【００３２】
図８に、操作可能な部品のいずれかを選択するユーザインターフェースを例示する。図８の例では、ユーザのタッチ前に、記事１というタイトルが表示された部品が、広告に変更されている。また、記事１から記事５は、それぞれ１つずつ下方に移動し、記事５は画面から消滅している。この場合に、ＤＯＭ管理部２２は、タッチされた画面上の位置での変更前の要素である記事１というタイトルが表示された部品の識別情報（タグ等）、その表示位置および寸法を規定時間保持する。そして、記事１のタイトルが表示された画面上の位置をタッチしようとしたユーザは、広告が表示された画面上の位置をタッチすることになる。この場合に、ユーザインターフェース部２３は、タッチされた位置をＤＯＭ管理部２２に指定し、規定時間内に広告以外の要素が存在していたか否かをＤＯＭ管理部２２に判定させる。図８の例では、タッチされた位置に規定時間内に、広告以外の要素である記事１というタイトルを表示する部品が存在していたことが、ＤＯＭ管理部２２で判定される。そこで、ユーザインターフェース部２３は、広告を表示する部品と、記事１というタイトルを表示する部品をリストにして、ユーザに表示し、さらに選択を促す。
【００３３】
なお、ユーザインターフェース部２３は、操作の候補となる部品以外は操作不能とすることができる。図８の例では、広告を表示する部品および記事１というタイトルを表示する部品以外の部品は、ユーザインターフェースのリストに操作不能な態様で（例えば，薄いグレーの着色、あるいは部品の矩形状の外周が点線で）表示される。尚、ユーザインターフェース部２３は、操作可能な部品が小さいために選択が困難な場合は、操作しやすいように当該部品を拡大してもよい。また、図８の例では、ユーザインターフェース部２３は、操作可能な部品として、情報機器１０は２つの部品を表示している。選択可能な部品が３つ以上存在する場合には、ユーザインターフェース部２３は、図８と同様に３つ以上の部品をリスト形式で列挙することでユーザに選択させてもよい。
＜データ構造＞
【００３４】
図９、図１０にブラウザ２０のＤＯＭ管理部２２で管理されるデータの構造を例示する
。図９は、要素と、要素の位置と、寸法と、要素の位置が変更された時刻を格納する履歴管理テーブル（ｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙ）のデータ例である。図９の履歴管理テーブルは、ｅｌｅｍｅｎｔ、ｅｌｅｍｅｎｔＲｅｃｔ、およびｔｉｍｅＳｔａｎｐという列を有する。ｅｌｅｍｅｎｔの列には、ブラウザ上の要素である部品の識別子（タグともいう）が格納される。ここで、部品は、図８のタイトルを表示する部品、あるいは、広告を表示する部品等である。より具体的には、図１０に例示すような要素のインスタンス、例えば、ＨＴＭＬＡｎｃｈｏｒＥｌｅｍｅｎｔ：  ＜ａ＞やＨＴＭＬＤｉｖＥｌｅｍｅｎｔ：  ＜ｄｉｖ＞等を格納する。
【００３５】
また、ｅｌｅｍｅｎｔＲｅｃｔの列には、timeStampの列に記録された時刻における位
置（ｘ、ｙ）と寸法（ｗ、ｈ）が格納される。ここで、位置（ｘ、ｙ）は情報機器１０のディスプレイ１６の座標系での位置である。寸法（ｗ、ｈ）は、部品の幅と高さである。なお、本実施形態では、部品として矩形の部品を例示するが、部品が矩形に限定される訳ではない。例えば、部品が円の場合には、履歴管理テーブルは、中心点（ｘ、ｙ）と半径ｒを保持するようにしてもよい。
【００３６】
さらに、ｔｉｍｅＳｔａｍｐの列には、要素の位置が変更された時刻が格納される。なお、履歴管理テーブルは、ＨＴＭＬブラウザが複数のウィンドウやタブを有することがあることを考慮するため、ウィンドウやタブごとに１つ設けるようにしてもよい。
【００３７】
図１０に、ブラウザ上の部品を定義するクラス図を例示する。クラス図には、各部品の継承の関係が例示される。例えば、ＨＴＭＬＡｎｃｈｏｒＥｌｅｍｅｎｔやＨＴＭＬＤｉｖＥｌｅｍｅｎｔは、ＨＴＭＬＥｌｅｍｅｎｔという要素を継承し、ＨＴＭＬＥｌｅｍｅｎｔは、ＥｌｅｍｅｎｔＲｅｃｔという要素を有する。ＨＴＭＬＥｌｅｍｅｎｔは、矩形を示す基本要素であり、ＥｌｅｍｅｎｔＲｅｃｔという要素は、当該矩形の現在位置（ｘ、ｙ）と寸法（ｗ、ｈ）を保持する。ＤＯＭ管理部２２は、ブラウザ上の各部品のＥｌｅｍｅｎｔＲｅｃｔから、現在位置（ｘ、ｙ）と寸法（ｗ、ｈ）を取得し、取得した時刻とともに履歴管理テーブルに記録する。
＜処理フロー＞
【００３８】
図１１は、ブラウザ２０を実行する情報機器１０がスクリプト、ＡＪＡＸ、ＣＳＳ等により表示要素の位置を変更するときのフローチャートである。表示要素の位置に変更があるときには、情報機器１０は、変更する前の現在の位置、大きさ、現在の時刻を記憶した上で、スクリプトやＣＳＳの記述に従ってブラウザ上の要素の位置を変更する。ただし、情報機器１０は、表示が不要な要素、あるいはタッチ操作を契機とした処理（例えば、タップイベント発生時の実行プログラム）が設定されていない要素を記憶しない。ここで、タップイベント発生時の実行プログラムは、イベントリスナとも呼ばれる。また、情報機器１０は、スクリプトやＣＳＳによって処理が実行されても、その処理によって位置が変更されない場合には、要素を記憶しない。以上の要素や処理については、ブラウザ上の部品のリストから部品の選択をユーザに促す処理を実行しなくてもよい。以下、図１１にしたがって、ブラウザ２０を用いた情報機器１０の処理を説明する。
【００３９】
図１１の例では、情報機器１０は、スクリプトあるいはＣＳＳの記述にしたがい、ブラウザ上の要素に対する処理を実行する（Ｓ１）。次に情報機器１０は、処理対象の要素が表示される要素（以下、表示要素という）であるか否かを判定する（Ｓ２）。当該部品が表示要素である場合、情報機器１０は、表示要素の位置に変更があるか否かを判定する（Ｓ３）。Ｓ３の処理は、Ｗｅｂコンテンツの各要素の位置情報の変更の有無を監視することの一例である。Ｓ３でＹＥＳの場合は、位置情報が変更されるときの一例である。表示要素の位置に変更がある場合、情報機器１０は、当該表示要素にタッチ操作を契機とした処理が設定されているか否かを判定する（Ｓ４）。
【００４０】
そして、当該表示要素にタッチ操作を契機とした処理が設定されている場合、情報機器１０は、当該表示要素の識別子（タグ名）、現在の位置（ｘ、ｙ）、寸法（ｗ、ｈ）、および現在時刻をメモリ１２の履歴管理テーブルに格納する（Ｓ５）。ここで、履歴管理テーブルは、例えば、ｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙである。Ｓ５の処理は、変更される要素の位置情報を記憶装置に格納することの一例である。メモリ１２は、記憶装置の一例ある。そして、情報機器１０は、スクリプトあるいはＣＳＳ等の記述に従い要素の位置を変更する（Ｓ６）。Ｓ６の処理は、Ｗｅｂコンテンツ中の要素の位置はユーザ操作と非同期に変更されるものであることを例示する。なお、Ｓ２からＳ４の判定結果のいずれかがＮＯの場合には、情報機器１０はそのまま処理を終了する。
【００４１】
図１２は、ブラウザ上でコンテンツが表示される領域（以下、コンテンツ面という）がタッチされた時に実行される処理のフローチャートである。情報機器１０は、まず、ユーザによるタッチパネルを搭載したディスプレイ１６にＷｅｂコンテンツを表示し、Ｗｅｂコンテンツ中の要素へのタッチ操作を受け付ける（Ｓ９）。Ｓ９の処理は、表示したＷｅｂコンテンツに対するユーザ操作を受け付けることの一例である。そして、情報機器１０は、タッチされた座標に過去に押下可能な要素があったかどうかを判定する（Ｓ１０）。タッチされた座標に過去に押下可能な要素があった場合には、当該要素が予めユーザにより設定された時間以内に要素の表示位置の座標が変更されたかどうかを判定する（Ｓ１１）。ユーザにより設定された時間が経過している場合は、タッチされた座標から取得された要素を押下可能な部品の対象とせず、当該情報を削除する（Ｓ１２）。ユーザにより設定された時間が経過していない場合には、情報機器１０は、当該要素が押下可能な要素であるか否かを判定する（Ｓ１３）。
【００４２】
当該要素が押下可能な要素である場合、情報機器１０は、押下可能な要素の一覧に、タッチした位置に存在する要素を含める（Ｓ１４）。そして、情報機器１０は、押下可能な要素の一覧を画面に表示する（Ｓ１５）。Ｓ１５の処理により、現在および過去の規定時間前に、タッチした座標に押下可能な要素がある場合に、当該要素を選択するか、過去に存在していた要素を選択するかをユーザが判断できる。なお、Ｓ１５により、過去に位置が変更された要素と現在存在している要素とが表示され、ユーザが現在存在している要素を選択することも可能となるように考慮された処理となっている。
【００４３】
Ｓ１５の処理は、ユーザ操作を受け付けたＷｅｂコンテンツ中の要素の位置の、ユーザ操作のタイミングと関連した変更状況に応じて、ユーザ操作に対応した選択情報を提示することの一例である。ここで、Ｗｅｂコンテンツ中の要素の位置の変更状況は、Ｓ１０からＳ１３の処理によって判定される。また、ユーザ操作のタイミングと関連した変更状況か否かは、Ｓ１１、Ｓ１２の処理によって判定される。つまり、例えば、予めユーザにより設定された時間以内に要素の表示位置の座標が変更されたかどうかによって、ユーザ操作のタイミングとの関連が判定される。また、Ｓ１１、Ｓ１２の処理は、Ｗｅｂコンテンツの各要素の位置情報を一定時間保持することの一例である。また、Ｓ９からＳ１１の処理によって、タッチ操作を受け付けてからユーザにより設定された時間以内に要素の表示位置の座標が変更された場合に、情報機器１０は、当該要素を押下可能な要素の一覧として、画面に表示する。したがって、Ｓ１１からＳ１５の処理によって、要素の位置の変更とユーザ操作とは、一定時間の範囲で関連する関係あるといえる。そして、ユーザ操作と一定時間の範囲で関連する関係ある要素の位置の変更況に応じて、ユーザ操作に対応した選択情報が提示されるといえる。
【００４４】
そして、情報機器１０は、ユーザの選択にしたがい、要素に対してイベントを発火する（Ｓ１６）。Ｓ１６の結果、例えば、イベントリスナと呼ばれる、イベント発生時に起動されるプログラムが実行される。
【００４５】
一方、Ｓ１０の判定でタッチされた座標に過去に押下可能な要素がなかった場合には、情報機器１０は、タッチされた位置座標に現在押下可能な要素があるか否かを判定する（Ｓ１７）。タッチされた位置座標に押下可能な要素がある場合に、情報機器１０は、ユーザの操作にしたがい、要素に対してイベントを発火する（Ｓ１８）。以上の判定により複数の選択肢が発生する場合には、情報機器１０は、図８のように当該選択肢のうちどの部品を操作するか、ユーザに選択する画面を表示することができる。
【００４６】
図１３は、図１２の処理のうち、Ｓ１０からＳ２４に相当する処理をスクリプト言語の記述にしたがって具体的に記述した例である。図１３の処理では、情報機器１０は、ＤＯＭ管理部２２によって処理を実行する。情報機器１０は、まず、タッチされた座標に過去に押下可能な要素があったかどうかを判定する。ここでは、情報機器１０は、履歴管理テーブルであるｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙの大きさ、ｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙ．ｓｉｚｅ（）が０より大きいか否かを判定する（Ｓ２０）。
【００４７】
Ｓ２０の判定がＹＥＳの場合、情報機器１０は、履歴管理テーブルであるｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙの先頭の要素、ｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙ．ｂｅｇｉｎ（）を変数ｉｔｅｍに取り出す（Ｓ２１Ａ）。そして、タッチされた座標に過去に押下可能な要素があった場合には、当該要素が予めユーザにより設定された時間以内に座標が変更されたかどうかを判定する。すなわち、情報機器１０は現在時刻と、Ｓ２１Ａで変数ｉｔｅｍに取り出した要素の位置が変更された時刻、ｉｔｅｍ．ｔｉｍｅＳｔａｍｐ（）が、予めユーザによって設定された時間（遡る時間ともいう）より長いか否かを判定する（Ｓ２１Ｂ）。
【００４８】
そして、ユーザにより設定された時間が経過している場合は、変数ｉｔｅｍに代入された部品を過去にあった押下可能な部品とせず、当該情報を削除する。すなわち、情報機器１０は、ｉｔｅｍをｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙから削除する（Ｓ２２）。一方、Ｓ２１Ｂの判定で、ユーザにより設定された時間が経過していない場合には、情報機器１０は、変数ｉｔｅｍに代入された部品は、指定された座標に対して操作可能な要素であるか否かを判定する（Ｓ２３）。そして、変数ｉｔｅｍに代入された部品が指定された座標に対して操作可能な要素である場合には、情報機器１０は、押下可能な要素の一覧に、ｉｔｅｍに代入された部品、すなわち、タッチした位置に存在する要素を含める（Ｓ２４）。また、ｉｔｅｍに代入された部品が指定された座標に対して操作可能な要素でない場合には、情報機器１０は、Ｓ２５の処理に進む。
【００４９】
そして、情報機器１０は、変数ｉｔｅｍに格納された要素がｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙの末尾の要素、ｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙ．ｅｎｄ（）と一致するか否かを判定する（Ｓ２５）。そして、変数ｉｔｅｍがｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙの末尾の要素でない場合、情報機器１０は、変数ｉｔｅｍに次の要素であるｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙ．ｎｅｘｔ（）を代入し、Ｓ２１の処理に戻る。
【００５０】
図１４に、情報機器１０におけるシーケンス図を例示する。図の例では、まず、ディスプレイ１６およびタッチパネルを通じてユーザインターフェース部２３がユーザの操作を受け付ける（矢印Ａ１）。そして、ユーザインターフェース部２３は、通信装置１４からコンテンツのダウンロード要求をウェブサーバ等に送信する（矢印Ａ２）。すると、通信装置１４を通じてコンテンツがダウンロードされ、パーサ２１に引き渡される（矢印Ａ３）。パーサ２１は、パース結果をＤＯＭ管理部２２に引き渡す（矢印Ａ５）。すると、ＤＯＭ管理部２２は、ＤＯＭの可視化をラスタライザ２５に要求する（矢印Ａ６）。すると
、ラスタライザ２５は、コンテンツをディスプレイ１６に表示する（矢印Ａ８）。なお、パーサ２１は、ＤＯＭ管理部２２へのパース結果の引き渡しの他、スクリプトエンジン２４にスクリプトの実行を要求する（矢印Ａ７）。
【００５１】
また、図１４の処理例では、ユーザの意図しないところで、ＡＪＡＸ等により非同期にスクリプトが実行される（矢印Ａ９）。その結果、スクリプトエンジン２４は、コンテンツのダウンロード要求を通信装置１４からウェブサーバ等に送信する（矢印Ａ１０）。すると、通信装置１４を通じてコンテンツがダウンロードされ、スクリプトエンジン２４に引き渡される（矢印Ａ１１）。
【００５２】
すると、スクリプトエンジン２４は、ＤＯＭの変更をＤＯＭ管理部２２に要求する（矢印Ａ１２）。ＤＯＭ管理部２２は、要求を受け、変更前のＤＯＭで定義された要素の座標、寸法、現在時刻を記録する（矢印Ａ１３）。そして、ＤＯＭ管理部２２は、ＤＯＭの可視化をラスタライザ２５に要求する（矢印Ａ１４）。すると、ラスタライザ２５は、コンテンツをディスプレイ１６に表示する（矢印Ａ１５）。
【００５３】
一方、ユーザインターフェース部２３は、ユーザのタッチ操作によりコンテンツの遷移要求を受けることがある（矢印Ａ１６）。このような場合、スクリプトの実行により表示が変更されたタイミングとユーザのタッチ操作のタイミングが短時間内に近接した場合、ユーザの意図した要素と異なる要素を操作してしまう可能性がある。
【００５４】
タッチ操作によりコンテンツの遷移要求を受けると、ユーザインターフェース部２３は、タッチ操作された位置の座標による選択可能な範囲に、ユーザが指定した規定時間内に存在していた操作可能な要素があるか否かをＤＯＭ管理部２２に問い合わせる（矢印Ａ１７）。すると、ＤＯＭ管理部２２は、該当する要素の一覧をユーザインターフェース部２３に送信する（矢印Ａ１８）。タッチ操作された位置の座標による選択可能な範囲に、ユーザが指定した規定時間内に存在していた操作可能な要素がある場合、誤操作の可能性が疑われる。そこで、ユーザインターフェース部２３は、ＤＯＭ管理部２２が保持している情報を基に、ユーザに再選択を促す。すなわち、ユーザインターフェース部２３は、要素の一覧をディスプレイ１６に表示する（矢印Ａ１９）。矢印Ａ１６からＡ１８の処理の結果、矢印Ａ１９において表示される要素の一覧は、矢印Ａ１６でのユーザのタッチ操作の時から規定時間内に、タッチ操作された位置の座標による選択可能な範囲に存在していたが、位置が変更された要素の一覧である。したがって、矢印Ａ１６からＡ１９の処理は、要素の位置の変更とユーザ操作とが一定時間の範囲で関連する関係にある状況に応じて、ユーザ操作に対応した選択情報が提示される処理の例といえる。
【００５５】
ユーザインターフェース部２３は、要素の一覧へのユーザの選択操作（再選択）を受ける（矢印Ａ２０）。要素の一覧から選択操作を受けるので、ユーザが誤選択する可能性が低減される。そして、ユーザインターフェース部２３は、選択された要素に対する処理をＤＯＭ管理部２２に要求する（矢印Ａ２１）。
【００５６】
すると、ＤＯＭ管理部２２は、要素に設定されたイベントリスナ等のプログラムの処理を実行する（矢印Ａ２２）。ＤＯＭ管理部２２は、プログラムの実行結果に基づき、ラスタライザ２５に可視化を要求する（矢印Ａ２３）。すると、ラスタライザは、上記実行結果をディスプレイ１６に表示する（矢印Ａ２４）。
＜実施形態の効果＞
【００５７】
以上述べたように、本実施形態の情報機器１０によれば、スクリプトの実行によってＤＯＭの変更要求が生じたときに、ＤＯＭ管理部２２は、ＤＯＭの変更に伴う、ブラウザ２０に表示された要素の変更を検知する。そして、ＤＯＭ管理部２２は、変更された要素の
変更前の座標、大きさ、現在時刻等を履歴管理テーブルに記憶する。そして、ユーザインターフェース部２３がディスプレイ１６に表示されたＷｅｂコンテンツへの操作を受け付けると、ユーザインターフェース部２３は操作された位置の座標近辺に操作可能に存在する、あるいは存在していた要素をＤＯＭ管理部２２に問い合わせる。そして、ユーザインターフェース部２３は、該当する要素の一覧をディスプレイ１６で表示し、ユーザの選択を受け付ける。したがって、ユーザの意図しないところで、ＡＪＡＸ等により非同期にスクリプトが実行され、ブラウザ上の要素が変更された場合でも、ユーザは再確認して、意図する要素に対する操作を実行できる。したがって、スクリプトの実行により表示が変更されたタイミングとユーザのタッチ操作のタイミングが短時間内に近接した場合でも、ユーザの意図した要素と異なる要素が操作されることを抑制できる。
【００５８】
また、Ｓ１１からＳ１５の処理によって、要素の位置の変更とユーザ操作とは、一定時間の範囲で関連する関係にある状況に応じて、ユーザ操作に対応した選択情報が提示されるといえる。したがって、情報機器１０は、メモリ１２の使用量の増加を抑制して、ユーザ操作に対応した選択情報を提示できる。
【００５９】
また、本実施形態では、矢印Ａ１６からＡ１９の処理によって、要素の位置の変更とユーザ操作とが一定時間の範囲で関連する関係にある状況に応じて、ユーザ操作に対応した選択情報が提示される。したがって、情報機器１０は、メモリ１２の使用量の増加を抑制して、ユーザ操作に対応した選択情報を提示できる。
【００６０】
また、本実施形態では、ＤＯＭ管理部２２は、履歴管理テーブル（ｍ＿ｅｌｅｍｅｎｔＰｏｓｉｔｉｏｎＨｉｓｔｏｒｙ）に記憶した要素を、当該要素が変更された時刻から規定時間以上の時間が経過したときに削除する。したがって、本情報機器１０は、履歴管理テーブルの容量が際限なく大きくなる事態を抑制し、容量を制限できる。
【００６１】
また、本実施形態では、情報機器１０は、ＤＯＭ管理部２２のＳ３の処理により、表示要素の位置に変更があるか否かを判定し、表示要素の位置に変更がある場合に、当該表示要素の識別子、現在の位置、寸法、および現在時刻を履歴管理テーブルに格納する。したがって、情報機器１０は、ＤＯＭ管理部２２のＤＯＭの管理処理にしたがって確実に表示要素の位置に変更を取得し、履歴管理テーブルに格納できる。
【００６２】
また、本実施形態では、情報機器１０は、ＤＯＭ管理部２２のＳ６の処理により、スクリプト、ＡＪＡＸあるいはＣＳＳ等の記述に従い、ブラウザ２０で表示されるＷｅｂコンテンツの要素の位置を変更する。したがって、本実施形態で、情報機器１０により処理の対象はスクリプト、ＡＪＡＸあるいはＣＳＳ等の記述に従い、ユーザ操作と非同期に位置が変更される要素であるといえる。つまり、情報機器１０は、上記実施形態の処理により、誤操作を誘因しやすいユーザ操作と非同期に位置が変更される要素を有するＷｅｂコンテンツに対して、誤操作を抑制できる。
＜コンピュータが読み取り可能な記録媒体＞
【００６３】
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００６４】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−
ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
【符号の説明】
【００６５】
１    情報機器
２    ブラウザ
１１  ＣＰＵ
１２  メモリ
１３  ストレージ
１４  通信装置
１５  ＧＰＵ
１６  ディスプレイ
２１  パーサ
２２  ＤＯＭ管理部２２
２３  ユーザインターフェース部
２４  スクリプトエンジン２４
２５  ラスタライザ
【図１】
2018081388.tif 000003
【図２】
2018081388.tif 000004
【図３】
2018081388.tif 000005
【図４】
2018081388.tif 000006
【図５】
2018081388.tif 000007
【図６】
2018081388.tif 000008
【図７】
2018081388.tif 000009
【図８】
2018081388.tif 000010
【図９】
2018081388.tif 000011
【図１０】
2018081388.tif 000012
【図１１】
2018081388.tif 000013
【図１２】
2018081388.tif 000014
【図１３】
2018081388.tif 000015
【図１４】
2018081388.tif 000016