JP2018081388A - プログラム、情報処理方法、および情報処理装置 - Google Patents

プログラム、情報処理方法、および情報処理装置 Download PDF

Info

Publication number
JP2018081388A
JP2018081388A JP2016221953A JP2016221953A JP2018081388A JP 2018081388 A JP2018081388 A JP 2018081388A JP 2016221953 A JP2016221953 A JP 2016221953A JP 2016221953 A JP2016221953 A JP 2016221953A JP 2018081388 A JP2018081388 A JP 2018081388A
Authority
JP
Japan
Prior art keywords
user
user operation
web content
information device
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016221953A
Other languages
English (en)
Other versions
JP6844206B2 (ja
Inventor
勇輝 長尾
Yuki Nagao
勇輝 長尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016221953A priority Critical patent/JP6844206B2/ja
Priority to US15/804,826 priority patent/US20180136820A1/en
Publication of JP2018081388A publication Critical patent/JP2018081388A/ja
Application granted granted Critical
Publication of JP6844206B2 publication Critical patent/JP6844206B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】Webコンテンツの表示内容の変更に伴う誤操作を低減する。【解決手段】プログラムは、コンピュータに、表示したWebコンテンツに対するユーザ操作を受け付け、前記ユーザ操作を受け付けた前記Webコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示することを実行させる。【選択図】図12

Description

本発明は、プログラム、情報処理方法、および情報処理装置に関する。
スマートフォンのディスプレイの解像度等、視認性に係る性能の向上により、PCサイトのWebページをスマートフォンで直接閲覧することも可能となっている。加えて、スマートフォンの高性能化に伴い、スマートフォン上で動作するブラウザでHyperText Markup Language 5(HTML5)やAsynchronous
JAvascript+ExtensibleMarkupLanguage(Xml)(AJAX)といった技術が利用できるようになった。HTML5、AJAX、Cascading Style Sheets(CSS)等にはWebページを動的に書き換える機能が含まれている。当該機能によりWebページの外観構成が変化し、ユーザが操作しようとしたWebコンテンツ上の部品が移動することがある。ここで、Webコンテンツとは、Webページのように、Webサーバ等の情報の生成元の装置から情報の表示先の装置に提供される、HTMLやXML等の規定にしたがって記述される情報をいう。Webコンテンツはブラウザにより表示先の装置、例えば、スマートフォンで表示される。
図1に、Webページの外観構成が変化する表示例を示す。図では、スマートフォンの画面に記事1から記事5を表示するための選択肢が表示されている。今、ユーザは記事1を選択しようとしていると仮定する。このような状態で、画面の構成がユーザの操作と非同期、無関係に変更することがある。例えば、ユーザが記事1の選択肢をタッチする直前に、記事1の選択肢に代わって、広告へのリンクが表示されることがある。すると、ユーザは、記事1を選択する意図をもって操作をしても、誤って広告を選択する結果となる。
特開平11−331464号公報 特開2006−59238号公報
上記特許文献1、2に例示されるように、機器の表示装置に表示されるコンテンツの生成元と、コンテンツを表示する主体とが同じ場合には、機器自体が、誤操作を防止するために、コンテンツに含まれる要素の表示方法(位置、形態)を制御することが可能である。
しかしながら、Webコンテンツの場合には、コンテンツの生成処理を実行する生成元の主体と、コンテンツを表示する処理(例えば、ブラウザの処理)を実行する主体とは、通常、異なる。このため、Webコンテンツを動的に書き換える機能をコンテンツ生成元がWebコンテンツに埋め込んでいる場合、ブラウザに表示されたコンテンツを操作するユーザの選択のタイミングと、Webコンテンツが書き換えられるタイミングによっては、ユーザの選択の意図とは異なる選択がなされることになる。
本発明の課題は、Webコンテンツの表示内容の変更に伴う誤操作を低減することができるプログラム、情報処理方法、および情報処理装置を提供することである。
本発明の一側面は、コンピュータに以下の処理を実行させるプログラムによって例示される。このプログラムは、コンピュータに、表示したWebコンテンツに対するユーザ操作を受け付け、前記ユーザ操作を受け付けた前記Webコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示することを実行させる。
本プログラムによれば、Webコンテンツの表示内容の変更に伴う誤操作を低減することができる。
Webページの外観構成が変化する表示例である。 比較例に係る広告フィルタによって広告の非表示化処理がなされた画面の例である。 比較例において、広告フィルタ機能によって誤操作を防止できない例である。 比較例において、ユーザがタッチパネル上で部品が集中している座標をタップしたときにユーザに再選択を促す処理例である。 レイアウト変更のため、再選択を促す処理が実行されない例である。 情報機器のハードウェア構成を例示する図である。 ブラウザの構成を例示する図である。 操作可能な部品のいずれかを選択するユーザインターフェースを例示する図である。 履歴管理テーブルのデータ例である。 ブラウザ上の部品を定義するクラス図を例示する図である。 ブラウザを実行する情報機器がスクリプトやスタイルシートにより表示要素の位置を変更するときのフローチャートである。 ブラウザ上でコンテンツが表示されるコンテンツ面がタッチされた時に実行される処理のフローチャートである。 スクリプト言語の記述にしたがって具体的に記述した処理例である。 情報機器におけるシーケンス図の例である。
以下、図面を参照して、一実施形態に係る情報機器および情報処理方法について説明する。以下の実施形態の構成は例示であり、本情報機器は実施形態の構成には限定されない。
[比較例]
まず、図2から図4により、比較例に係る情報機器の処理を例示する。図2は、広告フィルタによって広告の非表示化処理がなされた画面を例示する。情報機器が、Webページに広告を埋め込むためには、AJAX等に従って広告コンテンツを非同期にダウンロードして、Webページに埋め込むという手法が広く用いられている。通常、主となるWebページの表示が先に実行され、非同期処理によるダウンロードが完了したときに後から広告コンテンツが埋め込められる。結果として、主となるWebページの部品の位置が変わることがある。ここで、主となるWebページとは、Webページ中の広告以外の要素群のページをいう。
情報機器におけるこのような部品の位置の変更を防ぐために、Uniform Resource Locator(URL)のブラックリスト方式による広告フィルタ機能を
ブラウザが導入される。広告フィルタ機能をブラウザに導入することで、情報機器が当該リストに含まれる広告をダウンロードしようとするときは、当該処理が中断される。処理の中断により、広告の表示に伴う部品の位置の変更が抑止されるので、結果として誤操作の軽減が期待できる。
しかしながら当該技術は当該リストに含まれるコンテンツをブロックするものであるため、継続して当該リストの更新が行われないと、当該技術の効果が低下する。加えて、図2に例示する通り、広告以外の部品(要素ともいう)の変更、例えば主となるWebページのレイアウトの変更による誤操作は防止することができない。
図3に、広告フィルタ機能によって誤操作を防止できない場合を例示する。図3の例では、操作対象となっている記事1というタイトルが[速報]記事0に変更されている。しかし、図3のような変更で、表示される要素は広告ではないため、広告フィルタによって誤操作防止はできない。したがって、ユーザは記事1に遷移する意図で操作したにも拘わらず、ユーザが実際に操作したのは、[速報]記事0になってしまうため、遷移先の画面は、[速報]記事0の画面となる。
図4は、ユーザがタッチパネル上で部品が集中している座標をタップしたときにユーザに再選択を促す処理例である。この処理では、情報機器は、タッチ座標近辺に部品が集中している時に、当該座標近辺を拡大し、ユーザに再操作させる。図4のような機能が、主にスマートフォン向けのインターネットブラウザで実装されている。
図5にレイアウト変更のため、再選択を促す処理が実行されない状況を例示する。スクリプト言語による記述等でレイアウトが変更されるような状況においては、タッチ時点でレイアウトが変更されてしまうことがある。このような場合、図5に示す通り、変更された後のレイアウトではタッチ座標近辺に部品が集中しているとは限らない。結果として、情報機器は、当該座標近辺の拡大が不要であると判断してしまうことがある。
以上に挙げた比較例で誤操作が軽減できない理由は、情報の生成と表示が異なる装置で処理されることによる。Webコンテンツにおいては、コンテンツ生成元と、コンテンツを表示する装置が異なるため、上記比較例で説明した事象が発生する。例えば、Webコンテンツを表示するブラウザにおいては、上記比較例の処理では、十分な効果が得られない。
[実施形態]
以下、図6から図13を参照して、一実施形態に係る情報機器10を説明する。以下の実施形態では、部品がスクリプト言語やAJAXにより移動されるときに、ブラウザ20(図7参照)を実行する情報機器10は、当該部品が移動される直前の位置と大きさを記憶する。そして、ブラウザ20を実行する情報機器10がタッチ動作を受け付けたとき、情報機器10はタッチ操作された位置の座標に直前に存在していた部品があったか否かを判定する。当該座標にタッチ動作直前に部品が存在していた場合には、情報機器10は、直前に存在していた部品に対する操作を行うか、現在存在している部品に対する操作を行うかをユーザに判断させる。
ただし、情報機器10が無条件にすべての部品を記憶すると膨大な記憶領域が必要となるため、本実施形態では、情報機器10は、記憶する期間を限定する。その方法は下記の通りである。
誤操作となりやすい場面は、ユーザがタッチ操作を行おうとする時刻と、部品が移動を完了する時刻との間が非常に短い場合である。従って、当該部品が移動されるときに、当
該部品の座標、大きさ、現在の時刻を記憶しておくことで、ある規定時間以内に当該座標によって操作される範囲に存在していた部品を選択対象とすることができる。このような選択対象の限定により、選択可能な部品数、つまり、部品を記憶するための記憶容量を限定することができる。なお、以下では、Webコンテンツ上のグラフィカルユーザインターフェースとなる部品をWebコンテンツの要素(あるいは単に要素)ともいう。
<システム構成>
図6に、情報機器10のハードウェア構成を例示する。情報機器10は、コンピュータのハードウェアにHTMLブラウザを搭載したものである。情報機器10としては、スマートフォン、タブレット端末、携帯情報端末、タッチパネルを採用したパーソナルコンピュータ、タッチパネルを採用した携帯電話等が例示される。情報機器10は、情報処理装置の一例である。
図6のように、情報機器10は、Central Processing Unit(CPU)11、メモリ12、ストレージ13、通信装置14、GPU15、およびディスプレイ16を有し、ブラウザ等のプログラムにより情報処理を実行する。
CPU11は、メモリ12に実行可能に展開されたコンピュータプログラムを実行し、情報機器10の機能を提供する。CPU11はコンピュータの一例である。CPU11は制御部の一例でもある。
メモリ12は、CPU11が実行するコンピュータプログラム、CPU11が処理するデータ等を記憶する。メモリ12は、Dynamic Random Access Memory(DRAM)、Static Random Access Memory(SRAM)、Read Only Memory(ROM)等である。さらに、ストレージ13は、例えば、メモリ12を補助する記憶領域として使用され、CPU11が実行するコンピュータプログラム、CPU11が処理するデータ等を記憶する。ストレージ13は、ハードディスクドライブ、Solid State Disk(SSD)等である。
GPU15は、CPU11と連携し、あるいは、CPU11に代わって、グラフィックス処理を実行し、ディスプレイ16に処理後のデータを出力する。ここで、ディスプレイ16は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。ディスプレイ16は表示装置の一例である。
また、情報機器10は、入力装置を有し、ディスプレイ16とともにユーザインターフェースを提供する。入力装置は、例えば、タッチパネルである。ただし、情報機器10は、入力装置として、ボタン、キー、キーボードなどを設けてもよい。さらに、情報機器10は、着脱可能記憶媒体の駆動装置を設けてもよい。着脱可能記憶媒体は、例えば、フラッシュメモリカード等である。
図7にブラウザ20の構成を例示する。ブラウザ20は、パーサ21、DOM管理部22、ユーザインターフェース部23、スクリプトエンジン24、ラスタライザ25を有する。情報機器10は、HTML文書や、HTML文書に含まれる各種リソース、例えば、画像やJavaScript(登録商標)を記述したソースファイルなどを、通信装置14を使用してインターネットから取得する。ただし、HTML文書は、予めストレージ13に格納されているものでもよい。
HTML文書はパーサ21によって内部情報(Document Object Model(DOM))に変換され、DOM管理部22に保持される。DOM管理部22は、保持しているDOMに従って、ラスタライザ25を使用してDOMの視覚化を実行する。
視覚化によって、例えば、ラスタデータが生成される。スクリプトエンジン24は、スクリプトエンジン24に対応する言語で記述されたスクリプトを解釈して実行する。スクリプトの言語としては、JavaScript(登録商標)を例示できるが、スクリプトの言語がJavaScript(登録商標)に限定される訳ではない。CPU11がスクリプトエンジン24によってスクリプトを実行することにより、DOM管理部22に変更要求を発行し、DOMの内容を変更することができる。DOM管理部22は、スクリプトエンジン24からの変更要求に従って保持しているDOMの情報を変更する。変更したDOMの情報によって表示内容が変更される場合には、DOM管理部22は、ラスタライザ25を使用して再度視覚化を行い、ラスタデータを作成する。視覚化が完了したら、CPU11はラスタデータをGPU15に引き渡す。GPU15はCPU11から引き渡されたラスタデータを基に画素データを作成し、ディスプレイ16に表示する。
さらに、DOM管理部22は、コンテンツやスクリプト言語の記述等によりDOMが変更されたことを契機に、変更されようとする要素の現在の位置と大きさを規定時間記憶する。そして、DOM管理部22は、タッチ操作が行われた座標に、規定時間内に操作可能な部品が存在していたかどうかを判定する。
ユーザインターフェース部23は、タッチ操作が行われた座標に対して、規定時間内に操作可能な部品が存在していているかどうかを、DOM管理部22に指示して判定させる。ユーザインターフェース部23は、DOM管理部22による上記判定の結果、タッチ操作が行われた座標に規定時間内に操作可能な部品があるときは、現在操作可能な部品と、規定時間内に存在していた部品のいずれかを選択するユーザインターフェースを表示する。
図8に、操作可能な部品のいずれかを選択するユーザインターフェースを例示する。図8の例では、ユーザのタッチ前に、記事1というタイトルが表示された部品が、広告に変更されている。また、記事1から記事5は、それぞれ1つずつ下方に移動し、記事5は画面から消滅している。この場合に、DOM管理部22は、タッチされた画面上の位置での変更前の要素である記事1というタイトルが表示された部品の識別情報(タグ等)、その表示位置および寸法を規定時間保持する。そして、記事1のタイトルが表示された画面上の位置をタッチしようとしたユーザは、広告が表示された画面上の位置をタッチすることになる。この場合に、ユーザインターフェース部23は、タッチされた位置をDOM管理部22に指定し、規定時間内に広告以外の要素が存在していたか否かをDOM管理部22に判定させる。図8の例では、タッチされた位置に規定時間内に、広告以外の要素である記事1というタイトルを表示する部品が存在していたことが、DOM管理部22で判定される。そこで、ユーザインターフェース部23は、広告を表示する部品と、記事1というタイトルを表示する部品をリストにして、ユーザに表示し、さらに選択を促す。
なお、ユーザインターフェース部23は、操作の候補となる部品以外は操作不能とすることができる。図8の例では、広告を表示する部品および記事1というタイトルを表示する部品以外の部品は、ユーザインターフェースのリストに操作不能な態様で(例えば,薄いグレーの着色、あるいは部品の矩形状の外周が点線で)表示される。尚、ユーザインターフェース部23は、操作可能な部品が小さいために選択が困難な場合は、操作しやすいように当該部品を拡大してもよい。また、図8の例では、ユーザインターフェース部23は、操作可能な部品として、情報機器10は2つの部品を表示している。選択可能な部品が3つ以上存在する場合には、ユーザインターフェース部23は、図8と同様に3つ以上の部品をリスト形式で列挙することでユーザに選択させてもよい。
<データ構造>
図9、図10にブラウザ20のDOM管理部22で管理されるデータの構造を例示する
。図9は、要素と、要素の位置と、寸法と、要素の位置が変更された時刻を格納する履歴管理テーブル(m_elementPositionHistory)のデータ例である。図9の履歴管理テーブルは、element、elementRect、およびtimeStanpという列を有する。elementの列には、ブラウザ上の要素である部品の識別子(タグともいう)が格納される。ここで、部品は、図8のタイトルを表示する部品、あるいは、広告を表示する部品等である。より具体的には、図10に例示すような要素のインスタンス、例えば、HTMLAnchorElement: <a>やHTMLDivElement: <div>等を格納する。
また、elementRectの列には、timeStampの列に記録された時刻における位
置(x、y)と寸法(w、h)が格納される。ここで、位置(x、y)は情報機器10のディスプレイ16の座標系での位置である。寸法(w、h)は、部品の幅と高さである。なお、本実施形態では、部品として矩形の部品を例示するが、部品が矩形に限定される訳ではない。例えば、部品が円の場合には、履歴管理テーブルは、中心点(x、y)と半径rを保持するようにしてもよい。
さらに、timeStampの列には、要素の位置が変更された時刻が格納される。なお、履歴管理テーブルは、HTMLブラウザが複数のウィンドウやタブを有することがあることを考慮するため、ウィンドウやタブごとに1つ設けるようにしてもよい。
図10に、ブラウザ上の部品を定義するクラス図を例示する。クラス図には、各部品の継承の関係が例示される。例えば、HTMLAnchorElementやHTMLDivElementは、HTMLElementという要素を継承し、HTMLElementは、ElementRectという要素を有する。HTMLElementは、矩形を示す基本要素であり、ElementRectという要素は、当該矩形の現在位置(x、y)と寸法(w、h)を保持する。DOM管理部22は、ブラウザ上の各部品のElementRectから、現在位置(x、y)と寸法(w、h)を取得し、取得した時刻とともに履歴管理テーブルに記録する。
<処理フロー>
図11は、ブラウザ20を実行する情報機器10がスクリプト、AJAX、CSS等により表示要素の位置を変更するときのフローチャートである。表示要素の位置に変更があるときには、情報機器10は、変更する前の現在の位置、大きさ、現在の時刻を記憶した上で、スクリプトやCSSの記述に従ってブラウザ上の要素の位置を変更する。ただし、情報機器10は、表示が不要な要素、あるいはタッチ操作を契機とした処理(例えば、タップイベント発生時の実行プログラム)が設定されていない要素を記憶しない。ここで、タップイベント発生時の実行プログラムは、イベントリスナとも呼ばれる。また、情報機器10は、スクリプトやCSSによって処理が実行されても、その処理によって位置が変更されない場合には、要素を記憶しない。以上の要素や処理については、ブラウザ上の部品のリストから部品の選択をユーザに促す処理を実行しなくてもよい。以下、図11にしたがって、ブラウザ20を用いた情報機器10の処理を説明する。
図11の例では、情報機器10は、スクリプトあるいはCSSの記述にしたがい、ブラウザ上の要素に対する処理を実行する(S1)。次に情報機器10は、処理対象の要素が表示される要素(以下、表示要素という)であるか否かを判定する(S2)。当該部品が表示要素である場合、情報機器10は、表示要素の位置に変更があるか否かを判定する(S3)。S3の処理は、Webコンテンツの各要素の位置情報の変更の有無を監視することの一例である。S3でYESの場合は、位置情報が変更されるときの一例である。表示要素の位置に変更がある場合、情報機器10は、当該表示要素にタッチ操作を契機とした処理が設定されているか否かを判定する(S4)。
そして、当該表示要素にタッチ操作を契機とした処理が設定されている場合、情報機器10は、当該表示要素の識別子(タグ名)、現在の位置(x、y)、寸法(w、h)、および現在時刻をメモリ12の履歴管理テーブルに格納する(S5)。ここで、履歴管理テーブルは、例えば、m_elementPositionHistoryである。S5の処理は、変更される要素の位置情報を記憶装置に格納することの一例である。メモリ12は、記憶装置の一例ある。そして、情報機器10は、スクリプトあるいはCSS等の記述に従い要素の位置を変更する(S6)。S6の処理は、Webコンテンツ中の要素の位置はユーザ操作と非同期に変更されるものであることを例示する。なお、S2からS4の判定結果のいずれかがNOの場合には、情報機器10はそのまま処理を終了する。
図12は、ブラウザ上でコンテンツが表示される領域(以下、コンテンツ面という)がタッチされた時に実行される処理のフローチャートである。情報機器10は、まず、ユーザによるタッチパネルを搭載したディスプレイ16にWebコンテンツを表示し、Webコンテンツ中の要素へのタッチ操作を受け付ける(S9)。S9の処理は、表示したWebコンテンツに対するユーザ操作を受け付けることの一例である。そして、情報機器10は、タッチされた座標に過去に押下可能な要素があったかどうかを判定する(S10)。タッチされた座標に過去に押下可能な要素があった場合には、当該要素が予めユーザにより設定された時間以内に要素の表示位置の座標が変更されたかどうかを判定する(S11)。ユーザにより設定された時間が経過している場合は、タッチされた座標から取得された要素を押下可能な部品の対象とせず、当該情報を削除する(S12)。ユーザにより設定された時間が経過していない場合には、情報機器10は、当該要素が押下可能な要素であるか否かを判定する(S13)。
当該要素が押下可能な要素である場合、情報機器10は、押下可能な要素の一覧に、タッチした位置に存在する要素を含める(S14)。そして、情報機器10は、押下可能な要素の一覧を画面に表示する(S15)。S15の処理により、現在および過去の規定時間前に、タッチした座標に押下可能な要素がある場合に、当該要素を選択するか、過去に存在していた要素を選択するかをユーザが判断できる。なお、S15により、過去に位置が変更された要素と現在存在している要素とが表示され、ユーザが現在存在している要素を選択することも可能となるように考慮された処理となっている。
S15の処理は、ユーザ操作を受け付けたWebコンテンツ中の要素の位置の、ユーザ操作のタイミングと関連した変更状況に応じて、ユーザ操作に対応した選択情報を提示することの一例である。ここで、Webコンテンツ中の要素の位置の変更状況は、S10からS13の処理によって判定される。また、ユーザ操作のタイミングと関連した変更状況か否かは、S11、S12の処理によって判定される。つまり、例えば、予めユーザにより設定された時間以内に要素の表示位置の座標が変更されたかどうかによって、ユーザ操作のタイミングとの関連が判定される。また、S11、S12の処理は、Webコンテンツの各要素の位置情報を一定時間保持することの一例である。また、S9からS11の処理によって、タッチ操作を受け付けてからユーザにより設定された時間以内に要素の表示位置の座標が変更された場合に、情報機器10は、当該要素を押下可能な要素の一覧として、画面に表示する。したがって、S11からS15の処理によって、要素の位置の変更とユーザ操作とは、一定時間の範囲で関連する関係あるといえる。そして、ユーザ操作と一定時間の範囲で関連する関係ある要素の位置の変更況に応じて、ユーザ操作に対応した選択情報が提示されるといえる。
そして、情報機器10は、ユーザの選択にしたがい、要素に対してイベントを発火する(S16)。S16の結果、例えば、イベントリスナと呼ばれる、イベント発生時に起動されるプログラムが実行される。
一方、S10の判定でタッチされた座標に過去に押下可能な要素がなかった場合には、情報機器10は、タッチされた位置座標に現在押下可能な要素があるか否かを判定する(S17)。タッチされた位置座標に押下可能な要素がある場合に、情報機器10は、ユーザの操作にしたがい、要素に対してイベントを発火する(S18)。以上の判定により複数の選択肢が発生する場合には、情報機器10は、図8のように当該選択肢のうちどの部品を操作するか、ユーザに選択する画面を表示することができる。
図13は、図12の処理のうち、S10からS24に相当する処理をスクリプト言語の記述にしたがって具体的に記述した例である。図13の処理では、情報機器10は、DOM管理部22によって処理を実行する。情報機器10は、まず、タッチされた座標に過去に押下可能な要素があったかどうかを判定する。ここでは、情報機器10は、履歴管理テーブルであるm_elementPositionHistoryの大きさ、m_elementPositionHistory.size()が0より大きいか否かを判定する(S20)。
S20の判定がYESの場合、情報機器10は、履歴管理テーブルであるm_elementPositionHistoryの先頭の要素、m_elementPositionHistory.begin()を変数itemに取り出す(S21A)。そして、タッチされた座標に過去に押下可能な要素があった場合には、当該要素が予めユーザにより設定された時間以内に座標が変更されたかどうかを判定する。すなわち、情報機器10は現在時刻と、S21Aで変数itemに取り出した要素の位置が変更された時刻、item.timeStamp()が、予めユーザによって設定された時間(遡る時間ともいう)より長いか否かを判定する(S21B)。
そして、ユーザにより設定された時間が経過している場合は、変数itemに代入された部品を過去にあった押下可能な部品とせず、当該情報を削除する。すなわち、情報機器10は、itemをm_elementPositionHistoryから削除する(S22)。一方、S21Bの判定で、ユーザにより設定された時間が経過していない場合には、情報機器10は、変数itemに代入された部品は、指定された座標に対して操作可能な要素であるか否かを判定する(S23)。そして、変数itemに代入された部品が指定された座標に対して操作可能な要素である場合には、情報機器10は、押下可能な要素の一覧に、itemに代入された部品、すなわち、タッチした位置に存在する要素を含める(S24)。また、itemに代入された部品が指定された座標に対して操作可能な要素でない場合には、情報機器10は、S25の処理に進む。
そして、情報機器10は、変数itemに格納された要素がm_elementPositionHistoryの末尾の要素、m_elementPositionHistory.end()と一致するか否かを判定する(S25)。そして、変数itemがm_elementPositionHistoryの末尾の要素でない場合、情報機器10は、変数itemに次の要素であるm_elementPositionHistory.next()を代入し、S21の処理に戻る。
図14に、情報機器10におけるシーケンス図を例示する。図の例では、まず、ディスプレイ16およびタッチパネルを通じてユーザインターフェース部23がユーザの操作を受け付ける(矢印A1)。そして、ユーザインターフェース部23は、通信装置14からコンテンツのダウンロード要求をウェブサーバ等に送信する(矢印A2)。すると、通信装置14を通じてコンテンツがダウンロードされ、パーサ21に引き渡される(矢印A3)。パーサ21は、パース結果をDOM管理部22に引き渡す(矢印A5)。すると、DOM管理部22は、DOMの可視化をラスタライザ25に要求する(矢印A6)。すると
、ラスタライザ25は、コンテンツをディスプレイ16に表示する(矢印A8)。なお、パーサ21は、DOM管理部22へのパース結果の引き渡しの他、スクリプトエンジン24にスクリプトの実行を要求する(矢印A7)。
また、図14の処理例では、ユーザの意図しないところで、AJAX等により非同期にスクリプトが実行される(矢印A9)。その結果、スクリプトエンジン24は、コンテンツのダウンロード要求を通信装置14からウェブサーバ等に送信する(矢印A10)。すると、通信装置14を通じてコンテンツがダウンロードされ、スクリプトエンジン24に引き渡される(矢印A11)。
すると、スクリプトエンジン24は、DOMの変更をDOM管理部22に要求する(矢印A12)。DOM管理部22は、要求を受け、変更前のDOMで定義された要素の座標、寸法、現在時刻を記録する(矢印A13)。そして、DOM管理部22は、DOMの可視化をラスタライザ25に要求する(矢印A14)。すると、ラスタライザ25は、コンテンツをディスプレイ16に表示する(矢印A15)。
一方、ユーザインターフェース部23は、ユーザのタッチ操作によりコンテンツの遷移要求を受けることがある(矢印A16)。このような場合、スクリプトの実行により表示が変更されたタイミングとユーザのタッチ操作のタイミングが短時間内に近接した場合、ユーザの意図した要素と異なる要素を操作してしまう可能性がある。
タッチ操作によりコンテンツの遷移要求を受けると、ユーザインターフェース部23は、タッチ操作された位置の座標による選択可能な範囲に、ユーザが指定した規定時間内に存在していた操作可能な要素があるか否かをDOM管理部22に問い合わせる(矢印A17)。すると、DOM管理部22は、該当する要素の一覧をユーザインターフェース部23に送信する(矢印A18)。タッチ操作された位置の座標による選択可能な範囲に、ユーザが指定した規定時間内に存在していた操作可能な要素がある場合、誤操作の可能性が疑われる。そこで、ユーザインターフェース部23は、DOM管理部22が保持している情報を基に、ユーザに再選択を促す。すなわち、ユーザインターフェース部23は、要素の一覧をディスプレイ16に表示する(矢印A19)。矢印A16からA18の処理の結果、矢印A19において表示される要素の一覧は、矢印A16でのユーザのタッチ操作の時から規定時間内に、タッチ操作された位置の座標による選択可能な範囲に存在していたが、位置が変更された要素の一覧である。したがって、矢印A16からA19の処理は、要素の位置の変更とユーザ操作とが一定時間の範囲で関連する関係にある状況に応じて、ユーザ操作に対応した選択情報が提示される処理の例といえる。
ユーザインターフェース部23は、要素の一覧へのユーザの選択操作(再選択)を受ける(矢印A20)。要素の一覧から選択操作を受けるので、ユーザが誤選択する可能性が低減される。そして、ユーザインターフェース部23は、選択された要素に対する処理をDOM管理部22に要求する(矢印A21)。
すると、DOM管理部22は、要素に設定されたイベントリスナ等のプログラムの処理を実行する(矢印A22)。DOM管理部22は、プログラムの実行結果に基づき、ラスタライザ25に可視化を要求する(矢印A23)。すると、ラスタライザは、上記実行結果をディスプレイ16に表示する(矢印A24)。
<実施形態の効果>
以上述べたように、本実施形態の情報機器10によれば、スクリプトの実行によってDOMの変更要求が生じたときに、DOM管理部22は、DOMの変更に伴う、ブラウザ20に表示された要素の変更を検知する。そして、DOM管理部22は、変更された要素の
変更前の座標、大きさ、現在時刻等を履歴管理テーブルに記憶する。そして、ユーザインターフェース部23がディスプレイ16に表示されたWebコンテンツへの操作を受け付けると、ユーザインターフェース部23は操作された位置の座標近辺に操作可能に存在する、あるいは存在していた要素をDOM管理部22に問い合わせる。そして、ユーザインターフェース部23は、該当する要素の一覧をディスプレイ16で表示し、ユーザの選択を受け付ける。したがって、ユーザの意図しないところで、AJAX等により非同期にスクリプトが実行され、ブラウザ上の要素が変更された場合でも、ユーザは再確認して、意図する要素に対する操作を実行できる。したがって、スクリプトの実行により表示が変更されたタイミングとユーザのタッチ操作のタイミングが短時間内に近接した場合でも、ユーザの意図した要素と異なる要素が操作されることを抑制できる。
また、S11からS15の処理によって、要素の位置の変更とユーザ操作とは、一定時間の範囲で関連する関係にある状況に応じて、ユーザ操作に対応した選択情報が提示されるといえる。したがって、情報機器10は、メモリ12の使用量の増加を抑制して、ユーザ操作に対応した選択情報を提示できる。
また、本実施形態では、矢印A16からA19の処理によって、要素の位置の変更とユーザ操作とが一定時間の範囲で関連する関係にある状況に応じて、ユーザ操作に対応した選択情報が提示される。したがって、情報機器10は、メモリ12の使用量の増加を抑制して、ユーザ操作に対応した選択情報を提示できる。
また、本実施形態では、DOM管理部22は、履歴管理テーブル(m_elementPositionHistory)に記憶した要素を、当該要素が変更された時刻から規定時間以上の時間が経過したときに削除する。したがって、本情報機器10は、履歴管理テーブルの容量が際限なく大きくなる事態を抑制し、容量を制限できる。
また、本実施形態では、情報機器10は、DOM管理部22のS3の処理により、表示要素の位置に変更があるか否かを判定し、表示要素の位置に変更がある場合に、当該表示要素の識別子、現在の位置、寸法、および現在時刻を履歴管理テーブルに格納する。したがって、情報機器10は、DOM管理部22のDOMの管理処理にしたがって確実に表示要素の位置に変更を取得し、履歴管理テーブルに格納できる。
また、本実施形態では、情報機器10は、DOM管理部22のS6の処理により、スクリプト、AJAXあるいはCSS等の記述に従い、ブラウザ20で表示されるWebコンテンツの要素の位置を変更する。したがって、本実施形態で、情報機器10により処理の対象はスクリプト、AJAXあるいはCSS等の記述に従い、ユーザ操作と非同期に位置が変更される要素であるといえる。つまり、情報機器10は、上記実施形態の処理により、誤操作を誘因しやすいユーザ操作と非同期に位置が変更される要素を有するWebコンテンツに対して、誤操作を抑制できる。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−
ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
1 情報機器
2 ブラウザ
11 CPU
12 メモリ
13 ストレージ
14 通信装置
15 GPU
16 ディスプレイ
21 パーサ
22 DOM管理部22
23 ユーザインターフェース部
24 スクリプトエンジン24
25 ラスタライザ

Claims (7)

  1. コンピュータに、
    表示したWebコンテンツに対するユーザ操作を受け付け、
    前記ユーザ操作を受け付けた前記Webコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示することを実行させる、
    プログラム。
  2. 前記要素の位置の変更と前記ユーザ操作とは、一定時間の範囲で関連する関係にある請求項1に記載のプログラム。
  3. 前記Webコンテンツの各要素の位置情報を一定時間保持することを実行させる請求項1または2に記載のプログラム。
  4. 前記Webコンテンツの各要素の位置情報の変更の有無を監視し、前記位置情報が変更されるときに、前記変更される要素の位置情報を記憶装置に格納する請求項1から3のいずれか1項に記載のプログラム。
  5. 前記Webコンテンツ中の要素の位置は前記ユーザ操作と非同期に変更されるものである請求項1から4のいずれか1項に記載にプログラム。
  6. コンピュータが、
    表示したWebコンテンツに対するユーザ操作を受け付け、
    前記ユーザ操作を受け付けた前記Webコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示する、
    処理を実行する情報処理方法。
  7. 表示装置に表示したWebコンテンツに対するユーザ操作を受け付け、
    前記ユーザ操作を受け付けた前記Webコンテンツ中の要素の位置の、前記ユーザ操作のタイミングと関連した変更状況に応じて、前記ユーザ操作に対応した選択情報を提示する、制御部を備える情報処理装置。
JP2016221953A 2016-11-14 2016-11-14 プログラム、情報処理方法、および情報処理装置 Active JP6844206B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016221953A JP6844206B2 (ja) 2016-11-14 2016-11-14 プログラム、情報処理方法、および情報処理装置
US15/804,826 US20180136820A1 (en) 2016-11-14 2017-11-06 Computer readable non-transitory recording medium, information processing method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016221953A JP6844206B2 (ja) 2016-11-14 2016-11-14 プログラム、情報処理方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2018081388A true JP2018081388A (ja) 2018-05-24
JP6844206B2 JP6844206B2 (ja) 2021-03-17

Family

ID=62107249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016221953A Active JP6844206B2 (ja) 2016-11-14 2016-11-14 プログラム、情報処理方法、および情報処理装置

Country Status (2)

Country Link
US (1) US20180136820A1 (ja)
JP (1) JP6844206B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268657B2 (en) 2017-06-06 2019-04-23 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US10956507B2 (en) * 2018-08-16 2021-03-23 Rovi Guides, Inc. Reaction compensated result selection
CN109358919B (zh) * 2018-08-20 2024-04-02 中国平安人寿保险股份有限公司 通用页面的动态配置方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337775A (ja) * 2002-05-17 2003-11-28 Fis:Kk リンクボタン及びウェブページ及びウェブサイト
JP2012008726A (ja) * 2010-06-23 2012-01-12 Brother Ind Ltd 入力装置および入力制御プログラム
JP2012248212A (ja) * 2012-08-17 2012-12-13 Kyocera Corp 表示装置
US20130227447A1 (en) * 2012-02-29 2013-08-29 Pantech Co., Ltd. Terminal and method for providing dynamic user interface information through user input correction function
JP2014059827A (ja) * 2012-09-19 2014-04-03 Sharp Corp 情報表示装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053048A1 (en) * 2004-09-03 2006-03-09 Whenu.Com Techniques for remotely delivering shaped display presentations such as advertisements to computing platforms over information communications networks
KR20110109551A (ko) * 2010-03-31 2011-10-06 삼성전자주식회사 터치스크린 장치 및 터치스크린 장치의 입력 처리 방법
US20150149287A1 (en) * 2013-11-27 2015-05-28 Wendell Brown Responding to an advertisement using a mobile computing device
US10042529B2 (en) * 2014-04-01 2018-08-07 Microsoft Technology Licensing, Llc Content display with dynamic zoom focus
US10620748B2 (en) * 2014-10-22 2020-04-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for providing a touch-based user interface
JP2017062555A (ja) * 2015-09-24 2017-03-30 富士通株式会社 電子機器、機器制御プログラム、及び機器制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337775A (ja) * 2002-05-17 2003-11-28 Fis:Kk リンクボタン及びウェブページ及びウェブサイト
JP2012008726A (ja) * 2010-06-23 2012-01-12 Brother Ind Ltd 入力装置および入力制御プログラム
US20130227447A1 (en) * 2012-02-29 2013-08-29 Pantech Co., Ltd. Terminal and method for providing dynamic user interface information through user input correction function
JP2012248212A (ja) * 2012-08-17 2012-12-13 Kyocera Corp 表示装置
JP2014059827A (ja) * 2012-09-19 2014-04-03 Sharp Corp 情報表示装置

Also Published As

Publication number Publication date
JP6844206B2 (ja) 2021-03-17
US20180136820A1 (en) 2018-05-17

Similar Documents

Publication Publication Date Title
US20130125009A1 (en) Remote desktop localized content sharing
US8843849B2 (en) Directional navigation of page content
US20200089719A1 (en) Rule and filter-based deeplinking between applications
US10353721B2 (en) Systems and methods for guided live help
US20120287039A1 (en) User interface for application selection and action control
US20210149842A1 (en) System and method for display of document comparisons on a remote device
US20120166959A1 (en) Surfacing content including content accessed from jump list tasks and items
US20080307308A1 (en) Creating Web Clips
KR20140039209A (ko) 빠른 사이트 액세스 사용자 인터페이스를 갖춘 웹 브라우저
US11334374B2 (en) Modifying readable and focusable elements on a page during execution of automated scripts
JP2012507089A (ja) ウィンドウ固有の制御の表面化および管理
EP2840802A1 (en) Method and apparatus for sharing media content and method and apparatus for displaying media content
US20150033104A1 (en) Smooth Navigation Between Content Oriented Pages
US10572106B2 (en) Method and apparatus for performing URL linkage function using the keypad
WO2017139178A1 (en) Effecting multi-step operations in an application in response to direct manipulation of a selected object
TW201229875A (en) Managing an immersive environment
EP3161598A1 (en) Light dismiss manager
JP6015967B2 (ja) ウェブ・ページを表示する装置およびプログラム
JP6844206B2 (ja) プログラム、情報処理方法、および情報処理装置
JP2014106625A (ja) 携帯端末、携帯端末の制御方法、プログラム、および記録媒体
WO2017027210A1 (en) Providing semantic based document design
US20150177963A1 (en) Method for selecting an electronic content to be displayed on a display of an electronic device
US9043441B1 (en) Methods and systems for providing network content for devices with displays having limited viewing area
US20220179532A1 (en) Method and device for responding to user operation
US9740793B2 (en) Exposing fragment identifiers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210208

R150 Certificate of patent or registration of utility model

Ref document number: 6844206

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150