JP5229871B2 - 使用者によるデータの入力を支援する技術 - Google Patents

使用者によるデータの入力を支援する技術 Download PDF

Info

Publication number
JP5229871B2
JP5229871B2 JP2008003739A JP2008003739A JP5229871B2 JP 5229871 B2 JP5229871 B2 JP 5229871B2 JP 2008003739 A JP2008003739 A JP 2008003739A JP 2008003739 A JP2008003739 A JP 2008003739A JP 5229871 B2 JP5229871 B2 JP 5229871B2
Authority
JP
Japan
Prior art keywords
input
field
input field
data
support function
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.)
Expired - Fee Related
Application number
JP2008003739A
Other languages
English (en)
Other versions
JP2009169480A (ja
Inventor
俊輔 藤本
賢 熊谷
聖則 小宮
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008003739A priority Critical patent/JP5229871B2/ja
Priority to US12/350,882 priority patent/US8589817B2/en
Publication of JP2009169480A publication Critical patent/JP2009169480A/ja
Application granted granted Critical
Publication of JP5229871B2 publication Critical patent/JP5229871B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Landscapes

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

Description

本発明は、使用者によるデータの入力を支援する技術に関する。特に、本発明は、入力フィールドに対する使用者によるデータの入力を支援する技術に関する。
ウェブ・ページに表示される入力フィールドには、様々な入力支援機能を設定することができる。例えば、ある入力支援機能によれば、入力フィールドに対し入力された数値を3桁ごとにカンマを付して表示させることができる。また、他の入力支援機能によれば、アルファベットのみを受け付け、数字や記号などは受け付けないようにすることができる。このような入力支援機能によって、使用者の利便性を向上し、また、誤入力を未然に防止できる。
特開平11−212699号公報
近年、費用の低減や開発・保守の効率化のため、ウェブ・ブラウザおよびウェブ・サーバなどのような汎用的な技術は、業務用の情報システムなどにも広く利用されるようになってきている。例えば金融や流通などの業務のシステムにおいては、通常のウェブ・ページなどと比較して、価格や数量などの数値データを数多く入力する機会が多い場合がある。そのような入力をウェブ技術で実現すると、例えばウェブ・ブラウザ内のページには数多くの入力フィールドが表示される。
各入力フィールドに入力支援機能を設定するためには、従来、ページを表示するときに、JavaScriptなどのプログラム言語で記述されたプログラムが実行されている(JavaScriptを利用した技術については上記特許文献1を参照されたい。)。そのプログラムは、入力フィールドごとに、その入力フィールドに対応する入力支援機能を有効化する処理を行う。従って、入力フィールドの数が多いと、有効化のための処理時間はその数に応じて長くなる。その処理時間は、使用者にとってはページを利用可能となるまでの待ち時間になってしまい、使用者の利便性を低下させてしまうおそれがある。
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の形態においては、使用者によるデータの入力を支援するシステムであって、複数の入力フィールドを含むページを表示する表示部と、前記複数の入力フィールドのそれぞれに対応付けて、当該入力フィールドに設定するべき入力支援機能を予め記憶している記憶装置と、入力フィールドに代わってデータの入力を受け付ける代替フィールドを、前記複数の入力フィールドについて共通に生成して前記表示部に表示させるフィールド生成部と、使用者の操作に基づいて、前記複数の入力フィールドのうち使用者がデータを入力するために選択した入力フィールドを検出する選択検出部と、検出した前記入力フィールドに対応付けられた入力支援機能を前記記憶装置から読み出して、読み出した前記入力支援機能を前記代替フィールドに設定する機能設定部と、前記代替フィールドに対し入力されたデータを、検出した前記入力フィールドにコピーするコピー部とを備えるシステムを提供する。また、当該システムとしてコンピュータを機能させる方法およびプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る情報システム10の全体構成を示す。情報システム10は、サーバ装置100と、サーバ装置100に通信ネットワークを介して接続されたクライアント装置200とを備える。この通信ネットワークは、例えばインターネットなどのような公共のネットワークでもよいし、例えば企業の社内ネットワークのように、プライベートなネットワークであってもよい。
サーバ装置100は、基本的なハードウェアとして、例えばハードディスクドライブなどである記憶装置104と、例えばネットワーク・インターフェイス・カード(NIC)などである通信インターフェイス102とを有する。また、サーバ装置100は、記憶装置104から読み出したプログラムをCPUにより実行することで、ウェブ・サーバ106として機能する。ウェブ・サーバ106は、クライアント装置200から受けたリクエストに応じてウェブページを返信する。
クライアント装置200は、基本的なハードウェアとして、例えばハードディスクドライブなどである記憶装置204と、例えばネットワーク・インターフェイス・カード(NIC)などである通信インターフェイス202と、例えば表示画面・ポインティングデバイス・キーボードなどであるユーザ・インターフェイス208とを有する。また、クライアント装置200は、記憶装置204から読み出したプログラムをCPUにより実行することで、ウェブ・ブラウザ206として機能する、ウェブ・ブラウザ206は、使用者から選択操作や入力操作を受けると、その選択結果や入力結果をその使用者に対し表示する。
また、ウェブ・ブラウザ206は、必要に応じてウェブ・サーバ106に対しリクエストを送信する。そのリクエストに対する返信は次のウェブページを示す。そのようなリクエストを繰り返してウェブ・ブラウザ206は次々とウェブページを受信してユーザ・インターフェイス208に表示する。これにより、使用者は所望の情報をウェブ・サーバ106から取得したり、所望の入力データ(例えば商品の注文、価格)をサーバ装置100内のデータベースに反映させたりすることができる。
図2は、本実施形態に係るユーザ・インターフェイス208に表示される画面の一例を示す。このようなウェブ・サーバ106およびウェブ・ブラウザ206は、一般のインターネットのみならず、企業等のプライベートなネットワークにおいて使用される場合もある。そのような場合には、業務の種類によっては、入力するべきデータが多数になり、その結果、ページには多数の入力フィールドが表示されることがある。
例えば、ユーザ・インターフェイス208には、商品ごとに、商品コードの入力を受け付ける入力フィールド、その商品コードを入力する日付を受け付ける入力フィールド、および、その商品の価格を受け付ける入力フィールドが表示される。そして、それら3つの入力フィールドは、それぞれの商品に対応付けられているから、入力フィールドの数は商品の数に3を乗じた個数となり、多くなりすぎる場合がある。例えば図2では、2つの商品について合計6つの入力フィールドが表示されている。
それぞれの入力フィールドには、その入力フィールドに入力されることが期待されるデータの種類に応じて入力支援機能が設定されていることが望ましい。例えば、商品コードの入力フィールドには、商品コードを規定するためのアルファベットのみの入力を受け付け、その他の種類の文字の入力は受け付けないような入力支援機能が設定される。これにより、使用者は商品コードの誤入力を防止できる。
また、日付の入力フィールドには、入力された数値のフォーマットを、日付を示す予め定められたフォーマットに変換する入力支援機能が設定されていることが望ましい。例えば、「20071220」という数値が入力されると、この入力支援機能によって、その数値は、「2007/12/20」に変更される。これにより、使用者は「/」などの記号を入力しなくても日付を適切に入力でき、利便性が高い。
同じように、価格の入力フィールドにもそれに対応する入力支援機能が設定されている。例えば、このフィールドに入力された数値は、予め定められた数の桁(ここでは例えば3桁)ごとにカンマで区切った数値のフォーマットに変更される。入力支援機能はこれらに限らず、例えばマスク入力機能またはエラーチェック機能と呼ばれるような、多様な機能を含んでよい。
このような入力支援機能は便利な反面、入力支援機能の設定にはある程度の処理時間がかかる場合がある。
例えばこのような入力支援機能を、ウェブページ内におけるJavaScriptで記述したプログラムで実現しようとすると、入力支援機能の設定には入力フィールドの数に応じた処理時間がかかる。入力フィールドの数が僅かな場合にはその処理時間は使用者にとって判別できない程度に短い。しかしながら、例えば業務用データをウェブページに入力させようとする場合には、入力フィールドの数が膨大となって長い待ち時間が生じかねない。
これに対し、本実施形態においては、入力支援機能を各入力フィールドに設定するのに代えて単一の代替の入力フィールドに設定することで、待ち時間の短縮を図る。その例を図3a−cに示す。
図3aは、本実施形態に係るユーザ・インターフェイス208に表示される画面の構造を示す第1図である。本実施形態に係るウェブ・ブラウザ206は、まず、代替フィールドを1つ生成する。この代替フィールドは、ページ内の複数の入力フィールドに代わってデータの入力を受け付けるために、複数の入力フィールドについて共通に生成される。
そのような代替フィールドは、例えばそれらの入力フィールドの何れかに重ねて表示される。実際には代替フィールドは入力フィールドと重なっているから使用者により判別できない。図3aではそのような代替フィールドを容易に判別可能とするため、ユーザ・インターフェイス208の画面とは3次元方向にずらして示す。
具体的には、使用者が、いま、商品1の商品コードの入力を受け付けるための第1の入力フィールドをポインティングデバイスなどによって選択すると、代替フィールドはその第1の入力フィールドに重ねて表示される。そして、使用者がデータ「abcdef」を入力すると、そのデータは第1の入力フィールドではなく代替フィールドに入力される。
但し、代替フィールドは第1の入力フィールドに重ねて表示されているので、使用者はあたかもその第1の入力フィールドにデータを入力したかのように認識する。また、代替フィールドには、第1の入力フィールドに設定するべき入力支援機能が設定される。従って、アルファベットのみの入力が受け付けられるので、使用者は商品コードを適切に入力することができる。
図3bは、本実施形態に係るユーザ・インターフェイス208に表示される画面の構造を示す第2図である。次に、使用者が、商品1の日付の入力を受け付けるための第2の入力フィールドをポインティングデバイスなどによって選択すると、代替フィールドはその第2の入力フィールドに重なるように移動して表示される。その場合は、さらに、移動前に代替フィールドに対し入力されていたデータ「abcdef」は、移動前に代替フィールドと重なって表示されていた第1の入力フィールドにコピーされる。
そして、移動後の状態において使用者がデータ「20071220」を入力すると、そのデータは第2の入力フィールドではなく代替フィールドに入力される。但し、代替フィールドは第2の入力フィールドに重ねて表示されているので、使用者はあたかもその第2の入力フィールドにデータを入力したかのように認識する。また、代替フィールドには、第2の入力フィールドに設定するべき入力支援機能が設定される。従って、数値は日付のフォーマットに適切に変更されるので、使用者は日付を簡単な操作で入力できる。
図3cは、本実施形態に係るユーザ・インターフェイス208に表示される画面の構造を示す第3図である。次に、使用者が、商品1の価格の入力を受け付けるための第3の入力フィールドをポインティングデバイスなどによって選択すると、代替フィールドはその第3の入力フィールドに重なるように移動して表示される。既にこの第3の入力フィールドに入力されていたデータは、その代替フィールドにコピーして表示される。従って、使用者は、あたかも第3の入力フィールドがその入力データと共にそのまま表示されているかのように認識できる。
以上の構成によれば、ページの表示時に全ての入力フィールドについて入力支援機能を設定しなくても、入力フィールドが選択される毎に代替フィールドの入力支援機能を切り換えることで、それぞれの入力フィールドの性質に応じた適切な入力支援を実現できる。これにより、入力支援による利便性の高さを損なうことなく、ページの表示時における待ち時間を短縮できる。以降、これを実現する構成について説明を続ける。
図4は、本実施形態に係るウェブ・ブラウザ206の機能構成をユーザ・インターフェイス208の機能と共に示す。ウェブ・ブラウザ206は、ページ制御部400と、選択検出部425とを有する。ページ制御部400は、ウェブ・ブラウザ206の基本的機能の1つを実現する部材であり、ウェブ・サーバ106からウェブページを受信して記憶装置204に格納する。ウェブページの受信には通信インターフェイス202が利用される。また、ウェブ・ブラウザ206は、そのウェブページをユーザ・インターフェイス208の表示部410に表示する。
ウェブページには、入力フィールドが複数含まれている。また、ウェブページは、HTML(Hypertext Markup Language)などで記述されたいわゆるページ記述部分のみならず、JavaScriptなどで記述されたプログラム部分を含んでよい。そのようなプログラム部分を制御プログラム405とする(なお、制御プログラム405は1つのファイルで構成されるとは限らない。例えばあるファイルに他のファイルがインクルード処理されることにより、制御プログラム405が構成されてよい。以降の説明においては説明の簡潔化のため、これら複数ファイルで構成されるものも単に制御プログラム405と呼ぶ。)。ウェブ・ブラウザ206は、CPUの制御によりその制御プログラム405を実行することで、フィールド生成部415、コピー部430、機能設定部440、およびフィールド制御部450として機能する。
フィールド生成部415は、ウェブページが表示部410に表示されると直ちに動作を開始する。そして、フィールド生成部415は、入力フィールドに代わってデータの入力を受け付ける代替フィールドを、ページ内の複数の入力フィールドについて共通に生成して表示部410に表示させる。代替フィールドの表示は、例えば、記憶装置204に記憶された上記ページ記述部分に、代替フィールドを示すオブジェクトを追加する処理により実現されてよい。
また、ウェブページが表示されるタイミングにおいては、ページ内の複数の入力フィールドのそれぞれに対応付けて、当該入力フィールドに設定するべき入力支援機能が記憶装置204内に格納される。例えば、第1の入力フィールドにはアルファベット入力機能、第2の入力フィールドには日付入力機能などのように、入力フィールドごとに個別に入力支援機能が対応付けて記憶される。また、記憶装置204は、ページ内の複数の入力フィールドのそれぞれに対応付けて、ページ内の複数の入力フィールドの中で当該入力フィールドがフォーカスされる順序を更に格納してよい。なお、入力フィールドがフォーカスされるとは、当該入力フィールドに対してデータを入力できるように入力フィールドが選択されることである。
選択検出部425は、ウェブ・ブラウザ206の基本的機能の1つを実現する。具体的には、選択検出部425は、使用者による入力部420の操作に基づいて、ページ内の複数の入力フィールドのうち使用者がデータを入力するために選択した入力フィールドを検出する。ここで、入力部420は、例えばキーボード、または、マウスなどのポインティングデバイスなどである。
そして、「選択する」とは、キーボードのタブキーまたは方向キーを操作してカーソルを入力フィールドに合わせる操作をいう。これに代えて、「選択する」とは、ポインティングデバイスにより入力フィールドをクリックすることであってよい。なお、使用者が例えばタブキーにより次の入力フィールドをフォーカスする操作をすると、現在選択されている入力フィールドの次に順序付けられた入力フィールドが選択され、使用者が例えばシフトキーを押しながらタブキーを押すことにより前の入力フィールドをフォーカスする操作をすると、現在選択されている入力フィールドの前に順序付けられた入力フィールドが選択される。
選択の操作は、JavaScriptのプログラムの観点から見ると、マウスのクリック、および、キーの押下、のそれぞれに予め対応付けられたイベントが発生することをいう。選択検出部425は、そのような各種のイベントを発生させて、制御プログラム405の各種処理を開始させる役割を果たす。
選択検出部425が、ある第1の入力フィールドを、選択された入力フィールドとして検出している状態を前提に説明を続ける。その場合において、フィールド制御部450は、代替フィールドを移動させて、第1の入力フィールドが表示されるページ内の位置に応じた位置に表示させている。代替フィールドを表示させる位置は、好ましくは、第1の入力フィールドに重なる位置である。重なる、とはフィールドの少なくとも一部が重なることをいう。好ましくは、代替フィールドと第1入力フィールドとが同一の形状・大きさを有し、そのそれぞれがぴったりと重なることが好ましい。
この状態において、選択検出部425が、次に、第2の入力フィールドを検出したとして説明を続ける。まず、コピー部430は、第2の入力フィールドが検出されるまでに代替フィールドに入力されたデータを、第1の入力フィールドにコピーする。このようなフィールド間のコピーについても、記憶装置204内のページ記述部分を変更する処理によって実現されてよい。そして、次に、コピー部430は、第2入力フィールドが検出されるまでに既にその第2入力フィールドに対し入力されていたデータを、代替フィールドにコピーする。
また、機能設定部440は、第1入力フィールドに対応して既に設定されていた第1入力支援機能を代替フィールドにおいて無効化する。そして、機能設定部440は、第2入力フィールドに対応する第2入力支援機能を記憶装置204から読み出して代替フィールドに設定する。これにより、代替フィールドに対する入力操作は、あたかも第2入力フィールドに対する入力操作であるかのような支援を受けることができる。
そして、フィールド制御部450は、第2入力支援機能を設定したその代替フィールドを第2入力フィールドに重ねて表示する。フィールド制御部450は、さらに、第2入力フィールドの表示属性を、代替フィールドに設定することが望ましい。表示属性とは、例えば、フィールド枠の高さまたは幅などである。
これに加えて、表示属性とは、そのフィールドに入力される文字を表示するためのフォントまたはその文字を表示する色彩であってよい。さらに、表示属性とは、フィールドの背景色または前景色であってよい。これにより、使用者は、代替フィールドの存在を全く意識せずに入力操作を継続できる。
図5は、本実施形態に係る記憶装置204のデータ構造の一例を示す。記憶装置204は、制御プログラム405の動作開始時に、制御プログラム405の機能によって予め入力支援機能を記憶する。具体的には、記憶装置204は、複数の入力フィールドのそれぞれに対応付けて、当該入力フィールドに設定するべき入力支援機能を記憶する。これに加え、記憶装置204は、複数の入力フィールドの中で当該入力フィールドがフォーカスされる順序を更に記憶しても良い。
一例として、記憶装置204は、ある入力フィールドについて、その入力フィールドのID「input1」を、その入力フィールドに設定するべき入力支援機能「アルファベット入力」に対応付けて記憶している。即ちこの入力フィールドは、アルファベットのみの入力を受け付けて、その他の種類の文字の入力は受け付けない。
なお、この図5にはこの「アルファベット入力」という文字のように、説明のため分かりやすくその機能の概要を記している。但し、実際には、記憶装置204は、この「アルファベット入力」の文字に代えて、この「アルファベット入力」の機能を実現するための関数の呼出文を記憶している。
これらの処理を、JavaScriptで実現すると、例えば以下のように表される。
eventRegistryArray["input1"]="setBehaviourAssist();";
但し、関数setBehaviorAssist()についても同じく制御プログラム405中で例えば下記のように定義される。
function setBehaviorAssist() {
/*入力支援機能1:アルファベットのみを受け付けるように設定する処理*/

ここで、eventRegistryArrayは配列変数であり、この配列変数の添字が入力フィールドを表し、この配列変数の実体が入力支援機能を表す。ここでは、設定するべき入力支援機能をまとめてsetBehaviorAssistという関数で表している。上記のように、設定するべき入力支援機能が1つであれば、setBehaviorAssistという関数の実体は1つの設定処理によって表される。
この入力支援機能1は、キーの入力をイベントとして検出して、そのキー入力により入力されるデータの種類がアルファベットか否かを判断すると共に、アルファベットであることを条件にそのデータの入力を受け付ける機能を示す。入力されるデータの種類がアルファベットで無い場合には、単に入力が受け付けられないことのほかに、受け付けられなかったことをわかり易くするために入力フィールドが特定の色彩で着色されて点滅してもよい。
同様に、他の入力フィールドのIDには、当該他の入力フィールドに対応付けられた入力支援機能が対応付けて記憶されている。例えばある入力フィールドのID「input3」には、その入力フィールドに設定するべき第1の入力支援機能「数値入力」および第2の入力支援機能「3桁カンマ」が対応付けて記憶されている。このように、ある1つの入力フィールドには、2以上の入力支援機能が対応付けて記憶されていてもよい。
一例として、これらの入力支援機能を、同じようにJavaScriptのプログラムで表記すると、例えば以下のようになる。
eventRegistryArray["input3"]="setNumberAssist();";
但し、関数setNumberAssist()についても同じく制御プログラム405中で例えば下記のように定義される。
function setNumberAssist() {
/*入力支援機能1:数値のみを受け付けるように設定する処理*/

/*入力支援機能2:3桁カンマを付すように設定する処理*/

このように、ある1つの入力フィールドに複数の入力支援機能が対応付けられてもよい。その場合には、その入力フィールドに対応付けられる関数には、上記のように、複数の入力支援機能を設定するためのコマンドが記述される。
以上のように、ウェブ・ブラウザ206がウェブページを受信した時点においては、入力支援機能それ自体が設定されるのではなく、単に入力支援機能を設定するための関数が、各入力フィールドに対応付けて登録される。これは、JavaScriptのプログラムにおいては、単に配列変数への値の代入処理である。従って、ウェブページを表示する時点においては使用者の待ち時間は殆んど発生しない。
図6は、本実施形態に係るウェブ・ブラウザ206により使用者からデータの入力を受け付ける処理の一例を示す。まず、ページ制御部400は、ウェブ・サーバ106からウェブページを示すファイルを受信して記憶装置204に格納する(S600)。すると、まず、ページ制御部400は、そのファイルに含めて受信した制御プログラム405を実行することで、入力支援機能を入力フィールドに対応付けて記憶装置204に格納する(S610)。
入力支援機能を入力フィールドに対応付けて記憶装置204に格納する処理については、図5を参照して説明したとおりである。即ち例えば、入力フィールドのIDを添え字とする配列変数eventRegistryArrayが定義され、その変数eventRegistryArray[input1]に、"setBehaviorAssist()"という文字列が代入される。この"setBehaviorAssist()"という関数の実体は、入力支援機能「アルファベット入力」をその入力フィールド「input1」に設定するコマンドである。
次に、フィールド生成部415は、入力フィールドに代わってデータの入力を受け付ける代替フィールドを、ページ内の複数の入力フィールドについて共通に生成して表示部410に表示させる(S620)。代替フィールドの表示は、例えば、記憶装置204に記憶された上記ページ記述部分に、代替フィールドを示すオブジェクトを追加する処理により実現されてよい。この処理はJavaScrpitで実現すると、例えば以下のように表される。なお、dummyという変数が代替フィールドを示す。
var dummy = document.createElement("input");
dummy.id="_dummy";
また、ページ制御部400は、制御プログラム405を実行することでタブ・インデックスを生成して記憶装置204に格納する(S630)。通常のウェブ・ブラウザ206において、ある第1の入力フィールドが選択されている状態において、使用者がタブ(TAB)キーを押下すると、第1の入力フィールドの例えば隣に位置する第2の入力フィールドが選択される。これは、ウェブ・ブラウザ206に備わっている基本的な機能により実現される場合が多い。
しかしながら、本実施形態に係るウェブ・ブラウザ206においては、あたかもある入力フィールドが選択されているかのように表示された状態においても、実際にはその入力フィールドに重ねて表示した代替フィールドが選択されている。また、そのような状態においてタブキーが押下される等により次の入力フィールドをフォーカスする指示を受けた場合に期待される処理は、選択されている入力フィールドの変更ではなく、代替フィールドの移動の処理である。この移動の処理により、第1の入力フィールドに重なって表示された代替フィールドを、第2の入力フィールド上に移動させることができる。
タブ・インデックスは、このような処理を実現するために準備される。具体的には、タブ・インデックスは、複数の入力フィールドのそれぞれに対応付けて、各入力フィールドがフォーカスされる順序を記憶したものであり、より具体的には、複数の入力フィールドについて、使用者がタブキーを順次操作することにより選択される順序を記憶したものである。
本実施形態においては、あらかじめ各入力フィールド設定されたタブ・インデックスに基づき、フォーカスの当たる順序で、入力フィールドのid を記憶装置へ保存する。ある入力フィールド「input1」のタブ・インデックスは、以下のように取得する。
var inputField=document.getElementById("input1");
inputField.tabIndexが、入力フィールド「input1」のタブ・インデックスを示す。
以上のような処理を、ページ内の各入力フィールドについて繰り返し、入力フィールドidとタブ・インデックスの組み合わせを取得し、タブ・インデックスの値に応じて、昇順に入力フィールドのid を整列し、結果を変数tabOrederArray へ格納する。その結果、変数tabOrerArrayには、各入力フィールドの選択順序が格納される。例えば、配列変数tabOrderArrayの値は以下のようになる。
tabOrderArray[0]="input1"
tabOrderArray[1]="input2"
tabOrderArray[2]="input3"
フォーカスの当たっている入力フィールドが、何番目の入力フィールドであるかを、変数nowOrderへ格納する。初期時に、タブ・インデックスが最小な入力フィールドにフォーカスを当てる場合は、nowOrderに0を代入する。
次に、ページ制御部400は、制御プログラム405を実行することで、表示部410に表示されているページ全体を示すオブジェクト(例えばHTMLのbody)に対し、検出するべきイベントを設定する(S640)。この処理は、JavaScriptで記述すると例えば以下のように表される。
var body=document.body;
body["onkeydown"]="handleKeyDown(event)";
body["onkeyup"]="handleKeyUp(event)";
body["onclick"]="handleMouseClick(event)";
これにより、キーが押下されたことを示すイベント「onkeydown」が発生すると、document.bodyオブジェクトについて、handleKeyDownという関数が実行されるように設定される。同様に、イベント「onkeyup」が発生するとhandleKeyUpという関数が実行され、イベント「onclick」が発生するとhandleMouseClickという関数が実行されるように設定される。
"handleKeyDown(event)"では、tabキーが押された時と、それ以外のキーが押されたときで、別々に処理をする。tabキーが押されたとき、代替フィールドから、第1の入力フィールドへ値をコピーし、代替フィールドへ設定された入力支援機能を解除する。それ以外のキー入力は、代替フィールドへのデータ入力として扱う。
"handleKeyUp(event)"では、tabキーを離したときと、それ以外のキーを離したときで、別々に処理をする。tabキーが離されたとき、前記記憶装置から、第2フィールドを検出する。第2フィールドに応じた入力支援機能を代替フィールドへ設定し、代替フィールドを第2フィールドと重なる位置へ移動する。それ以外のキーを離したときは、代替フィールドへのデータ入力として扱う。
"handleMouseClick(event)"では、"handleKeyDown(event)"において、tabキーが押された時と同じ処理を行い、次に、第2フィールドを、クリックされた入力フィールドとして、"handleKeyUp(event)"におけるtabキーが離されたときと同じ処理を行う。
次に、選択検出部425は、使用者の操作に基づいて、複数の入力フィールドのうち使用者がデータを入力するために選択した入力フィールドを検出する(S650)。以降、選択検出部425が第1の入力フィールドの次に第2の入力フィールドを検出したとして説明を進める。
入力フィールドの選択は、例えば、ポインティングデバイスによるその入力フィールドのクリック、または、キーボードのタブキーの押下により実現される。タブキーの押下による入力フィールドの選択を実現するために、現在の入力フィールドの順番を、nowOrder変数で記憶する。その結果選択された入力フィールドのidは、例えば以下のようにして検出される。
(ポインティングデバイスの場合)
var nextId=event.srcElement.id;
(タブキーの場合)
nowOrder++;
var nextId=tabOrderArray[nowOrder];
即ち、ポインティングデバイスの場合は、選択検出部425は、ポインティングデバイスのクリックのイベントが検出されたエレメントのIDを取得する。一方、タブキーの場合には、選択検出部425は、上記S630においてタブ・インデックスとして記憶された順序において、上記第1入力フィールドの次の入力フィールドを、使用者から選択された第2入力フィールドとして検出する。これにより、既に第1入力フィールドを検出していた状態において、タブキーにより次の入力フィールドをフォーカスする指示を検出したことに応じて、タブ・インデックスに記憶された順序において第1入力フィールドの次の第2入力フィールドを、使用者により選択された入力フィールドとして検出することができる。
ポインティングデバイスを使用した後、タブキーを入力した場合、変数nextId と配列tabOrderArrayから、変数nowOrder を再計算し、上記、タブキーの場合と同じ手続きで、nextId を計算する。
第2の入力フィールドが検出されたことに応じて(S650:YES)、フィールド制御部450および機能設定部440は、代替フィールドを第2の入力フィールド上に重ねて表示する処理を行う(S660)。その説明のために図7を参照する。
図7は、図6のS660における処理の詳細な流れを示す。まず、機能設定部440は、第1入力フィールドに対応する第1入力支援機能を代替フィールドにおいて無効化する(S700)。これは、例えば以下のプログラムにより実現される。
dummy[(設定されているイベント)]=null;
これにより、第1入力支援機能を実現するために検出すべきとして設定されたイベント、例えばキーの入力イベントが無効化される。
次に、コピー部430は、選択検出部425が第2入力フィールドを検出するまでに代替フィールドに対し入力されたデータを、第1入力フィールドにコピーする(S710)。これは、例えば以下のプログラムにより実現される。
var inputField=document.getElementById(nowOrder);
inputField.value=dummy.value;
代替フィールドにデータを入力する過程で、代替フィールドの表示属性が変更される場合が想定される。例えば、何らかの異常な入力の結果、代替フィールドの背景色が、異常を示す色彩に変更されているかもしれない。このような場合には、代替フィールドの表示属性を第1入力フィールドに引き継ぐことが望ましい。したがって、フィールド制御部450は、代替フィールドの表示属性を第1入力フィールドにコピーする(S720)。これは、例えば以下のプログラムにより実現される。
inputField.attribute=dummy.attribute;
但し、「attribute」は表示属性を例示したものである。表示属性を示す名前が他のものである場合には、上記「attribute」を、表示属性を示す名前に変更すればよい。
次に、フィールド制御部450は、代替フィールドを第2入力フィールドに重なる位置に移動させて表示する(S730)。これは、例えば以下のプログラムにより実現される。
var nextField=document.getElementById(nextId);
dummy.座標x=nextField.座標x;
dummy.座標y=nextField.座標y;
但し、上記「座標x」および「座標y」は入力フィールドが表示される位置を例示したものである。位置を示す名前が他のものである場合には、上記「座標x」および「座標y」を、位置を示す名前に変更すればよい。
次に、フィールド制御部450は、第2入力フィールドの表示属性を代替フィールドにコピーする(S740)。これは、例えば以下のプログラムにより実現される。
dummy.attribute=nextField.attribute;
表示属性は、既に述べたように、例えば、フィールドの高さ方向の長さ、フィールドの幅方向の長さ、フィールドに設定するべき背景色、フィールドに設定するべき前景色、および、フィールドに入力された文字のフォント、などを示す。このような表示属性を引き継ぐことで、使用者は、代替フィールドの存在を意識せずに入力作業を継続できる。
次に、フィールド制御部450は、選択検出部425が第2入力フィールドを検出するまでに既に第2入力フィールドに入力されていたデータを、代替フィールドにコピーする(S750)。この処理は、例えば以下のプログラムにより実現される。
dummy.value=nextField.value;
そして、機能設定部440は、第2入力フィールドに対応付けられた入力支援機能を記憶装置204から読み出して、読み出したその入力支援機能を代替フィールドに設定する(S760)。この処理は、例えば以下のプログラムにより実現される。
var eventStr=eventRegistryArray[nextId];
eval(eventStr);
ただし、第1入力フィールドおよび第2入力フィールドに設定するべき入力支援機能が同一の場合には、機能設定部440は、S700として説明した入力支援機能の解除、および、S760として説明した入力支援機能の設定を省略してもよい。すなわち、機能設定部440は、選択検出部425が第1入力フィールドの次に第2入力フィールドを検出したことに応じて、第1入力フィールドに対応する第1入力支援機能と第2入力フィールドに対応する第2入力支援機能を比較する。そして、機能設定部440は、第1入力支援機能および第2入力支援機能が一致した場合に、第1入力支援機能が代替フィールドに設定された状態のまま、代替フィールドにより第2入力フィールドへのデータ入力を受け付けさせる。ここで、入力支援機能が同一かどうかの判断は、例えば、記憶装置204に保持された入力フィールドに対応付けられた入力支援機能の文字列が同一かどうかによって簡易的に判断してよい。そのような簡易的な判断によれば、同一かどうかの判断自体の処理時間も僅かであるから、処理の省略により処理時間を削減して操作性を向上させることができる。
以上の処理により、代替フィールドは第2入力フィールドに重ねて表示される。また第2入力フィールドの表示属性は代替フィールドに受け継がれる。また、第2入力フィールドに入力済みのデータは代替フィールドにコピーされる。これにより、使用者は代替フィールドの存在を意識せずに、データ入力を継続できる。
図6の説明に戻る。次に、ウェブ・ブラウザ206は、所定の終了条件が成立したか否かを判断する(S670)。終了条件は、例えば、使用者がハイパーリンクをクリックするなどして別のページを要求した場合、使用者がURL入力欄にアドレスを入力する等して別のページを要求した場合、または、ウェブ・ブラウザ206の実行を終了するイベントを検出した場合、などの場合に成立する。その場合には、ウェブ・ブラウザ206は、図6の処理を終了する。
一方、終了条件が成立していない場合には(S670)、ウェブ・ブラウザ206は、S650に処理を戻して、使用者が他の入力フィールドを選択したかどうかを判断する(S650)。
以上、図6および図7を参照して説明したように、本実施形態に係るクライアント装置200によれば、ページの受信時には各入力フィールドに対し入力支援機能を設定せず、使用者の選択に応じてその都度入力支援機能を代替フィールドに設定するので、ページの受信時における処理の待ち時間を短縮することができる。
更に、入力フィールドへフォーカスが当たる順序と、入力フィールドのid をtabOrderArray 変数で管理することで、タブキーによるフィールド選択を可能とすることができる。具体的には、本実施形態においてデータの入力は本来の入力フィールドではなく代替フィールドが受け付ける。このため、ブラウザがサポートするタブキーの機能によっては、入力フィールドが入力のために選択されることは無い。これに対し、本実施形態に係る制御プログラム405は、入力フィールドへフォーカスが当たる順序と、入力フィールドのidを管理すると共に、タブキーの押下の毎に代替フィールドを移動させることで、通常のブラウザと同様の操作性を使用者に提供できる。
なお、ウェブ・ブラウザ標準の機能によれば、スプレッドシート型のページなどにおいては、タブキーに加えて、または、タブキーに代えて、方向キーによっても各入力フィールドを選択できる場合がある。そのような場合においても通常のウェブ・ブラウザと同様の操作性を確保するため、本実施形態に係るクライアント装置200は、方向キーの押下に応じた制御を行ってよい。その一例を、図8を参照して変形例として説明する。
図8は、本実施形態の変形例において表示部410に表示される画面の一例を、入力部420の一例と共に示す。本変形例において、表示部410は、1〜6行およびA〜E列の入力フィールドを行列状に配列して表示している。ウェブ・ブラウザ206の種類によっては、このような行列状の入力フィールドを、方向キーによって選択する。
例えば、入力フィールド(4行C列:以降C4と表記する。)が選択されている場合において、入力部420内が上(U)キーの入力を受け付けると、ウェブ・ブラウザ206は、入力フィールドC4の上側に隣接する入力フィールドC3を選択する。同じように、入力部420内が下(D)キーの入力を受け付けると、ウェブ・ブラウザ206は、入力フィールドC4の下側に隣接する入力フィールドC5を選択する。
また、入力部420内が左(L)キーの入力を受け付けると、ウェブ・ブラウザ206は、入力フィールドC4の左側に隣接する入力フィールドB4を選択する。同じように、入力部420内が右(R)キーの入力を受け付けると、ウェブ・ブラウザ206は、入力フィールドC4の右側に隣接する入力フィールドD4を選択する。
代替フィールドを導入してもこのような操作を違和感無く実現できるようにするために、本変形例においては以下のように処理をする。まず、記憶装置204は、制御プログラム405の受信時に、制御プログラム405の働きによって、複数の入力フィールドのそれぞれについて、行列状の配列におけるその座標位置を記憶する。これは、上記図6のS630のタブ・インデックスの生成に代えて行われる。プログラムとして表すと例えば以下のようになる。
var inputField=document.getElementById("input1");
inputField.IndexX=<入力フィールドinput1のX座標を示す数値>;
inputField.IndexY=<入力フィールドinput1のY座標を示す数値>;
tabOrderArray[<入力フィールドinput1のX座標を示す数値>][<入力フィールドinput1のY座標を示す数値>]="input1";
以上の処理を、表示されたページ内の各入力フィールドについて繰り返せば、それぞれの入力フィールドには座標位置が対応付けて管理される。この結果生成される配列変数tabOrderArrayは、例えば以下のようになる。但し、この座標位置における原点は行列の最も左側かつ最も上側の入力フィールドである。また、画面表示における右方向をX軸の正の方向として、画面表示における下方向をY軸の正の方向とする。
tabOrderArray[0][0]="input1"
tabOrderArray[1][0]="input2"
tabOrderArray[0][1]="input6"
これとともに、選択検出部425は、図6のS650においてタブキーの押下に応じて入力フィールドを検出した処理に代えて、方向キーの押下に応じて入力フィールドを検出する処理を行う。具体的には、選択検出部425は、既にある第1入力フィールドを検出している状態において、方向キーの操作を検出した場合には、当該第1入力フィールドを基準として当該方向キーの方向に隣接する第2入力フィールドを上記座標位置に基づいて特定する。そして、選択検出部425は、当該特定した第2入力フィールドを、使用者から選択された入力フィールドとして検出する。この処理をプログラムで表すと例えば以下のようになる。
(右キー)
nowLocationX++;
var nextId=tabOrderArray[nowLocationX][nowLocationY];
(左キー)
nowLocationX――;
var nextId=tabOrderArray[nowLocationX][nowLocationY];
(上キー)
nowLocationY――;
var nextId=tabOrderArray[nowLocationX][nowLocationY];
(下キー)
nowLocationY++;
var nextId=tabOrderArray[nowLocationX][nowLocationY];
但し、nowLocationXは、第1入力フィールドのX座標を示し、nowLocationYは、第1入力フィールドのY座標を示し、方向キーの押下による入力フィールドの選択を実現するために、現在、フォーカスの当たっている入力フィールドのX座標、Y座標を、nowLocationX、nowLocationY変数で記憶する。
ポインティングデバイスによりクリックされた場合は、例えば以下のようなプログラムによって、クリックされたX座標、およびY座標を取得する。
var inputField=event.srcElement;
nowLocationX=inputField.IndexX;
nowLocationY=inputField.IndexY;
なお、その他の動作は、図1から図7までを参照して説明した実施形態と略同一であるから説明を省略する。
以上、本実施形態の変形例によれば、表示部410が多数の入力フィールドをスプレッドシート型に配列して表示する場合においては、方向キーの操作によって代替フィールドを適切に移動させることができる。これにより、代替フィールドの導入によっても、使用者は方向キーなどの使い慣れたインターフェイスを使い続けることができ、作業の効率を維持できる。
図9は、本実施形態またはその変形例に係るクライアント装置200として機能するコンピュータのハードウェア構成の一例を示す。コンピュータは、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080(例えば上記表示部410を実現する装置である)上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、例えば上記通信インターフェイス202を実現するものであり、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、例えば上記記憶装置104の一例であり、コンピュータが使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、例えば上記入力部420と、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、コンピュータの起動時にCPU1000が実行するブートプログラムや、コンピュータのハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
コンピュータに提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出されコンピュータにインストールされて実行される。プログラムがコンピュータ等に働きかけて行わせる動作は、図1から図8において説明したクライアント装置200における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータに提供してもよい。
以上、本実施形態およびその変形例によれば、多くの入力フィールドを含むページについて、そのページの表示時に各入力フィールドに入力支援機能を設定するのではなく、入力フィールドが選択される毎にその都度対応する入力支援機能を代替フィールドに設定するので、入力支援による使用者の利便性を低下させることなく、ページ表示時における処理の待ち時間を短縮できる。即ち例えば、数多くの入力フィールドに多様な入力支援機能を設定しても、ページ表示時には殆んど待ち時間を生じさせないようにすることができる。
更に、代替フィールドは入力フィールドに重ねて表示され、その表示属性や入力データも引き継がれるので、使用者にとっては代替フィールドの存在を意識することなく使い慣れた操作方法を継続して使用できる。また、タブキーや方向キーの操作に対応して代替フィールを移動させるので、既存のウェブ・ブラウザと比較しても違和感のない操作性を実現することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、本実施形態に係る情報システム10の全体構成を示す。 図2は、本実施形態に係るユーザ・インターフェイス208に表示される画面の一例を示す。 図3aは、本実施形態に係るユーザ・インターフェイス208に表示される画面の構造を示す第1図である。 図3bは、本実施形態に係るユーザ・インターフェイス208に表示される画面の構造を示す第2図である。 図3cは、本実施形態に係るユーザ・インターフェイス208に表示される画面の構造を示す第3図である。 図4は、本実施形態に係るウェブ・ブラウザ206の機能構成をユーザ・インターフェイス208の機能と共に示す。 図5は、本実施形態に係る記憶装置204のデータ構造の一例を示す。 図6は、本実施形態に係るウェブ・ブラウザ206により使用者からデータの入力を受け付ける処理の一例を示す。 図7は、図6のS660における処理の詳細な流れを示す。 図8は、本実施形態の変形例において表示部410に表示される画面の一例を、入力部420の一例と共に示す。 図9は、本実施形態またはその変形例に係るクライアント装置200として機能するコンピュータのハードウェア構成の一例を示す。
符号の説明
10 情報システム
100 サーバ装置
102 通信インターフェイス
104 記憶装置
106 ウェブ・サーバ
200 クライアント装置
202 通信インターフェイス
204 記憶装置
206 ウェブ・ブラウザ
208 ユーザ・インターフェイス
400 ページ制御部
405 制御プログラム
410 表示部
415 フィールド生成部
420 入力部
425 選択検出部
430 コピー部
440 機能設定部
450 フィールド制御部

Claims (14)

  1. 使用者によるデータの入力を支援するシステムであって、
    複数の入力フィールドを含むページを表示する表示部と、
    前記複数の入力フィールドのそれぞれに対応付けて、当該入力フィールドに設定するべき入力支援機能を予め記憶している記憶装置と、
    入力フィールドに代わってデータの入力を受け付ける代替フィールドを、前記複数の入力フィールドについて共通に生成して前記表示部に表示させるフィールド生成部と、
    使用者の操作に基づいて、前記複数の入力フィールドのうち使用者がデータを入力するために選択した入力フィールドを検出する選択検出部と、
    前記選択検出部が前記入力フィールドを検出したことに応じて、検出した前記入力フィールドに重なる位置に、前記代替フィールドを移動して表示させるフィールド制御部と、
    検出した前記入力フィールドに対応付けられた入力支援機能を前記記憶装置から読み出して、読み出した前記入力支援機能を前記代替フィールドに設定する機能設定部と、
    前記代替フィールドに対し入力されたデータを、検出した前記入力フィールドにコピーするコピー部と
    を備え
    前記フィールド制御部は、前記選択検出部が検出した前記入力フィールドのフィールド枠の高さ又は幅を含む表示属性を、前記代替フィールドに設定する
    システム。
  2. 前記コピー部は、前記選択検出部が第1入力フィールドの次に第2入力フィールドを検出したことに応じて、前記第2入力フィールドが検出されるまでに前記代替フィールドに対し入力されたデータを、前記第1入力フィールドにコピーする、
    請求項に記載のシステム。
  3. 前記コピー部は、前記選択検出部が第1入力フィールドの次に第2入力フィールドを検出したことに応じて、さらに、前記第2入力フィールドが検出されるまでに既に前記第2入力フィールドに対し入力されていたデータを、前記代替フィールドにコピーする、
    請求項に記載のシステム。
  4. 前記機能設定部は、前記選択検出部が第1入力フィールドの次に第2入力フィールドを検出したことに応じて、前記第1入力フィールドに対応する第1入力支援機能を前記代替フィールドにおいて無効化すると共に、前記第2入力フィールドに対応する第2入力支援機能を前記代替フィールドに設定する、請求項に記載のシステム。
  5. 前記機能設定部は、前記選択検出部が第1入力フィールドの次に第2入力フィールドを検出したことに応じて、前記第1入力フィールドに対応する第1入力支援機能と、前記第2入力フィールドに対応する第2入力支援機能を比較し、前記第1入力支援機能および前記第2入力支援機能が一致した場合に、前記第1入力支援機能が前記代替フィールドに設定された状態で前記代替フィールドにより前記第2入力フィールドへのデータの入力を受け付けさせる請求項に記載のシステム。
  6. 前記選択検出部は、使用者がポインティングデバイスを用いてクリックした入力フィールドを検出する、請求項1からのいずれか1項に記載のシステム。
  7. 前記記憶装置は、前記複数の入力フィールドのそれぞれに対応付けて、当該入力フィールドがフォーカスされる順序を更に記憶し、
    前記選択検出部は、既に第1入力フィールドを検出した状態において、次の入力フィールドをフォーカスする指示を検出したことに応じて、記憶された前記順序において前記第1入力フィールドの次の第2入力フィールドを、使用者から選択された入力フィールドとして検出し、
    前記コピー部は、既に前記第2入力フィールドに対し入力されていたデータを、前記代替フィールドにコピーする請求項1からのいずれか1項に記載のシステム。
  8. 前記記憶装置は、表示されている前記複数の入力フィールドについて、使用者がタブキーを順次操作することにより選択される順序を更に記憶しており、
    前記選択検出部は、既に第1入力フィールドを検出した状態において、タブキーの操作を検出した場合には、記憶された前記順序において前記第1入力フィールドの次の第2入力フィールドを、使用者から選択された入力フィールドとして検出する、
    請求項1からのいずれか1項に記載のシステム。
  9. 前記表示部は、複数の入力フィールドを行列状に配列したページを表示しており、
    前記記憶装置は、表示されている前記複数の入力フィールドのそれぞれについての、前記行列状の配列における座標位置を記憶しており、
    前記選択検出部は、既に第1入力フィールドを検出した状態において、方向キーの操作を検出した場合には、前記第1入力フィールドを基準として前記方向キーの方向に隣接する第2入力フィールドを前記座標位置に基づいて特定して、特定した前記第2入力フィールドを、使用者から選択された入力フィールドとして検出する、
    請求項1からのいずれか1項に記載のシステム。
  10. 入力フィールドに予め対応付けられた前記入力支援機能は、当該入力フィールドに対し入力されたデータのフォーマットを予め定められたフォーマットに変更して前記表示部に表示する機能である、請求項1からのいずれか1項に記載のシステム。
  11. 入力フィールドに入力されるデータは数値であり、前記予め定められたフォーマットは、予め定められた数の桁ごとにカンマで区切った数値のフォーマットである、請求項10に記載のシステム。
  12. 入力フィールドに予め対応付けられた前記入力支援機能は、当該入力フィールドに対し入力されたデータの種類が予め定められた種類と同一か否かを判断して、同一であることを条件にデータの入力を受け付ける機能である、請求項1から11のいずれか1項に記載のシステム。
  13. 使用者によるデータの入力を支援する方法であって、
    複数の入力フィールドを含むページを表示部に表示するステップと、
    前記複数の入力フィールドのそれぞれに対応付けて、当該入力フィールドに設定するべき入力支援機能を記憶装置に予め記憶するステップと、
    入力フィールドに代わってデータの入力を受け付ける代替フィールドを、前記複数の入力フィールドについて共通に生成して前記表示部に表示させるステップと、
    使用者の操作に基づいて、前記複数の入力フィールドのうち使用者がデータを入力するために選択した入力フィールドを検出するステップと、
    前記検出するステップで前記入力フィールドを検出したことに応じて、検出した前記入力フィールドに重なる位置に、前記入力フィールドのフィールド枠の高さ又は幅を含む表示属性が設定された前記代替フィールドを移動して表示させるステップと、
    検出した前記入力フィールドに対応付けられた入力支援機能を前記記憶装置から読み出して、読み出した前記入力支援機能を前記代替フィールドに設定するステップと、
    前記代替フィールドに対し入力されたデータを、検出した前記入力フィールドにコピーするステップと
    を備える方法。
  14. 使用者によるデータの入力を支援するシステムとして、コンピュータを機能させるプログラムであって、
    前記コンピュータを、
    複数の入力フィールドを含むページを表示する表示部と、
    前記複数の入力フィールドのそれぞれに対応付けて、当該入力フィールドに設定するべき入力支援機能を予め記憶している記憶装置と、
    入力フィールドに代わってデータの入力を受け付ける代替フィールドを、前記複数の入力フィールドについて共通に生成して前記表示部に表示させるフィールド生成部と、
    使用者の操作に基づいて、前記複数の入力フィールドのうち使用者がデータを入力するために選択した入力フィールドを検出する選択検出部と、
    前記選択検出部が前記入力フィールドを検出したことに応じて、検出した前記入力フィールドに重なる位置に、前記代替フィールドを移動して表示させ、前記選択検出部が検出した前記入力フィールドのフィールド枠の高さ又は幅を含む表示属性を、前記代替フィールドに設定するフィールド制御部と、
    検出した前記入力フィールドに対応付けられた入力支援機能を前記記憶装置から読み出して、読み出した前記入力支援機能を前記代替フィールドに設定する機能設定部と、
    前記代替フィールドに対し入力されたデータを、検出した前記入力フィールドにコピーするコピー部と
    して機能させるプログラム。
JP2008003739A 2008-01-10 2008-01-10 使用者によるデータの入力を支援する技術 Expired - Fee Related JP5229871B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008003739A JP5229871B2 (ja) 2008-01-10 2008-01-10 使用者によるデータの入力を支援する技術
US12/350,882 US8589817B2 (en) 2008-01-10 2009-01-08 Technique for supporting user data input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008003739A JP5229871B2 (ja) 2008-01-10 2008-01-10 使用者によるデータの入力を支援する技術

Publications (2)

Publication Number Publication Date
JP2009169480A JP2009169480A (ja) 2009-07-30
JP5229871B2 true JP5229871B2 (ja) 2013-07-03

Family

ID=40851774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008003739A Expired - Fee Related JP5229871B2 (ja) 2008-01-10 2008-01-10 使用者によるデータの入力を支援する技術

Country Status (2)

Country Link
US (1) US8589817B2 (ja)
JP (1) JP5229871B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008046058A1 (de) * 2008-09-08 2010-03-11 T-Mobile International Ag Verfahren zur Übertragung und Aushandlung von Netzwerk kontrollierten Funktionsdaten zwischen einem Client und einem Server
WO2012165531A1 (ja) * 2011-05-31 2012-12-06 楽天株式会社 情報処理システム、情報処理システムの処理方法、プログラム、及び、記録媒体
US9727891B2 (en) * 2012-10-22 2017-08-08 Marc Alan Mezzacca System and method of automated delivery of relevance-checked benefit-conveying codes during online transaction
JP6249770B2 (ja) * 2013-12-27 2017-12-20 キヤノン株式会社 文字入力装置
US9946516B2 (en) 2014-03-14 2018-04-17 Starbucks Corporation Application workflow framework
US9378029B2 (en) * 2014-03-17 2016-06-28 Sharp Laboratories Of America, Inc. Rules based user interface architecture
US10311751B2 (en) * 2014-09-22 2019-06-04 Capital One Financial Corporation Systems and methods for accessible widget selection
JP6361441B2 (ja) * 2014-10-10 2018-07-25 富士通株式会社 認証情報管理方法、認証情報管理プログラムおよび情報処理装置
KR102832245B1 (ko) 2020-04-27 2025-07-10 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
US12399679B2 (en) * 2020-07-20 2025-08-26 Sony Group Corporation Information processing apparatus and information processing method
US20230260300A1 (en) * 2022-01-21 2023-08-17 Capital One Services, Llc View augmentation using a data profiler to detect and convert content to and/or from a profile-specific format

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6394324A (ja) * 1986-10-08 1988-04-25 Fujitsu Ltd フイ−ルド入力処理方式
US5233513A (en) * 1989-12-28 1993-08-03 Doyle William P Business modeling, software engineering and prototyping method and apparatus
US6163878A (en) * 1998-03-31 2000-12-19 Jereme Kohl Method and system for designing, generating and storing applications
US6100891A (en) * 1998-06-09 2000-08-08 Teledirect International, Inc. Call center agent interface and development tool
US20020007335A1 (en) * 2000-03-22 2002-01-17 Millard Jeffrey Robert Method and system for a network-based securities marketplace
EP1310084B1 (en) * 2000-04-17 2005-10-12 Shawn E. Wiederin Method for charging on-line directory assistance services
US20050210263A1 (en) * 2001-04-25 2005-09-22 Levas Robert G Electronic form routing and data capture system and method
US6973625B1 (en) * 2001-07-06 2005-12-06 Convergys Cmg Utah Method for creating browser-based user interface applications using a framework
US7062502B1 (en) * 2001-12-28 2006-06-13 Kesler John N Automated generation of dynamic data entry user interface for relational database management systems
US7689482B2 (en) * 2002-05-24 2010-03-30 Jp Morgan Chase Bank, N.A. System and method for payer (buyer) defined electronic invoice exchange
US20040024842A1 (en) * 2002-07-31 2004-02-05 Sap Aktiengesellschaft Validation framework for validating markup page input on a client computer
JP4491249B2 (ja) * 2003-01-31 2010-06-30 マイクロソフト コーポレーション ユーザインタフェースを制御するための挿入位置の追跡
US7296017B2 (en) * 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US20040268225A1 (en) * 2003-06-26 2004-12-30 Walsh Raymond V. Method and system for controlling navigation of a graphical user interface
US7328428B2 (en) * 2003-09-23 2008-02-05 Trivergent Technologies, Inc. System and method for generating data validation rules
US20050091577A1 (en) * 2003-10-23 2005-04-28 International Business Machines Corporation Information integration system
US8078481B2 (en) * 2003-12-05 2011-12-13 John Steinbarth Benefits administration system and methods of use and doing business
US20050289182A1 (en) * 2004-06-15 2005-12-29 Sand Hill Systems Inc. Document management system with enhanced intelligent document recognition capabilities
US7913184B1 (en) * 2005-01-20 2011-03-22 Verizon Laboratories Inc. Intelligent auto-tabbing systems and methods
US20070011083A1 (en) * 2005-07-08 2007-01-11 Bird Alan H System and method of processing asset financing transactions
WO2008039741A2 (en) * 2006-09-25 2008-04-03 Mark Business Intelligence Systems, Llc. System and method for project process and workflow optimization
US20080102819A1 (en) * 2006-10-30 2008-05-01 Henrik Bengtsson System and method for verifying contact data
US20080235578A1 (en) * 2007-03-23 2008-09-25 Sony Ericsson Mobile Communications Ab Inline editing of web page input fields using a visibly prominent field
US8429751B2 (en) * 2009-03-13 2013-04-23 Trustwave Holdings, Inc. Method and apparatus for phishing and leeching vulnerability detection
US20100251143A1 (en) * 2009-03-27 2010-09-30 The Ransom Group, Inc. Method, system and computer program for creating and editing a website

Also Published As

Publication number Publication date
US20090183090A1 (en) 2009-07-16
JP2009169480A (ja) 2009-07-30
US8589817B2 (en) 2013-11-19

Similar Documents

Publication Publication Date Title
JP5229871B2 (ja) 使用者によるデータの入力を支援する技術
CN113015956B (zh) 用于机器人流程自动化的活动目标选择的系统和方法
JP7518143B2 (ja) 装置およびコンピュータプログラム
US11354684B2 (en) Data analytics for international product quality and user experience
US8473857B1 (en) Link annotation for keyboard navigation
US9311283B2 (en) System for clipping webpages by traversing a dom, and highlighting a minimum number of words
US20100205559A1 (en) Quick-launch desktop application
CN101183360B (zh) 字符输入编辑方法
JP5105513B2 (ja) 処理対象として適切なテキストを選択する技術
US20170293601A1 (en) Method and system for completing an edit area of a web page
JP4140920B2 (ja) 個人情報の保護を支援する情報処理装置
US20170154022A1 (en) Information processing apparatus, method for controlling the same, and storage medium
US8984403B2 (en) Bringing user attention to guidance information presented on a display device
US20160103799A1 (en) Methods and systems for automated detection of pagination
US8094940B2 (en) Input method transform
JP6045393B2 (ja) 情報処理システム
JP2005190458A (ja) 機能付き電子ドキュメントの提供方法、そのプログラム、その装置及びシステム
US8311801B2 (en) Technology for supporting modification of messages displayed by program
JP2021009492A (ja) クライアント装置及びサーバ装置及びそれらの制御方法及びプログラム、並びに、リモートブラウザシステム
JP4967266B2 (ja) デバイス制御システム、及びデバイス制御処理方法
US20230022675A1 (en) Searching and sharing content with an overlaid interface
JP2014059663A (ja) 答案処理装置及び答案処理プログラム
TWI850945B (zh) 產生並應用翻譯標記的方法及用戶裝置
WO2021010008A1 (ja) コンピュータプログラム、記録装置、記録システム、解析装置及び記録方法
TWI901212B (zh) 遮蔽電子文件上資料的方法、電子裝置及非暫態電腦可讀媒體

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121012

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: 20130226

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130314

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5229871

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees