(57)【特許請求の範囲】
【請求項１】
コンピュータに、
画面に表示される複数の表示要素のうちの特定の表示要素について表示の拡大または縮小の指示を受付け、
記憶手段に記憶された表示要素間の関連情報および前記特定の表示要素に基づいて特定される関連要素に対し、前記特定の表示要素の拡大または縮小の倍率に応じた表示の拡大または縮小を行ない、
前記特定の表示要素および前記関連要素に文字列が含まれる場合は、更新前の表示サイズで前記文字列を表示したときの更新前表示サイズでの行数と、更新後の表示サイズで前記文字列を表示したときの更新後表示サイズでの行数とを算出して比較し、前記更新前表示サイズでの行数と、前記更新後表示サイズでの行数とが一致しないときは、前記更新後表示サイズを決定する倍率を調整して、前記更新後表示サイズで表示するときの行数を前記更新前表示サイズで表示するときの行数に一致させる、
ことを実行させることを特徴とする表示制御プログラム。
【請求項２】
前記特定の表示要素について表示の拡大の指示を受け付けると、前記関連情報および前記特定の表示要素に基づいて特定される前記関連要素以外の周辺要素に対し、前記特定の表示要素の拡大の倍率に応じた表示の縮小を行なう、
ことを特徴とする請求項１記載の表示制御プログラム。
【請求項３】
前記画面上の任意の要素に設定されているフォーカスの移動指示を取得したときは、前記フォーカスの移動指示とフォーカスの移動先とを対応付けたフォーカス設定情報に基づいて前記フォーカスの移動先要素を算出し、前記移動先要素に前記フォーカスを設定して前記画面の表示を更新する、
ことを特徴とする請求項１または２に記載の表示制御プログラム。
【請求項４】
前記複数の表示要素が前記画面に表示される前に、表示要素間の関係を定義する情報を解析し、当該情報によって互いに関係付けられた表示要素を関連要素群にまとめることで表示要素間の関連情報を生成し、前記記憶手段に格納する、
請求項１乃至３の何れか１項に記載の表示制御プログラム。
【請求項５】
コンピュータが、
画面に表示される複数の表示要素のうちの特定の表示要素について表示の拡大または縮小の指示を受付け、
記憶手段に記憶された表示要素間の関連情報および前記特定の表示要素に基づいて特定される関連要素に対し、前記特定の表示要素の拡大または縮小の倍率に応じた表示の拡大または縮小を行ない、
前記特定の表示要素および前記関連要素に文字列が含まれる場合は、更新前の表示サイズで前記文字列を表示したときの更新前表示サイズでの行数と、更新後の表示サイズで前記文字列を表示したときの更新後表示サイズでの行数とを算出して比較し、前記更新前表示サイズでの行数と、前記更新後表示サイズでの行数とが一致しないときは、前記更新後表示サイズを決定する倍率を調整して、前記更新後表示サイズで表示するときの行数を前記更新前表示サイズで表示するときの行数に一致させる、
表示制御方法。
【請求項６】
画面に表示される複数の表示要素について表示要素間の関連情報を記憶する手段と、
画面に表示される複数の表示要素のうちの特定の表示要素について表示の拡大または縮小の指示を受付けると、前記関連情報および前記特定の表示要素に基づいて特定される関連要素に対し、前記特定の表示要素の拡大または縮小の倍率に応じた表示の拡大または縮小を行なう手段と、
を有し、
前記表示の拡大または縮小を行なう手段は、前記特定の表示要素および前記関連要素に文字列が含まれる場合は、更新前の表示サイズで前記文字列を表示したときの更新前表示サイズでの行数と、更新後の表示サイズで前記文字列を表示したときの更新後表示サイズでの行数とを算出して比較し、前記更新前表示サイズでの行数と、前記更新後表示サイズでの行数とが一致しないときは、前記更新後表示サイズを決定する倍率を調整して、前記更新後表示サイズで表示するときの行数を前記更新前表示サイズで表示するときの行数に一致させる、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
表示装置に画面（画像）を表示する表示制御プログラム、表示制御方法及び情報処理装置に関する。
【背景技術】
【０００２】
従来から、コンピュータに接続する表示装置上に各種情報を表示して情報の確認や入力操作などを行うアプリケーションがある。例えば、Ｗｅｂサーバの提供する情報をＷｅｂブラウザによって表示装置に表示して利用する機会も増大している。また、表示された画面の入力項目に対し、データ入力などの操作を行う場合には、現在入力可能な位置をユーザに通知するため、入力可能な項目が強調表示される。このような強調表示をフォーカスという。ユーザは、例えば、タブキーを操作し、所望の入力項目までフォーカスを移動し、入力操作を行う。一方、ハードウェアの性能向上によって表示装置の高解像度化が進んでおり、１画面に表示できる情報量も増大している。
【０００３】
しかし、１画面に表示される情報量が増えたことにより、画面上に表示される文字列やボックス、図形などの各要素のサイズが小さくなり、見えにくくなる傾向にある。特に、テキスト文字列や文字を入力するための文字入力域などの要素が小さくなると、内容の確認や、入力操作などの妨げとなる。これに対し、Ｗｅｂブラウザにおいて、表示しているページ内のフォントサイズを大きくする機能がある。また、画面上の空き領域や入力項目に関係しない非関連項目を探し出し、その領域に入力項目の入力域を拡大する方法もある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−７３２３５号公報
【特許文献２】特開平０２−２０４７８７号公報
【特許文献３】特開平０２−１８９５８２号公報
【非特許文献】
【０００５】
【非特許文献１】Ｍｉｃｒｏｓｏｆｔサポートオンライン  文書番号：８８２６７４、［online］、最終更新日：２００４年１２月１３日、［２００９年６月２９日検索］、インターネット（URL:  http://support.microsoft.com/kb/882674/ja）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来の表示制御では、ユーザが視認性や利便性を享受できない場合があるという問題点があった。
まず、画面上の文字サイズが小さい場合に単にフォントサイズを大きくするだけでは、画面全体のレイアウトが崩れるなどして、視認性が改善されない場合がある。例えば、入力項目を説明する文字列と、この入力項目にデータを設定する入力枠とが上下に並んで配置されていたとする。説明文字列のフォントサイズのみを大きくした場合、レイアウトが崩れ、説明文字列と入力枠とが離れてしまう場合ある。一方、空き領域や非関連項目に入力枠を拡大表示する場合には、そもそも空き領域や非関連項目がないと表示が難しい。また、空き領域や非関連項目が対象の入力枠の近くにあるとは限らない。この場合、本来の入力位置と、表示位置とが離れることになり、入力に関するデータを参照するための視線移動が煩雑化し、入力作業を妨げる恐れがある。
【０００７】
上記課題を解決するために、ユーザの視認性又は利便性の向上に貢献する表示制御プログラム、表示制御方法及び情報処理装置を提供する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、コンピュータに、画面に表示される複数の表示要素のうちの特定の表示要素について表示の拡大または縮小の指示を受付け、記憶手段に記憶された表示要素間の関連情報および特定の表示要素に基づいて特定される関連要素に対し、特定の表示要素の拡大または縮小の倍率に応じた表示の拡大または縮小を行ない、特定の表示要素および関連要素に文字列が含まれる場合は、更新前の表示サイズで文字列を表示したときの更新前表示サイズでの行数と、更新後の表示サイズで文字列を表示したときの更新後表示サイズでの行数とを算出して比較し、更新前表示サイズでの行数と、更新後表示サイズでの行数とが一致しないときは、更新後表示サイズを決定する倍率を調整して、更新後表示サイズで表示するときの行数を更新前表示サイズで表示するときの行数に一致させる、ことを実行させることを特徴とする表示制御プログラムが提供される。
【０００９】
また、上記課題を解決するために、上記の表示制御プログラムがコンピュータに実行させる処理手順と同様の処理手順を実行する表示制御方法と、同様の処理を実行する情報処理装置が提供される。
【発明の効果】
【００１０】
開示の表示制御プログラム、表示制御方法及び情報処理装置によれば、ユーザが指示したいずれかの要素とともにその関連要素が拡大表示されるので、画面の視認性を高めること、又は、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の情報処理装置の構成例を示した図である。
【図２】拡大表示画面の一例を示した図である。
【図３】フォーカス移動の一例を示した図である。
【図４】第２の実施の形態の情報処理装置のハードウェア構成例を示すブロック図である。
【図５】第２の実施の形態の情報処理装置のソフトウェア構成例を示すブロック図である。
【図６】スタイル設定処理が行われる前の画面とそのコンテンツ情報の一例である。
【図７】コンテンツ全体の関連性を管理するクラスの記述例を示した図である。
【図８】関連性を定義するクラスの記述例を示した図である。
【図９】図６の画面が拡大表示された例を示した図である。
【図１０】表示サイズの変更によるレイアウト崩れの一例を示した図である。
【図１１】レイアウト崩れを防止する表示サイズ調整例を示した図である。
【図１２】キーにフォーカス移動方法を指定するプロパティを設定したコンテンツ情報の一例を示した図である。
【図１３】図１２のプロパティが定義されたコンテンツのフォーカス移動例を示した図である。
【図１４】プロパティでフォーカス移動の対象要素をボタンとした場合の例を示した図である。
【図１５】移動方向を指定したフォーカス移動指示におけるフォーカス移動例を示した図である。
【図１６】要素間の相対位置関係の一例を示した図である。
【図１７】移動方向が指示されたときのフォーカス移動の他の例を示した図である。
【図１８】表示制御処理全体の手順を示したフローチャートである。
【図１９】関連要素情報設定処理の手順を示したフローチャートである。
【図２０】相対位置情報設定処理の手順を示したフローチャートである。
【図２１】スタイル設定処理の手順を示したフローチャートである。
【図２２】関連要素の表示サイズ決定処理の手順を示したフローチャートである。
【図２３】非関連要素の表示サイズ決定処理の手順を示したフローチャートである。
【図２４】表示サイズ修正処理の手順を示したフローチャートである。
【図２５】移動量を指定したフォーカス移動処理の手順を示したフローチャートである。
【図２６】移動方法を指定したフォーカス移動処理の手順を示したフローチャートである。
【図２７】移動方向を指定したフォーカス移動処理の手順を示したフローチャートである。
【図２８】フォーカス移動先を描画領域内にスクロールする処理手順を示したフローチャートである。
【発明を実施するための形態】
【００１２】
以下、実施の形態を図面を参照して説明する。
図１は、第１の実施の形態の情報処理装置の構成例を示した図である。
情報処理装置１０は、記憶手段１１、表示制御手段１２及びイベント制御手段１３を有し、表示装置２０と入力装置３０とに接続する。
【００１３】
記憶手段１１は、情報処理装置１０が動作時に用いる各種情報が記憶される記憶領域を有し、この記憶領域には、定義情報１１ａ、関連要素情報１１ｂ及び表示スタイル情報１１ｃが格納される。
【００１４】
定義情報１１ａは、画面を構成する各要素を表示する際の表示スタイルを定義したスタイル定義情報と、要素間の関連性を定義した関連要素定義情報とを有する。スタイル定義情報には、画面を構成する各要素について、各要素の内容、表示サイズ、画面上の配置情報などが定義される。ここで、要素とは、画面上のひとまとまりの部品であり、テキスト文字列、文字列を入力するための入力枠や表、チェックボックスなどの図形、カレンダなど、画面上に配置されるものすべてを指す。関連要素定義情報には、要素と、その要素に関係付けられた関連要素とが定義される。要素間の関係付けは、予め、画面作成者が画面作成時に定義しておく。定義情報１１ａは、情報処理装置１０が、ユーザからの要求に応じてＷｅｂサーバなどからダウンロードし、記憶手段１１に格納する。
【００１５】
関連要素情報１１ｂは、定義情報１１ａの関連要素定義情報に基づいて、互いに関連する要素をまとめた関連要素群に関する情報である。
表示スタイル情報１１ｃは、スタイル設定手段１２ｂが表示スタイルの設定時に参照する情報で、各要素のフォントサイズなどの表示サイズや表示位置などの表示スタイルに関する情報と、拡大倍率と、を有する。拡大倍率は、入力装置３０を用いて所定の操作を１回行ったときに、拡大対象または縮小対象をどのような倍率で拡大または縮小するかを定義した情報であり、事前に、ユーザによって定義された外部定義ファイルから取り込む。なお、定義情報１１ａを作成するときに、定義情報１１ａに拡大倍率の定義を含めるとしてもよい。
【００１６】
表示制御手段１２は、関連要素情報設定手段１２ａ、スタイル設定手段１２ｂ、フォーカス設定手段１２ｃ及び画面表示手段１２ｄを有し、定義情報１１ａに基づく画面を表示装置２０に表示する。また、イベント制御手段１３経由で入力された指示に応じて画面を更新し、表示装置２０に表示する。
【００１７】
関連要素情報設定手段１２ａは、定義情報１１ａに含まれる関連要素定義情報を解析し、要素を互いに関連する関連要素群に分け、関連要素情報１１ｂを生成して記憶手段１１に格納する処理を行う。関連要素情報設定手段１２ａは、画面を表示する前、例えば、入力装置３０を介して画面の表示要求がされたとき、またはこの画面の定義情報１１ａを取得したときなどのタイミングで関連要素情報１１ｂの生成処理を実行する。関連要素情報設定手段１２ａは、記憶手段１１に格納されている定義情報１１ａを読み出して解析し、関連要素定義情報を抽出する。そして、抽出された関連要素定義情報から互いに関連付けられた要素を関連要素群にまとめ、関連要素情報１１ｂを生成し、記憶手段１１に格納する。関連要素情報１１ｂには、関連要素群ごとにその関連要素群に属する要素が登録されている。
【００１８】
スタイル設定手段１２ｂは、表示装置２０の画面上の要素の拡大または縮小が指示されたとき、指示に応じて画面の各要素の表示サイズを調整し、表示装置２０に表示する。処理開始前には、必要に応じて表示スタイル情報１１ｃに、定義情報１１ａから抽出した表示スタイル情報と、外部定義ファイルから読み込んだ拡大倍率とを設定しておく。ユーザは、入力装置３０を操作して表示装置２０に表示される画面上の任意の要素を選択し、表示の拡大または縮小を指示する。以下、選択された要素を注目要素と呼ぶ。スタイル設定手段１２ｂには、イベント制御手段１３を介して拡大指示のイベント情報が通知される。イベント情報には、選択された注目要素と、拡大または縮小のどちらを指示したかが設定される。スタイル設定手段１２ｂは、関連要素情報１１ｂを検索して注目要素の属する関連要素群を特定し、特定された関連要素群に属するすべての要素（注目要素とその関連要素）に対応する表示スタイル情報１１ｃの表示サイズを拡大指示に応じた倍率で拡大する。倍率は、表示スタイル情報１１ｃに登録される拡大倍率を用いる。そして、新たに算出された表示サイズを表示スタイル情報１１ｃに設定する。縮小の指示であれば、同様にして表示スタイル情報１１ｃの表示サイズの値を縮小したサイズに変更する。なお、表示位置は変更しない。すなわち、各要素の表示位置は定義情報１１ａに定義された位置のままである。また、スタイル設定手段１２ｂは、定義情報１１ａに基づいて特定された関連要素群の画面上の位置を算出し、その周辺に配置される関連要素群以外の要素の表示サイズを、関連要素群の拡大倍率に応じた縮小倍率で縮小する。表示サイズを縮小する周辺の範囲は、表示サイズが拡大された関連要素群の表示範囲から一定の範囲とすることもできるし、関連要素群の表示範囲を除く画面全体とすることもできる。さらに、関連要素群の表示範囲から周辺の要素までの距離に応じて縮小率を可変とすることもできる。例えば、関連要素群の表示範囲に近接する要素の縮小率は小さく、遠くなるほど縮小率を大きくする。これにより、関連要素群の表示範囲から離れるほど、要素の表示サイズが小さくなる。
【００１９】
さらに、スタイル設定手段１２ｂは、表示サイズを拡大した関連要素群の表示範囲の要素について、表示サイズを変更したことによって、視認性が落ちていないかどうかを判定する。そして、視認性が落ちていると判定したときは、見やすい表示となるように倍率を調整し、表示スタイル情報の表示サイズを更新する。例えば、要素が文字列であったとき、拡大前の文字列の行数と、拡大後の文字列の行数を比較し、行数が増減しているときは、拡大前の文字列の行数と同じになるように、拡大倍率を調整する。倍率の調整は、注目要素を含む対象の関連要素群ばかりでなく、対象関連要素群の周囲の要素もしくは周囲の関連要素群の縮小倍率についても行う。こうして決定された対象関連要素群及び周辺要素の表示サイズは、一時的な表示スタイルとして、表示スタイル情報１１ｃに設定し、記憶手段１１に格納する。画面表示手段１２ｄは、表示スタイル情報１１ｃを参照して、各要素の表示サイズを決定する。
【００２０】
フォーカス設定手段１２ｃは、イベント制御手段１３から取得したイベントが、画面上のフォーカスの移動を指示するイベントであるときは、イベントによって指示された移動先の位置を算出し、そこにフォーカスを設定する。例えば、移動量、移動方法または移動方向など、移動先を指定する操作手順と、その操作手順に応じたフォーカス移動の手順とをフォーカス設定情報として予め決めておく。イベント制御手段１３は、このような操作手順が行われたときは、操作を通知するイベント情報を生成し、表示制御手段１２に通知する。フォーカス設定手段１２ｃは、入力されたイベントによって操作手順を把握し、対応するフォーカス移動の手順に基づいてフォーカスの移動先を特定する。例えば、移動量として、移動回数と、移動量の単位とが指定された場合は、現在のフォーカス位置から予め決められた順方向に単位移動量を指定移動回数分移動させた位置に対応する要素を移動先とする。同様に、移動方向として下方向が指定されたときは、現在のフォーカス位置から下方向にある要素を移動先とする。また、移動先の要素が指定されたときは、順方向に次の移動先要素を検出して移動先とする。なお、これらの移動先指示の操作は、いくつか組み合わせて実行されてもよい。
【００２１】
画面表示手段１２ｄは、定義情報１１ａ、スタイル設定手段１２ｂが設定した表示スタイル情報１１ｃ、及びフォーカス設定手段１２ｃが設定したフォーカスの移動先に基づいて画面を生成し、表示装置２０に表示する。
【００２２】
イベント制御手段１３は、入力装置３０から入力されたユーザの指示を解析し、得られたユーザの指示を表示制御手段１２に伝える。なお、入力装置３０は、キーボードやマウスなど、ユーザの指示を情報処理装置１０に入力する装置である。
【００２３】
このような構成の情報処理装置１０の動作について説明する。
ユーザは、まず、入力装置３０を操作して定義情報１１ａに対応する画面の表示要求を行う。表示要求の指示は、入力装置３０からイベント制御手段１３に入力し、イベント制御手段１３から表示制御手段１２に伝達される。表示制御手段１２は、最初の表示要求のイベントを受け、関連要素情報設定手段１２ａを起動する。関連要素情報設定手段１２ａは、定義情報１１ａから関連要素定義情報を抽出し、画面を構成する各要素を関連要素群に分類し、その関連要素情報１１ｂを記憶手段１１に格納する。その後、画面表示手段１２ｄが、定義情報１１ａに基づく画面を表示装置２０に表示する。また、定義情報１１ａに含まれる各要素の表示スタイルの定義情報を抽出し、表示スタイル情報１１ｃとして記憶手段１１に記憶しておく。また、外部定義ファイルなどに定義される拡大倍率も、表示スタイル情報１１ｃに登録しておく。
【００２４】
ここでユーザが、入力装置３０を操作して表示装置２０に表示された画面から任意の要素を選択し、拡大表示を指示したとする。指示は入力装置３０からイベント制御手段１３に入力する。イベント制御手段１３は、選択された要素（注目要素）と、拡大表示を指示するイベントを表示制御手段１２に通知する。表示制御手段１２は、拡大表示の指示のイベントを受け、スタイル設定手段１２ｂを起動する。スタイル設定手段１２ｂは、関連要素情報１１ｂを検索して、注目要素の属する関連要素群を特定する。そして、特定された関連要素群に属するすべての要素の表示サイズを指示された拡大倍率で拡大し、記憶手段１１に格納する表示スタイル情報１１ｃの該当要素の表示サイズを更新する。スタイル設定手段１２ｂは、同時に、関連要素群の周辺に配置される関連要素群外の要素の表示サイズを、関連要素群の拡大倍率に応じた縮小倍率で縮小する。こうして決定した要素の更新表示サイズを表示スタイル情報１１ｃに設定し、表示スタイル情報１１ｃを更新する。このとき、スタイル設定手段１２ｂは、表示倍率後の視認性を確認し、表示の行数が変わるなどのレイアウトの崩れが発生して視認性が低下しないように、倍率の調整を行う。画面表示手段１２ｄは、更新された表示スタイル情報１１ｃに基づいて表示装置２０に画面を表示する。
【００２５】
これにより、選択された注目要素と、その関連要素を含む関連要素群の表示サイズを拡大した画面が表示装置２０に表示される。拡大表示によりユーザの視認性を高めることができるとともに、関連要素についても同時に拡大表示されるため、関連する事項についての視認性も高くなる。さらに、関連しない周囲の要素の表示は縮小するので、関連要素群の要素を拡大表示したことによるレイアウトの崩れを抑えることができる。これにより、拡大表示による各要素の表示位置のずれを最小限に抑えることができ、視線移動が少なく、ユーザにとって見やすく、かつ操作がしやすい画面を提供することができる。この結果、ユーザの利便性が向上する。
【００２６】
さらに、ユーザが、表示装置２０に表示された画面上のフォーカスを移動させる操作を入力装置３０に行ったとする。操作によって、移動量や移動方向、移動先の要素種別などが指示される。例えば、移動回数を指示する数値キーと、移動量を指示するタブキーとが操作されたとする。入力装置３０から指示を受け取ったイベント制御手段１３は、移動回数と移動量を指示するイベントを表示制御手段１２に通知し、通知を受けた表示制御手段１２は、フォーカス設定手段１２ｃを起動する。フォーカス設定手段１２ｃは、取得した移動回数と移動量とに基づいて、フォーカスの移動先の位置を算出し、フォーカスの移動先を画面表示手段１２ｄに通知する。画面表示手段１２ｄは、指示された移動先にフォーカスを移動させ、表示装置２０の画面表示を更新する。同様に、移動方向が指定されたときは、その移動方向で検出した要素を移動先とする。また、移動先の要素種別が指定されたときは、指定された要素種別を順方向に検索し、検出した要素を移動先とする。
【００２７】
これにより、簡単な操作でフォーカスを移動させることが可能となり、ユーザの利便性が向上する。
図２は、拡大表示画面の一例を示した図である。
【００２８】
画面２１は拡大表示を行う前の通常の画面、画面２３は拡大表示後の画面であり、表示装置２０に表示される。図２の例は、購入商品一覧画面であり、各種情報の登録と、登録した情報の確認とを行うことができる。画面に表示される入力項目は、この入力項目を説明する文字列と、入力を行うテキストボックス及びコンボボックスと、の各要素から成る。例えば、最上段の入力項目は、入力項目を説明する「名前」という文字列２１ｂと、名前を入力するテキストボックス２１ａという２つの要素から成る。ここで、この２つの要素は、関連要素定義情報において関連付けられているとする。関連要素情報設定手段１２ａは、関連要素定義情報に基づいてテキストボックス２１ａと、文字列２１ｂとを同じ関連要素群に登録する。
【００２９】
ここで、ユーザが入力装置３０を操作してポインタ２２をテキストボックス２１ａに設定し、拡大表示を指示したとする。スタイル設定手段１２ｂは、指定されたテキストボックス２１ａとともに、テキストボックス２１ａと同じ関連要素群に属する文字列２１ｂを表示スタイル情報１１ｃに設定される倍率で拡大する。こうして、拡大表示画面２３を表示装置２０に再表示する。拡大表示画面２３では、テキストボックス２３ａとともに、関連する文字列２３ｂも拡大表示されている。
【００３０】
以上のように、情報処理装置１０によれば、ユーザが要素を選択して拡大指示を行うと、選択した注目要素とともに注目要素に関連する要素が元の位置で拡大表示される。これにより、ユーザの視線移動を抑え、かつ視認性の高い画面を提供することができる。さらに、周囲の要素の表示サイズの縮小や、要素が文字列であったときに拡大によって行数を増やさないように表示サイズを調整したりすることによって、よりユーザの視認性を高め、利便性を向上させることができる。また、簡単な操作で任意の場所にフォーカスを移動させることができる。これは、１画面に表示可能な情報量が増大したことによって、要素の表示サイズが小さく、かつ多くの要素が１画面に表示される表示装置に対し、特に効果的である。
【００３１】
次に、フォーカス移動について説明する。
図３は、フォーカス移動の一例を示した図である。
画面２４は、表示装置２０に表示される画面で、項目１（２４ａ）から項目１６（２４ｄ）までの１６の入力項目を入力するテキストブロックが配置されている。図３の例では、フォーカスの移動指示はタブキーで行うとし、さらに、フォーカスの移動量指示として数字キーを操作する。なお、タブキーを１回操作したときは、項目を１移動する設定であるとする。
【００３２】
画面２４を開いた最初の状態では、先頭の項目１（２４ａ）にフォーカス２５が設定されている。図３では、太線で囲まれた項目にフォーカスが設定されているとする。この状態で、ユーザがタブキー操作（２６ａ）を行うと、イベント制御手段１３を介してフォーカス設定手段１２ｃにタブキーが操作されたことがイベント情報として通知される。フォーカス設定手段１２ｃは、イベント情報に基づき、フォーカス２５を次の項目２（２４ｂ）へ移動する。
【００３３】
ここで、フォーカス２５が項目１（２４ａ）に設定されているときに、ユーザが、タブキーとともにフォーカスの移動量指示として数字キー「９」をほぼ同時に操作した場合について説明する。イベント制御手段１３を介して９＋タブキー操作（２６ｂ）が行われたというイベント情報がフォーカス設定手段１２ｃに入力する。フォーカス設定手段１２ｃは、タブキーを１回操作したときの移動量を９倍した移動先をフォーカスの移動先とする。ここでは、９＋タブキー操作（２６ｂ）によって、項目１０（２４ｃ）にフォーカス２５が移動する。
【００３４】
ここで、項目１（２４ａ）から、項目１６（２４ｄ）にフォーカスを移動させたい場合、従来のフォーカス移動では、タブキーを１回操作したときの移動量は１項目分であるため、キー操作を１５回繰り返さなければならなかった。一方、図３の例では、９＋タブキー操作（２６ｂ）を行って項目１０（２４ｂ）へフォーカス２５を移動させ、続いて６＋タブキー操作（２６ｃ）を行って、フォーカス２５を項目１６（２４ｄ）に移動させることができる。
【００３５】
このように、フォーカス移動に要する操作量を少なくし、ユーザの利便性を向上させることができる。なお、図３では、フォーカスの移動量を指示する場合について説明したが、移動の方向や、移動先の要素の種別などの指示を受け、フォーカス移動を行うとしてもよい。
【００３６】
以下、第２の実施の形態として、本願発明をＷｅｂサーバとネットワークを介して接続する情報処理装置に適用した場合について、詳細に説明する。この情報処理装置は、Ｗｅｂサーバから取得したコンテンツの表示・再生や、入力フォームを使用して入力された情報をＷｅｂサーバに送信する処理などを行う。
【００３７】
ここで、情報処理装置のハードウェア構成について説明する。図４は、第２の実施の形態の情報処理装置のハードウェア構成例を示すブロック図である。
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、及び通信インタフェース１０６が接続されている。
【００３８】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラムが格納される。グラフィック処理装置１０４には、モニタ２００が接続されており、ＣＰＵ１０１からの命令に従って画像をモニタ２００の画面に表示させる。入力インタフェース１０５には、キーボード３０１やマウス３０２が接続されており、キーボード３０１やマウス３０２から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク４００に接続されており、ネットワーク４００を介してＷｅｂサーバ５００との間でデータの送受信を行う。
【００３９】
このようなハードウェア構成によって、情報処理装置の処理機能を実現することができる。
次に、情報処理装置１００のソフトウェア構成について説明する。図５は、第２の実施の形態の情報処理装置のソフトウェア構成例を示すブロック図である。
【００４０】
情報処理装置１００は、記憶部１１０、画面制御部１２０、イベント制御部１３０、ブラウザ１４０及び要素生成部１５０を有し、画面を表示するモニタ２００と、指示を入力するキーボード３０１及びマウス３０２とに接続する。
【００４１】
記憶部１１０は、コンテンツ情報１１１、関連要素情報１１２、相対位置情報１１３、表示スタイル情報１１４及びフォーカス設定情報１１５を記憶する。コンテンツ情報１１１は、Ｗｅｂサーバが提供するＷｅｂページの各要素の内容（文書、画像など）と、その要素の配置、スタイルなどをオブジェクトとして扱い、スクリプト言語を用いてこれらを制御するための取り決めに基づいて生成される。このようなモデルをＤＯＭ（Document Object Model）と呼び、各要素はＤＯＭ要素である。関連要素情報１１２は、関連する要素をまとめた関連要素群に関する情報である。相対位置情報１１３は、コンテンツ情報１１１を解析して得た各要素間の相対位置関係に関する情報である。表示スタイル情報１１４は、現在の表示サイズ、フォーカスが当たっている要素、外部定義ファイルから取得した拡大倍率などの情報である。フォーカス設定情報１１５は、ユーザが行うキー操作と、フォーカスの移動量、移動方法、または移動方向とを対応付けた定義情報である。別途ユーザが設定するとしてもよいし、コンテンツ情報１１１に定義しておくとしてもよい。
【００４２】
画面制御部１２０は、モニタ２００へ表示する画面構成を制御する表示制御手段であり、要素情報設定部１２１、スタイル設定部１２２及びフォーカス設定部１２３を有する。
要素情報設定部１２１は、Ｗｅｂページの読み出し時などに、記憶部１１０に格納されるコンテンツ情報１１１などを解析し、関連要素情報１１２、相対位置情報１１３、表示スタイル情報１１４及びフォーカス設定情報１１５の各情報を初期化する。関連要素情報１１２は、コンテンツ情報１１１を解析して生成する。コンテンツ情報１１１に定義される関連性を有する要素の情報に基づいて要素を関連要素群に分け、それぞれの関連要素群について関連要素情報１１２を生成する。また、関連要素群に分けるのではなく、要素間の関連性の強さのレベルを予め設定しておくとすることもできる。これにより、状況に応じて選択された要素間の関連性の強さのレベルに基づいて、共に表示スタイルが変更される要素を適宜選択することができる。相対位置情報１１３は、コンテンツ情報１１１を解析し、各要素間の相対位置関係を算出して生成する。表示スタイル情報１１４には、コンテンツ情報１１１から各要素の表示サイズや表示位置などの表示スタイル情報を抽出し、各要素のｉｄに関連付けて設定する。また、外部定義ファイルに定義されている拡大倍率を読み込んで登録するとともに、フォーカスを設定する位置などの情報も設定する。フォーカス設定情報１１５は、予め定義されたフォーカスの移動先を指定するキー操作が設定される。例えば、「数値キーとタブキーが操作されたときは、数値キーの数値分、タブキーに応じたフォーカス移動を繰り返す」、という操作とフォーカス移動との関係が設定されている。
【００４３】
スタイル設定部１２２は、イベント制御部１３０から取得したイベント情報（ユーザの指示）が表示スタイルの変更に関する指示であったときは、画面の表示スタイルを変更し、表示スタイル情報１１４を更新する。なお、ここでの表示スタイル変更指示は、選択された任意の要素の表示拡大または表示縮小の指示であるとする。表示拡大が指示されたときは、選択された要素が属する関連要素群全体の表示サイズを大きくするとともに、周囲の要素の表示サイズを小さくする。これにより、表示位置を維持したままで注目要素を見やすくすることができる。このとき、表示サイズが変更になったことで、変更後の画面のレイアウトが崩れることを防止するため、表示サイズの調整も行う。詳細は後述する。表示を拡大した関連要素群について表示縮小の指示があったときは、関連要素群全体の表示サイズを縮小し、表示スタイル情報１１４を更新する。また、周辺の要素の表示を縮小していた場合は、関連要素群の縮小に応じて周辺要素の表示を拡大し、表示スタイル情報１１４を更新する。
【００４４】
フォーカス設定部１２３は、イベント制御部１３０から取得したイベント情報がフォーカスの移動指示であったときは、フォーカスの移動先を特定し、その移動先にフォーカスを移動させる。予め、フォーカスの移動量、移動方法、または移動方向を指示するキーボード３０１の操作手順を決めておき、フォーカス設定情報１１５に登録しておく。ユーザは、操作手順に従ってフォーカスの移動指示を行う。フォーカス設定部１２３は、指定を解釈し、フォーカスの移動先を算出する。詳細は後述する。
【００４５】
イベント制御部１３０は、キーイベント取得部１３１、マウスイベント取得部１３２及びイベント設定部１３３を有し、キーボード３０１及びマウス３０２から入力する信号に基づいて、イベント情報を生成し、各処理部に通知する。
【００４６】
キーイベント取得部１３１は、キーボード３０１から利用者がキーボード３０１を操作したことを通知されると、キー操作の内容を把握し、イベント設定部１３３に通知する。
マウスイベント取得部１３２は、マウス３０２から利用者がマウス３０２を操作したことを通知されると、マウス操作の内容を把握し、イベント設定部１３３に通知する。
【００４７】
イベント設定部１３３は、キーイベント取得部１３１及びマウスイベント取得部１３２から取得した操作情報に基づいてイベント情報を設定し、画面制御部１２０へ送る。このとき、スタイル設定部１２２またはフォーカス設定部１２３のどちらに対する指示であるのかを判定し、通知するとしてもよい。例えば、拡大指示としてユーザが、マウス３０２で要素を選択し、マウスホイールを上方向に操作したとする。イベント設定部１３３は、少なくとも、マウス３０２によって拡大が指示された注目要素と、拡大指示であることとを設定する指示情報を特定可能にするイベント情報を設定する。また、フォーカス移動の指示であるときは、フォーカス移動量、フォーカス移動方法またはフォーカス移動方向を特定可能にするイベント情報を設定する。
【００４８】
ブラウザ１４０は、Ｗｅｂブラウザであり、コンテンツ情報１１１に基づいてレイアウトを解析して画面を再生し、モニタ２００に表示する。以下の説明では、実装するプログラミング言語として、ＪａｖａＳｃｒｉｐｔ（Ｊａｖａ：登録商標）を想定している。実装するプログラミング言語としてＪａｖａＳｃｒｉｐｔ以外を用いてもよいことは当然である。また、実施の形態では、ブラウザベースのＷｅｂアプリケーションとしているが、それ以外のアプリケーションに適用してもよい。例えば、クライアントアプリケーションにも適用が可能である。
【００４９】
以上の各処理部は、コンテンツ情報１１１に基づく画面をモニタ２００に表示させる処理を行う。
さらに、要素生成部１５０は、コンテンツ作成者が情報処理装置１００を用いてコンテンツを作成する際に、画面を構成する要素と、その要素に関連付けられた関連要素とを定義する要素情報を生成し、コンテンツ情報に設定する。詳細は後述する。
【００５０】
このような構成の情報処理装置１００の動作について、（１）関連要素群登録処理、（２）スタイル設定処理、（３）フォーカス設定処理、及び（４）要素生成（コンテンツの要素関連付け）処理の順に、具体例を用いて説明する。
【００５１】
（１）関連要素群登録処理
イベント制御部１３０を介して画面の表示要求を取得すると、ブラウザ１４０がコンテンツ情報１１１に基づいて画面を表示する。
【００５２】
図６は、スタイル設定処理が行われる前の画面とそのコンテンツ情報の一例である。
画面２１０は、ダウンロードしたコンテンツ情報１１１に基づいてブラウザ１４０が表示した画面である。図６の例では、項目の内容を示す文字列「項目１」２１１ａの行には、項目１に対応する商品名を選択するコンボボックス２１１ｂ及び個数を入力するコンボボックス２１１ｃの各要素が配置されている。文字列「項目２」２１２ａの行と、文字列「項目３」２１３ａの列にも同様の要素が配置されている。なお、要素は、上記の文字列やコンボボックスの他に、チェックボックス、ラジオボタン、テキスト入力ボックス、テーブル、操作ボタン、カレンダなど、画面上に表示される一つ一つの部品を指す。
【００５３】
コンテンツ情報１１１には、画面２１０の要素やレイアウトなどが記述される。図６のコンテンツ情報１１１０は、画面上の要素である文字列「項目１」２１１ａに関する要素情報を示したものである。コンテンツ情報１１１０では、「項目１」のデータタイプ（ｒｃｆ：ｔｙｐｅ）は、テキスト（Ｔｅｘｔ）、識別子（ｒｃｆ：ｉｄ）は「ｔｅｘｔ１」であることとともに、「項目１」に関連する要素（ｒｃｆ：ｒｅｌａｔｉｏｎ）として、コンボボックス２１１ｂ（ｃｏｍｂｏｂｏｘ１）と、コンボボックス２１１ｃ（ｃｏｍｂｏｂｏｘ２）と、が定義されている。
【００５４】
このように、表示要求に応じて画面２１０を最初に表示するとき、あるいは、コンテンツ情報１１１がダウンロードされたときなどのタイミングで、要素情報設定部１２１は、関連要素情報１１２の生成処理を実行する。
【００５５】
要素情報設定部１２１では、コンテンツ情報１１１０を解析し、コンテンツ全体の関連性を管理するクラスと、個々の関連要素群の関連性を定義するクラスとを作成する。例えば、図６の例では、コンテンツ情報１１１０に基づき、文字列「項目１」２１１ａに、コンボボックス２１１ｂ及びコンボボックス２１１ｃが関連付けられていると判定する。そして、文字列「項目１」２１１ａ、コンボボックス２１１ｂ及びコンボボックス２１１ｃから成る関連要素群を形成する。そして、要素情報設定部１２１は、関連要素群を定義するオブジェクトと、そのオブジェクトを管理するオブジェクトを生成し、関連要素情報１１２として記憶部１１０に格納する。
【００５６】
図７は、コンテンツ全体の関連性を管理するクラスの記述例を示した図である。
コンテンツ全体の関連性を管理するクラス１１２１には、Ｊａｖａｓｃｒｉｐｔを用いて、クラス「ＲｅｌａｔｉｏｎＭａｎａｇｅｒ」が定義されている。ＲｅｌａｔｉｏｎＭａｎａｇｅｒには、関連要素群を定義するＲｅｌａｔｉｏｎオブジェクトについて、Ｒｅｌａｔｉｏｎオブジェクトを登録するメソッド１１２１ａと、Ｒｅｌａｔｉｏｎオブジェクトを取得するメソッド１１２１ｂとが記述されている。
【００５７】
各Ｒｅｌａｔｉｏｎオブジェクトを定義するクラスについて説明する。図８は、関連性を定義するクラスの記述例を示した図である。
関連性を定義するクラス１１２２には、Ｊａｖａｓｃｒｉｐｔを用いて、クラス「Ｒｅｌａｔｉｏｎ」が定義されている。Ｒｅｌａｔｉｏｎには、任意の要素と、その要素に関連する関連要素とについて、関連要素のｉｄを登録するメソッド１１２２ａと関連要素のｉｄを取得するメソッド１１２２ｂとが記述されている。例えば、図６のコンテンツ情報に１１１０に基づいて、文字列「項目１」２１１ａ、コンボボックス２１１ｂ及びコンボボックス２１１ｃの関連要素群について、Ｒｅｌａｔｉｏｎオブジェクトが生成される。このＲｅｌａｔｉｏｎオブジェクトでは、要素のｉｄに文字列「項目１」２１１ａの「ｔｅｘｔ１」、関連要素のｉｄに、それぞれコンボボックス２１１ｂの「ｃｏｍｂｏｂｏｘ１」、コンボボックス２１１ｃの「ｃｏｍｂｏｂｏｘ２」が記述される。
【００５８】
以上の処理手順によって、コンテンツ情報１１１に基づいて関連要素情報１１２が設定される。なお、上記の関連する要素群を定義するオブジェクトは、関連要素情報１１２の一例であり、関連要素群に属する要素を特定することができれば、どのような形式で記述されてもよい。
【００５９】
（２）スタイル設定処理
スタイル設定処理は、イベント設定部１３３から要素の拡大指示、または縮小指示のイベント情報を取得したスタイル設定部１２２が、関連要素情報１１２に基づいてモニタ２００に表示される画面上の各要素の表示スタイルを変更する処理である。
【００６０】
ここで、図６に示した画面２１０から任意の要素が選択され、拡大が指示された場合の例を用いてスタイル設定処理について説明する。
図９は、図６の画面が拡大表示された例を示した図である。
【００６１】
画面２２０は、図６の画面２１０においてコンボボックス２１１ｂがマウス操作によって拡大指示された場合の拡大表示画面の一例である。例えば、ユーザが、マウス３０２を操作してコンボボックス２２１ｂ（図６ではコンボボックス２１１ｂ）にポインタ２２５を当て、マウスホイールを上または下方向に操作して指示を行う。ここでは、マウスホイールを上方向に操作したときは拡大指示、下方向に操作したときは縮小指示であるとする。なお、マウス３０２ばかりでなく、キーボード３０１の「ＰａｇｅＵｐ」と「ＰａｇｅＤｏｗｎ」を操作するなどとしてもよい。
【００６２】
ここで、ポインタ２２５が指示する要素、図９の例では、コンボボックス２２１ｂが選択され、拡大指示が入力されたとする。拡大倍率は、予め設定しておく。例えば、１回の拡大指示で文字列であれば、フォントのサイズを１段階拡大する。文字列を入力するテキストボックスやコンボボックスであれば、フォントを１段階上げたときのフォントサイズに合わせる。図形であれば、予め決められた倍率で拡大する、などの方法がある。マウス３０２の操作はマウスイベント取得部１３２を経由し、イベント設定部１３３に入力する。イベント設定部１３３は、イベント情報を設定し、画面制御部１２０に出力する。イベント情報には、対象の要素、拡大倍率またはフォントサイズなどの指定情報が設定される。
【００６３】
画面制御部１２０では、スタイル設定部１２２がイベント情報を取得し、対象の要素を特定する。そして、関連要素情報１１２を検索し、対象の要素が属する関連要素群を特定する。例えば、コンボボックス２２１ｂが対象の注目要素であれば、関連要素情報１１２に基づき、文字列「項目１」２２１ａと、コンボボックス２２１ｃとを関連要素とする関連要素群２２１に属していると特定できる。スタイル設定部１２２は、イベント情報に設定されている倍率またはフォントサイズの指定に基づいて、注目要素のコンボボックス２２１ｂとともに、同じ関連要素群２２１の文字列「項目１」２２１ａ及びコンボボックス２２１ｃの表示サイズ値を決定する。そして、コンテンツ情報１１１の該当する要素の表示スタイルの設定を書き換える。
【００６４】
続けて、拡大表示を行う関連要素群２２１の周辺要素の縮小表示を行う。まず、画面上で拡大表示を行う関連要素群２２１または注目要素であるコンボボックス２２１ｂの周辺にある要素を特定し、要素までの距離を計測する。距離は、例えば、図９の点線で囲んだ関連要素群２２１の領域の重心、またはコンボボックス２２１ｂの中心から、相手の周辺要素の重心または中心までを計測する。相手の周辺要素は、個々の要素であっても関連要素群単位であってもよい。図９の例では、拡大表示を行った関連要素群２２１の領域の重心から、関連要素群２２２の領域の重心までの距離と、関連要素群２２３の領域の重心までの距離とを計測する。そして、拡大表示の拡大倍率と、計測された注目要素からの距離とに基づき、周辺要素の表示サイズを縮小する。縮小率は予め決めておく。例えば、図９において関連要素群２２１のフォントサイズを１段階大きくして表示を拡大したときは、一番近い関連要素群２２２の要素のフォントサイズを元のフォントサイズより１段階小さくする。次に、２番目に近い関連要素群２２３の要素のフォントサイズをさらに１段階（関連要素群２２１からは２段階）小さくする。そして、表示スタイル情報１１４の該当する要素の表示スタイルの設定値を書き換える。
【００６５】
このように、スタイル設定部１２２では、指定された要素と、この要素と関連性のある要素とを拡大表示し、その周囲の要素を縮小表示する。周囲の要素を縮小表示することによって、注目要素とその関連要素とを拡大表示するスペースが確保できる。これにより、注目要素とその関連要素とを、拡大前に配置されていた位置と同じ位置に配置することができる。このため、視線移動の少ない、見やすい画面を提供することができる。なお、上記の例では、注目要素からの距離に基づいて、注目要素から遠いほど縮小後の表示サイズを小さくしているが、関連性のない要素については、距離に依らず同一の縮小サイズとしてもよい。しかし、拡大表示された着目要素と、縮小表示される周辺要素の大きさの差があまりに大きいと、ユーザにとって違和感のある表示となってしまう恐れがある。そこで、距離を導入して縮小率に勾配を設けることにより、ユーザにとって自然な見栄えの良い画面を提供することができる。
【００６６】
ところで、上記の表示サイズの拡大と縮小によってレイアウトの崩れが発生する場合がある。特に、テキスト主体のコンテンツの場合に発生しやすい。図１０は、表示サイズの変更によるレイアウト崩れの一例を示した図である。（Ａ）は、表示サイズ変更前の画面、（Ｂ）は表示サイズ変更後の画面を示している。
【００６７】
（Ａ）に示した表示サイズ変更前の画面２３０では、１段落目２３１は、フォントサイズが２０ポイント（以下、ｐｔとする）の文字が３行で構成されている。２段落目２３２及び３段落目２３３は、フォントサイズが２０ｐｔの文字が２行で構成されている。
【００６８】
ここで、１段落目２３１が選択されて拡大表示され、２段落目２３２、３段落目２３３と順に縮小表示する。（Ｂ）に示した表示サイズ変更後の画面２４０では、１段落目２４１は、フォントサイズが２２ｐｔになり、文字が拡大表示される。行数は、３行のままである。２段落目２４２は、フォントサイズが２０ｐｔから変更なく、行数も２行のままである。３段目２４３は、フォントサイズが１８ｐｔに変更され、文字が縮小表示される。行数は、１行と、表示サイズ変更前の２行から減ってしまう。このように、３段目２４３の行数が変わりレイアウトが崩れ、見にくくなる場合がある。
【００６９】
そこで、スタイル設定部１２２では、表示サイズの変更によるレイアウトの崩れの有無を判定し、レイアウトが崩れたと判定したときは、表示サイズを調整する。図１１は、レイアウト崩れを防止する表示サイズ調整例を示した図である。図１０のレイアウト崩れに対する表示サイズ調整の一例である。
【００７０】
調整後の画面２５０では、表示サイズの変更前と変更後で行数に変化のない１段目２５１及び２段目２５２は表示サイズ変更後の画面２４０と同じである。行数が変化した３段目２５３は、フォントサイズが１９ｐｔに書き換えられ、スタイル設定部１２２は、表示サイズ変更後の画面２４０において、行数が２行から１行に減った３段目２４３について、行数が２行となるように表示サイズの調整を行う。まず、スタイル設定部１２２は、図１０に示した表示サイズ変更前の画面２３０及び表示サイズ変更後の画面２４０における各段の行数を算出する。行数は、画面上の各要素の高さを使用フォントサイズで除算して算出する。なお、これは行間に空きのない状態の算出方法であり、空きがある場合には空きの高さを加味して算出する。続いて、各要素について算出された表示サイズ変更前の画面２３０の行数と、表示サイズ変更後の画面２４０の行数とを比較し、差があるもの、すなわち、レイアウトが崩れているものを検出する。そして、レイアウト崩れが検出された要素の表示サイズを調整する。表示サイズの変更後に行数が減った要素は、表示サイズを拡大する、一方、行数が増えた要素は表示サイズを縮小する。調整後の調整後の画面２５０における行数が表示サイズ変更前の画面２３０における行数と一致するまで処理手順を繰り返す。
【００７１】
これにより、テキストの行数が変わるレイアウト崩れを防止し、視認性の高い画面を提供することができる。上記の説明では、行数の調整をフォントサイズの変更で行うとしたが、それ以外のテキストの表示スタイルを変更して調整するとしてもよい。例えば、文字間隔を変更して１行の文字数を調整し、行数を変更することができる。また、レイアウト崩れの判定を行数以外で行うとしてもよい。
【００７２】
なお、上記のスタイル設定処理では、指定された要素が属する関連要素群全体の表示サイズを拡大または縮小するとしたが、要素の一部のみの拡大・縮小を行うとしてもよい。例えば、テキストが対象であれば、テキストから一部の文字を選択し、拡大・縮小を指示するとしてもよい。例えば、指定された要素の一部の文字列が選択され、拡大が指示されたときは、選択された文字列のみを拡大する。また、要素全体が指示されたときは、要素全体の文字列を拡大する。
【００７３】
（３）フォーカス設定処理
フォーカス設定部１２３は、イベント制御部１３０を介して入力するキーボード３０１及びマウス３０２のイベント情報に基づいて、指定の場所にフォーカスを移動する処理を行う。
【００７４】
情報処理装置１００では、キーボード３０１を操作してフォーカス移動の指示を行う場合に、フォーカス移動の指示を拡張し、フォーカス移動の指示にフォーカス移動量、フォーカス移動方法及びフォーカス移動方向の指定を付加する方法を提供する。具体的には、ユーザはフォーカス移動の指示とともに、フォーカス移動量、フォーカス方法またはフォーカス移動方向を指定する操作を行う。
【００７５】
フォーカス移動量を指定したフォーカス移動指示では、例えば、ユーザがフォーカス移動を指示するタブキーとともに、移動量を指定する数値キーを操作する。数値キーは、フォーカス移動量として「いくつ先の要素にフォーカスを移動させるか」を指定する。そのキーボード３０１の操作内容は、イベント設定部１３３が生成するイベント情報として画面制御部１２０に入力する。例えば、図３に示した例では、数値キー「９」とタブキーとが操作されている（２６ｂ）。この場合、フォーカス移動量は「９」であり、フォーカスは表示スタイル情報１１４に格納される現在のフォーカス位置から９要素先の項目にフォーカスを移動させる。図３の例では、現在のフォーカス位置である項目１（２４ａ）から、項目１０（２４ｃ）にフォーカス２５を移動させる。
【００７６】
フォーカス移動方法を指定したフォーカス移動指示は、ユーザが、フォーカス移動方法がプロパティとして設定された任意のキーを操作して行う。なお、この任意のキーを単独で操作するとしてもよいし、フォーカス移動を指示するタブキーと、プロパティが設定された任意のキーとを組み合わせるとしてもよい。フォーカス移動方法の指定では、任意のキーにフォーカス移動量、あるいは、移動先の要素の種別というようなプロパティを設定する。
【００７７】
図１２は、キーにフォーカス移動方法を指定するプロパティを設定したコンテンツ情報の一例を示した図である。
コンテンツ情報１２１０は、フォーカス拡張機能タグの記述１２１１において、タブ（タブ）キーによるフォーカスの移動量を定義している。ここでは、インターバル（interval）として、タブキーの操作によって３つ先の要素にフォーカスを移動させることを定義している。
【００７８】
図１３は、図１２のプロパティが定義されたコンテンツのフォーカス移動例を示した図である。画面２６０は、ブラウザ１４０がコンテンツ情報１１１に基づいてモニタ２００に表示した表示画面の一例である。テキスト文字を入力する入力項目の入力欄が、項目１（２６１ａ）から項目１６（２６１ｆ）まで順に配置されている。
【００７９】
ここで、初期状態として、先頭の項目１（２６１ａ）にフォーカス２６３が当たっていたとする。また、図１２で示したように、タブキーには、プロパティとしてフォーカス移動量「３」が設定されている。
【００８０】
イベント設定部１３３を介してタブキー操作（２６２）を通知するイベント情報を取得すると、フォーカス設定部１２３は、フォーカス移動先を算出する。タブキーに設定されたフォーカス移動量のプロパティ「３」と、表示スタイル情報１１４に設定される現在のフォーカス位置である項目１（２６１ａ）とに基づき、フォーカス２６３を項目４（２６１ｂ）に移動する。次に、タブキーが操作されたときは、同様にして、フォーカス２６３を、項目４（２６１ｂ）から項目７（２６１ｃ）に移動させる。その後、タブキーが操作されるごとに、項目１０（２６１ｄ）、項目１３（２６１ｅ）、項目１６（２６１ｆ）と順次フォーカス２６３を移動する。
【００８１】
このように、任意のキーにプロパティとしてフォーカス移動方法を設定しておくことにより、フォーカス移動操作を簡便にすることができる。また、プロパティは、動的に変更可能である。
【００８２】
さらに、プロパティとして、フォーカス移動量ばかりではく、フォーカス移動先の要素を特定の種別に限定することもできる。例として、フォーカス移動対象の要素をボタン（button）に限定する場合で説明する。
【００８３】
図１４は、プロパティでフォーカス移動の対象要素をボタンとした場合の例を示した図である。
例えば、コンテンツ情報１１１またはフォーカス設定情報１１５には、プロパティとして、「ｂ」キーと、タブキーとを操作したときはフォーカスの移動先の要素をボタンとする、という設定があるとする。ユーザが操作を行うと、フォーカス設定部１２３は、イベント設定部１３３を介して、「ｂ」キー＋タブキー操作とが行われたこと通知するイベント情報を取得する。フォーカス設定部１２３は、プロパティと、表示スタイル情報１１４に設定される現在のフォーカス位置（項目２７１）とに基づき、フォーカスを最初のボタンである更新ボタン２７２に移動する。次に、ユーザが同様の操作を行ったときは、更新ボタン２７２の次に検出した更新ボタン２７３にフォーカスを移動する。なお、「ｂ」キーが同時に操作されなかったときは、通常のタブキー操作を行い、次の入力項目要素にフォーカスを移動する。
【００８４】
また、「ｉ」キーと、タブキーとが操作されたときには、フォーカス移動先の要素を入力項目と定義した場合、「ｉ」キーとタブキーとがほぼ同時に操作されると、フォーカス設定部１２３は、現在フォーカス位置となっている場所から、次の入力項目にフォーカスを移動させる。なお、キーの組み合わせはこの例に限らず、任意に設定できる。
【００８５】
フォーカス移動方向を指定したフォーカス移動指示では、予め、タブキーとは別に、上下左右の方向を指すカーソルキーによってフォーカスの移動方向を指示する。ユーザは、フォーカスを移動したい方向のカーソルキーを操作する。なお、方向を２つ組み合わせ、上下左右の他に右斜め上、左斜め上、右斜め下及び左斜め下の方向も指示できるようにしてもよい。
【００８６】
要素間の相対的位置関係は、Ｗｅｂページ読み込み時、要素情報設定部１２１がコンテンツ情報１１１を解析し、相対位置情報１１３に登録しておく。相対的な位置情報は、ＤＯＭ要素としてコンテンツ情報１１１に格納されている各要素の位置情報を取得し、要素と要素の横方向及び縦方向の重なりと、要素間の距離をともに求める。要素間の距離は、要素に近い頂点間の距離、または、要素の重心間の距離とする。フォーカス設定部１２３は、イベント情報として取得したカーソルによって指示されるフォーカス方向と、相対位置情報１１３と、表示スタイル情報１１４の現在のフォーカス位置と、に基づいて、フォーカスの移動先を算出する。例を挙げて説明する。
【００８７】
図１５は、移動方向を指定したフォーカス移動指示におけるフォーカス移動例を示した図である。
画面２８０は、項目１（２８１ａ）から項目１６（２８１ｅ）までの各要素が配置されている。要素情報設定部１２１では、コンテンツ情報１１１を解析して項目１（２８１ａ）から項目１６（２８１ｅ）までの各要素間の相対的な位置関係を算出する。相対的な位置関係とは、任意の要素を中心として、他の要素が任意の要素のどちらの方向にあるかを示す情報である。例えば、項目１（２８１ａ）を例にとると、位置情報に基づいて、他の要素との横方向と縦方向の重なり具合を算出する。図１５の例では、項目５（２８１ｃ）と、項目９及び項目１３とは、横方向が重なる。そして、横方向が重なる項目のうち、最も距離の近い項目５（２８１ｃ）を下方向の要素として特定する。同様に、項目２（２８１ｂ）と、項目３及び項目４とは、縦方向が重なる。縦方向が重なる項目のうち、最も距離の近い項目２（２８１ｂ）を右方向の要素として特定する。特定された要素は、相対位置情報１１３に登録しておく。例えば、項目１（２８１ａ）については、下方向が「項目５」、右方向が「項目２」、右斜め下方向が「項目６」、それ以外の方向は「なし」と、登録される。
【００８８】
ここで、初期状態として、先頭の項目１（２８１ａ）にフォーカス２８３が当たっていたとする。ユーザは、フォーカスを移動させたい方向を、カーソルキーを操作して指示する。操作を入力したイベント制御部１３０は、操作されたカーソルの方向を通知するイベント情報を画面制御部１２０へ出力する。画面制御部１２０では、フォーカス設定部１２３が、イベント情報と、相対位置情報１１３と、に基づいてフォーカスの移動先を算出する。例えば、右方向のカーソルキー操作２８２ａが行われたとき、フォーカス設定部１２３は、フォーカス２８３を右方向、すなわち、項目１（２８１ａ）から項目２（２８１ｂ）へ移動する。下方向のカーソルキー操作２８２ｂが行われたとき、フォーカス設定部１２３は、フォーカス２８３を下方向、すなわち、項目（２８１ａ）から項目５（２８１ｃ）に移動する。そして、下方向と右方向とを同時に操作するキー操作２８２ｃが行われたとき、フォーカス設定部１２３は、フォーカス２８３を斜め右下方向の項目６（２８１ｄ）に移動する。
【００８９】
要素間の位置関係は、Ｗｅｂページのコンテンツ情報を読み込んだときに、要素情報設定部１２１が検出し、相対位置情報１１３に登録しておく。フォーカス設定部１２３では、相対位置情報１１３に基づいて、カーソルに指示された方向の要素を特定する。
【００９０】
ここで、要素情報設定部１２１が作成する相対位置情報１１３について説明する。
図１６は、要素間の相対位置関係の一例を示した図である。
要素（Ａ）３０１、要素（Ｂ）３０２、要素（Ｃ）３０３及び要素（Ｄ）３０４がそれぞれ図面上の所定の位置に配置されている。それぞれの位置座標は、コンテンツ情報１１１に定義されている。それぞれ横方向をＸ座標、縦方向をＹ座標として表している。
【００９１】
要素（Ａ）３０１のＸ座標の最小値はＸａ１、最大値はＸａ２とし、Ｙ座標の最小値はＹａ１、最大値はＹａ２とする。同様に、要素（Ｂ）３０２のＸ座標の最小−最大は、Ｘｂ１−Ｘｂ２、Ｙ座標の最小−最大はＹｂ１−Ｙｂ２とし、要素（Ｃ）３０３のＸ座標の最小−最大は、Ｘｃ１−Ｘｃ２、Ｙ座標の最小−最大はＹｃ１−Ｙｃ２とし、要素（Ｄ）３０４のＸ座標の最小−最大は、Ｘｄ１−Ｘｄ２、Ｙ座標の最小−最大はＹｄ１−Ｙｄ２とする。
【００９２】
ここで、要素（Ａ）３０１に対する相対方向を考える。ここでの相対方向は、カーソルの上下左右と、それを組み合わせた方向として、上下左右、右斜め上、右斜め下、左斜め上、左斜め下の８方向とする。
【００９３】
左方向にある要素とは、Ｙ座標の範囲が重なり、かつＸ座標が要素（Ａ）３０１のＸａ１より小さい要素である。すなわち、Ｘａ１≧Ｘ座標の最大値、かつ、Ｙａ１≦Ｙ座標の最小値または最大値≦Ｙａ２を満たす要素である。図１６の例では、Ｙａ１＜Ｙｂ１＜Ｙａ２であり、かつ、Ｘａ１＞Ｘｂ２である要素（Ｂ）３０２が要素（Ａ）３０１の左方向に位置すると検出される。
【００９４】
右方向にある要素とは、Ｙ座標の範囲が重なり、かつＸ座標が要素（Ａ）３０１のＸａ２より大きい要素である。すなわち、Ｘａ２≦Ｘ座標の最小値、かつ、Ｙａ１≦Ｙ座標の最小値または最大値≦Ｙａ２を満たす要素である。
【００９５】
上方向にある要素とは、Ｘ座標の範囲が重なり、かつＹ座標が要素（Ａ）３０１のＹａ２より大きい要素である。すなわち、Ｙａ２≦Ｙ座標の最小値、かつ、Ｘａ１≦Ｘ座標の最小値または最大値≦Ｘａ２を満たす要素である。図１６の例では、Ｘａ１＜Ｘｃ１＜Ｘａ２であり、かつ、Ｙａ２＜Ｙｃ１である要素（Ｃ）３０３が要素（Ａ）３０１の上方向に位置すると検出される。
【００９６】
下方向にある要素とは、Ｘ座標の範囲が重なり、かつＹ座標が要素（Ａ）３０１のＹａ１より小さい要素である。すなわち、Ｙａ１≧Ｙ座標の最大値、かつ、Ｘａ１≦Ｘ座標の最小値または最大値≦Ｘａ２を満たす要素である。
【００９７】
右斜め下方向にある要素とは、Ｘ座標の範囲もＹ座標の範囲も重ならず、かつＹ座標が要素（Ａ）３０１のＹａ１より小さく、かつ、Ｘ座標が要素（Ａ）３０１のＸａ２より大きい要素である。すなわち、Ｘａ２≦Ｘ座標の最小値、かつ、Ｙａ１≧Ｙ座標の最大値を満たす要素である。図１６の例では、Ｘａ２＜Ｘｄ１、かつ、Ｙａ１＞Ｙｄ２である要素（Ｄ）３０４が要素（Ａ）３０１の右斜め下方向に位置すると検出される。
【００９８】
以下、同様にして右斜め上方向にある要素は、Ｘａ２≦Ｘ座標の最小値、かつ、Ｙａ２≦Ｙ座標の最小値を満たす要素である。左斜め下方向にある要素は、Ｘａ１≧Ｘ座標の最大値、かつ、Ｙａ１≧Ｙ座標の最大値を満たす要素である。そして、左斜め上方向にある要素は、Ｘａ１≧Ｘ座標の最大値、かつ、Ｙａ２≦Ｙ座標の最小値を満たす要素である。
【００９９】
要素情報設定部１２１は、それぞれの要素と、要素（Ａ）３０１との重心間距離を算出し、算出した重心間距離を各要素の相対方向ごとに分類する。そして、全要素について重心間距離を算出し、相対方向ごとに最も距離の短い要素を選択する。図１６の例では、要素情報設定部１２１は、要素（Ａ）３０１について、左方向には要素（Ｂ）３０２、上方向には要素（Ｃ）３０３、右斜め下方向には要素（Ｄ）３０４を選択し、相対位置情報１１３に登録する。相対位置情報１１３には、要素（Ａ）３０１に関連付けて、それぞれの相対方向について選択された要素のｉｄと、重心間距離とを設定する。
【０１００】
図１７は、移動方向が指示されたときのフォーカス移動の他の例を示した図である。（Ａ）は、フォーカス移動先指示画面Ａ、（Ｂ）はフォーカス移動先指示画面Ｂを示している。
【０１０１】
（Ａ）の画面Ａ（２９０ａ）では、フォーカスは、項目５（２９３ａ）に設定されている。この状態で下方向のカーソルキーが操作された（２９２ａ）とする。この場合、下方向に最も近い要素として、相対位置情報１１３から項目７（２９４ａ）を抽出し、フォーカスを項目７（２９４ａ）に移動する。なお、要素情報設定部１２１では、項目７（２９４ａ）と、項目８（２９５ａ）とを下方向の要素の候補として抽出する。そして、対象の項目５（２９３ａ）からの距離を算出し、距離が短い方を選択する。なお、距離も同じときは、予めどちらを優先するかを定義しておき、定義に従って一方を選択する。例えば、同じ項目であれば、ｉｄの若い方を選択する、違う項目であれば優先項目を選択するなどのルールを定義しておく。ここでは、ｉｄの若い方を選択するとして、項目７（２９４ａ）を下方向の要素に設定する。
【０１０２】
また、（Ｂ）の画面Ｂ（２９０ｂ）では、フォーカスが当たっている項目５（２９３ｂ）に対し、上下左右の項目を特定し、特定された項目を強調表示している。具体的には、対象の項目５（２９３ｂ）の上方向には項目２（２９７ｂ）、左方向には項目４（２９６ｂ）、右方向には項目６（２９８ｂ）、そして下方向には項目７（２９４ｂ）を選択し、強調表示している。これにより、ユーザは、カーソルを操作したとき、項目５（２９３ｂ）のフォーカスがどこに移動するのかを容易に知ることができる。
【０１０３】
なお、強調表示は常に表示しておいてもよいが、コンテンツの表示に影響することも考慮して、フォーカス移動直後に一定時間だけ強調表示する。この場合の表示時間は、別途定義するとしてもよい。
【０１０４】
また、情報処理装置１００では、スタイル設定部１２２によって注目要素の拡大と周囲の要素の縮小を行って表示スタイルを変更する処理が行われる。この表示スタイルの変更により要素間の位置関係が変わってしまう場合がある。このとき、初期化処理で生成した相対位置情報１１３を用いてフォーカス移動先を決定すると、画面を見ているユーザにとって予期しない位置にフォーカスが移動してしまうことが想定される。そこで、フォーカス移動の前に相対位置を再度算出し、現在の画面における相対位置情報１１３を生成する。そして、この相対位置情報１１３に基づいて、フォーカス移動先を決定する。
【０１０５】
このように、情報処理装置１００によれば、フォーカス移動のためのキーボード３０１の操作を簡便にすることが可能となる。キーボード３０１を操作するフォーカス移動は、マウス３０２による操作と比べてフォーカス移動の自由度が低いが、キーボード３０１を操作しながらマウス３０２を操作するのは煩雑なため、キーボード３０１の操作でフォーカス移動を行うケースも多い。情報処理装置１００は、キーボード３０１を用いたフォーカス移動の操作を容易にし、ユーザの利便性を高めることができる。
【０１０６】
ところで、フォーカス設定部１２３によるフォーカス移動では、フォーカスの移動先によっては、画面上に表示しきれない要素に対してフォーカスが移動する場合がある。このような場合、ユーザからはフォーカスの移動先を確認することができず、フォーカス位置を見失うという問題が生じる可能性がある。
【０１０７】
そこで、フォーカス設定部１２３は、ブラウザ１４０が描画を行う描画領域のサイズを取得しておき、フォーカス移動対象がこのブラウザ１４０の範囲外にあるかどうかを判定する。要素が完全に確認できるまで強制的にスクロールを発生し、フォーカスの移動先が画面上で確認できるようにする。
【０１０８】
（４）要素生成（コンテンツの要素関連付け）処理
要素生成処理は、コンテンツ作成者が、コンテンツ作成処理を開始したときに起動し、コンテンツ情報の要素に関する登録処理を行う。
【０１０９】
各要素の登録処理では、例えば、要素登録画面を操作して各要素について要素の内容、表示形式（テキスト文字列、チェックボックス、ラジオボタン、コンボボックス、テキストエリアなど）、及び配置などに関する登録を行う。このとき、要素登録画面の処理選択項目に、「要素関連付け」を付加し、関連する要素が定義できるようにする。要素生成部１５０では、ユーザが関連付けを指定した要素のコンテンツ情報に、関連情報（ｒｅｌａｔｉｏｎオブジェクト）を設定する。例えば、図６に示したような画面２１０を作成するときに、ユーザによって項目１（２１１ａ）と、コンボボックス２１１ｂと、コンボボックス２１１ｃとが関連するという指定がされる。要素生成部１５０では、指定に基づいて、コンテンツ情報１１１にＲｅｌａｔｉｏｎオブジェクトを付加する。
【０１１０】
次に、上記の情報処理装置１００における表示制御方法の処理手順について、フローチャートを用いて説明する。
まず、表示制御処理全体の手順について説明する。
【０１１１】
図１８は、表示制御処理全体の手順を示したフローチャートである。
コンテンツの表示要求が入力されると、画面制御部１２０は処理を開始する。
［ステップＳ０１］  画面制御部１２０は、要素情報設定部１２１によって記憶部１１０に格納されるコンテンツ情報１１１を解析し、関連要素情報１１２を生成する関連要素情報設定処理と、を行う。関連要素情報設定処理の詳細は後述する。
【０１１２】
［ステップＳ０２］  画面制御部１２０は、要素情報設定部１２１によってコンテンツ情報１１１を解析し、各要素間の相対位置関係を算出し、相対位置情報１１３に設定する相対位置情報設定処理を行う。また、表示スタイル情報１１４も生成し、記憶部に格納する。
【０１１３】
［ステップＳ０３］  ブラウザ１４０は、コンテンツ情報１１１に基づいて画面をモニタ２００に表示する。
［ステップＳ０４］  イベント制御部１３０からイベントを取得したかどうかを判定する。イベント制御部１３０は、ユーザがキーボード３０１及びマウス３０２を操作して入力した指示に応じたイベント情報を生成し、画面制御部１２０に通知する。イベント情報を取得したときは、処理をステップＳ０５に進める。イベント情報を取得していないときは、イベント情報を取得するまで待つ。
【０１１４】
［ステップＳ０５］  イベント情報を取得したときは、取得したイベント情報がＷｅｂページを閉じる終了指示であるかどうかを確認する。終了指示であれば、処理を終了する。終了指示でなければ、処理をステップＳ０６に進める。
【０１１５】
［ステップＳ０６］  イベント情報を取得したときは、取得したイベント情報がスタイル設定であるかどうかを判定する。スタイル設定処理であれば、処理をステップＳ０７に進める。スタイル設定処理でなければ、処理をステップＳ０８に進める。
【０１１６】
［ステップＳ０７］  イベント情報がスタイル設定処理の要求であるときは、表示されている要素の拡大表示または縮小表示を設定するスタイル設定処理を行い、処理をステップＳ０４に戻す。スタイル設定処理の詳細は後述する。
【０１１７】
［ステップＳ０８］  イベント情報がスタイル設定処理の要求ではないときは、フォーカスを移動させるフォーカス設定処理を行い、処理をステップＳ０４に戻す。フォーカス設定処理の詳細は後述する。
【０１１８】
関連要素情報設定処理（ステップＳ０１）について詳細に説明する。図１９は、関連要素情報設定処理の手順を示したフローチャートである。
［ステップＳ１１］  要素情報設定部１２１は、外部定義ファイルなどで指定される拡大倍率を取得し、表示スタイル情報１１４に格納する。
【０１１９】
［ステップＳ１２］  要素情報設定部１２１は、取得したコンテンツ情報１１１に含まれるタグの解析を開始する。タグには、要素の識別情報に関連付けて要素の内容や、データ形式、関連する要素情報などの情報が定義されている。
【０１２０】
［ステップＳ１３］  ステップＳ１２のタグの解析によって、新たな要素が検出できたかどうかを判定する。要素が検出できたときは、処理をステップＳ１４に進める。要素が検出できなかったときは、処理を終了する。
【０１２１】
［ステップＳ１４］  要素情報設定部１２１は、要素が検出できたときは、タグから要素のｉｄ（ｉｄプロパティの値）を抽出する。例えば、図６のコンテンツ情報１１１０のタグから要素のｒｃｆ：ｉｄの値を抽出する。
【０１２２】
［ステップＳ１５］  要素情報設定部１２１は、タグから要素の関連性（ｒｅｌａｔｉｏｎプロパティの値）を抽出する。例えば、図６のコンテンツ情報１１１０のステップＳ１４と同じ要素のタグから、ｒｃｆ：ｒｅｌａｔｉｏｎの値を抽出する。
【０１２３】
［ステップＳ１６］  要素情報設定部１２１は、ステップＳ１４で抽出した要素のｉｄプロパティを用いてＲｅｌａｔｉｏｎオブジェクトを作成する。
［ステップＳ１７］  要素情報設定部１２１は、ステップＳ１６で作成したＲｅｌａｔｉｏｎオブジェクトに、関連性データを追加する。ステップＳ１５で抽出したｒｅｌａｔｉｏｎプロパティに基づいてＲｅｌａｔｉｏｎオブジェクトに、関連要素のデータを追加する。
【０１２４】
［ステップＳ１８］  要素情報設定部１２１は、ＲｅｌａｔｉｏｎＭａｎａｇｅｒオブジェクトに、ステップＳ１６及びステップＳ１７で作成したＲｅｌａｔｉｏｎオブジェクトを登録する。そして、処理をステップＳ１３に戻し、次の対象要素の検出からの処理を行う。
【０１２５】
以上の処理手順が実行されることにより、コンテンツ情報１１１に基づいて、関連する要素をまとめた関連要素群に関する関連要素情報１１２が作成される。例えば、生成したＲｅｌａｔｉｏｎオブジェクトは、図８の関連性を定義するクラス１１２２に設定する。ＲｅｌａｔｉｏｎＭａｎａｇｅｒオブジェクトは、図７のコンテンツ全体の関連性を管理するクラス１１２１に設定する。
【０１２６】
続いて、図１８に示した相対位置情報設定処理（ステップＳ０２）について詳細に説明する。
図２０は、相対位置情報設定処理の手順を示したフローチャートである。
【０１２７】
なお、相対位置情報設定処理は、Ｗｅｂページを読み込んだ後の初期化時と、要素の表示サイズ変更によって画面のレイアウトを変更した時と、に実行する。
［ステップＳ２１］  要素情報設定部１２１は、現在フォーカスがある要素（Ａ）を表示する位置を示す座標を取得する。
【０１２８】
［ステップＳ２２］  要素情報設定部１２１は、コンテンツ情報１１１に記述される要素を先頭から順に走査する。
［ステップＳ２３］  要素情報設定部１２１は、ステップＳ２２のコンテンツ情報１１１の走査によって、要素が検出できたかどうかを判定する。要素が検出できたときは、処理をステップＳ２４に進める。要素が検出できなかったときは、処理をステップＳ２８に進める。
【０１２９】
［ステップＳ２４］  要素情報設定部１２１は、要素が検出できたときは、その要素が要素（Ａ）以外の要素であるかどうかを判定する。要素（Ａ）以外であれば、処理をステップＳ２５に進める。要素（Ａ）であれば、ステップＳ２３に戻って、次の要素を検出する。
【０１３０】
［ステップＳ２５］  要素情報設定部１２１は、検出できた要素が要素（Ａ）以外であれば、検出した要素を要素（Ｂ）とし、コンテンツ情報１１１に基づいて要素（Ｂ）を表示する位置を示す座標を取得する。
【０１３１】
［ステップＳ２６］  要素情報設定部１２１は、ステップＳ２１で取得した要素（Ａ）の座標と、ステップＳ２５で取得した要素（Ｂ）の座標とを照合し、要素（Ａ）に対して要素（Ｂ）がどの方向にあるかを特定する。方向の特定には、図１６に示した検出方法を用いる。次に、要素（Ａ）と要素（Ｂ）との間の重心間距離を算出する。そして、要素（Ｂ）のｉｄと、算出した重心間距離とからオブジェクト（Ｃ）を生成する。
【０１３２】
［ステップＳ２７］  要素情報設定部１２１は、ステップＳ２６で生成されたオブジェクト（Ｃ）を、ステップＳ２６で検出された検出方向の配列（Ｄ）に格納する。その後、ステップＳ２３に戻って、次の要素を検出する処理からの手順を行う。
【０１３３】
［ステップＳ２８］  要素情報設定部１２１は、対象の要素が検出できないときは、全要素についての処理が終了したと判断する。ここまでの処理で、配列（Ｄ）には、８つの検出方向ごとに、その方向に位置する要素のｉｄと、重心間距離とが登録されているオブジェクトが格納される。そこで、各方向の配列（Ｄ）を解析し、方向ごとに最も重心間距離が小さい要素を特定する。結果は、相対位置情報１１３に登録する。
【０１３４】
以上の処理手順が実行されることにより、現在フォーカスがある要素（Ａ）について、各方向の一番近い要素が特定され、相対位置情報１１３に登録される。なお、初期化における相対位置情報設定処理では、全要素に対してフォーカスを順次設定し、それぞれの要素に対する方向ごとに最も近い要素を検出し、相対位置情報１１３に登録する。また、要素が画面上の端に存在する場合など、すべての方向について要素が検出されるわけではない。要素が検出できなかったときは、その方向には要素はないと判定する。
【０１３５】
次に、図１８に示したスタイル設定処理（ステップＳ０７）について詳細に説明する。図２１は、スタイル設定処理の手順を示したフローチャートである。
スタイル設定処理は、ユーザがキーボード３０１またはマウス３０２を操作して、任意の要素の拡大または縮小指示を行ったときに、処理を実行する。ここでは、注目要素について、表示を拡大する指示が入力されたとして説明する。また、注目要素、関連要素及び周辺要素はテキスト文字列であり、フォントサイズにより表示サイズが決定されるとする。
【０１３６】
［ステップＳ７１］  スタイル設定部１２２は、イベント設定部１３３から取得したイベント情報に基づいて、拡大対象の注目要素を特定する。そして、その注目要素と、注目要素の関連要素の表示サイズを決定する関連要素の表示サイズ決定処理を行う。関連要素の表示サイズ決定処理によって、注目要素及び関連要素の表示サイズは拡大する。処理の詳細は後述する。
【０１３７】
［ステップＳ７２］  スタイル設定部１２２は、ステップＳ７１で関連要素に選択されなかった非関連要素の表示サイズを決定する非関連要素の表示サイズ決定処理を行う。非関連要素の表示サイズ決定処理によって、非関連要素の表示サイズは縮小する。処理の詳細は後述する。
【０１３８】
［ステップＳ７３］  スタイル設定部１２２は、ステップＳ７１で算出された関連要素の表示サイズと、ステップＳ７２で算出された非関連要素の表示サイズとを表示したときに、レイアウト崩れが発生しないように表示サイズを調整する表示サイズ修正処理を行う。処理の詳細は後述する。
【０１３９】
［ステップＳ７４］  ステップＳ７３で修正された表示サイズに基づいて、表示サイズ変更後の画面をモニタ２００に表示する。モニタ２００には、注目要素とその関連要素とが拡大され、その他の非関連要素が縮小される画面が表示される。
【０１４０】
続いて、各処理手順について説明する。
図２２は、関連要素の表示サイズ決定処理の手順を示したフローチャートである。
［ステップＳ７１１］  スタイル設定部１２２は、画面上でフォーカスが当たっているまたはポインタによってポイントされている注目要素を特定する。そして、コンテンツ情報１１１から注目要素のオブジェクト情報を取得し、表示スタイル情報１１４から注目要素の表示スタイルを取得する。
【０１４１】
［ステップＳ７１２］  ステップＳ７１１において取得した注目要素の表示スタイルからフォントサイズを取得する。このフォントサイズが現在画面に表示されているフォントの表示サイズになっている。
【０１４２】
［ステップＳ７１３］  スタイル設定部１２２は、拡大倍率を表示スタイル情報１１４から読み出す。また、外部定義ファイルやコンテンツ情報１１１から直接読み出すとしてもよい。
【０１４３】
［ステップＳ７１４］  スタイル設定部１２２は、ステップＳ７１２で取得した現在のフォントサイズに対し、ステップＳ７１３で取得した拡大倍率を乗算し、新たなフォントサイズを算出する。なお、設定可能なフォントサイズが予め決まっているときは、算出した新たなフォントサイズに近いフォントサイズを選択する。
【０１４４】
［ステップＳ７１５］  ステップＳ７１４で選択した新たなフォントサイズを、新フォントサイズとして設定する。新フォントサイズは、表示用の仮フォントサイズとして、表示スタイル情報１１４に格納する。
【０１４５】
［ステップＳ７１６］  スタイル設定部１２２は、未処理の関連要素があるかどうかを判定する。関連する要素の有無の判定は、関連要素情報１１２を参照して行う。未処理の関連要素があるときは、ステップＳ７１２に戻って、その関連要素のフォントサイズを変更する処理を行う。未処理の関連要素がないときは、処理を終了する。
【０１４６】
以上の処理手順が実行されることにより、注目要素と、その関連要素について、表示サイズを大きくした新フォントサイズが設定される。
図２３は、非関連要素の表示サイズ決定処理の手順を示したフローチャートである。
【０１４７】
［ステップＳ７２１］  スタイル設定部１２２は、関連要素の表示サイズ決定処理（ステップＳ７１）で表示サイズを拡大した関連要素の重心座標を取得する。なお、ここでは、関連要素をまとめた関連要素群全体の重心座標を取得する。もちろん、複数の関連要素がある場合に、任意の関連要素を選択して重心座標を取得するとしてもよい。この関連要素の重心座標を重心座標（ａ）とする。
【０１４８】
［ステップＳ７２２］  スタイル設定部１２２は、非関連要素、すなわち、関連要素の表示サイズ決定処理（ステップＳ７１）で関連要素に選択されなかった要素に重心座標を取得する。この重心座標を重心座標（ｂ）とする。
【０１４９】
［ステップＳ７２３］  スタイル設定部１２２は、関連要素の重心座標（ａ）と、非関連要素の重心座標（ｂ）との距離（ｃ）を算出する。
［ステップＳ７２４］  スタイル設定部１２２は、重心座標（ｂ）を算出した非関連要素について、縮小後の新フォントサイズを計算する。例えば、新フォントサイズを、
新フォントサイズ＝（１／拡大倍率）×（１／√Ｃ）              ・・・（１）
によって算出する。
【０１５０】
［ステップＳ７２５］  スタイル設定部１２２は、ステップＳ７２４で算出した非関連要素の新フォントサイズを、表示用の仮フォントサイズとして、非関連要素に関連付けて表示スタイル情報１１４に格納する。
【０１５１】
［ステップＳ７２６］  スタイル設定部１２２は、他に表示サイズを変更していない非関連要素があるかどうかを判定する。非関連要素があるときは、処理をステップＳ７２２に戻し、この非関連要素の新フォントサイズを設定する。非関連要素がないときは、処理を終了する。
【０１５２】
以上の処理手順が実行されることにより、非関連要素について、表示サイズを小さくした新フォントサイズが設定される。新フォントサイズは、関連要素からの距離が遠くなるほど小さくなる。なお、上記の処理手順では、個別の非関連要素の重心と、関連要素の重心との間の距離に応じて縮小するとしたが、非関連要素をグループ化し、グループ単位で表示サイズの変更を行うとしてもよい。
【０１５３】
図２４は、表示サイズ修正処理の手順を示したフローチャートである。
要素ごとに以下の手順を実行する。
［ステップＳ７３１］  スタイル設定部１２２は、旧フォントサイズで表示したときの要素の高さを取得する。
【０１５４】
［ステップＳ７３２］  スタイル設定部１２２は、旧フォントサイズで表示したときのテキストの行数を計算する。例えば、スタイルに設定されている行間や文字間の空きなどのマージンが０であれば、要素の高さ÷旧フォントサイズにより行数を算出することができる。算出された旧フォントサイズのときの行数を行数（Ａ）とする。
【０１５５】
［ステップＳ７３３］  スタイル設定部１２２は、表示スタイル情報１１４に設定されている関連要素の表示サイズ決定処理（ステップＳ７１）または非関連要素の表示サイズ決定処理（ステップＳ７２）で設定された新フォントサイズをスタイルに適用する。
【０１５６】
［ステップＳ７３４］  スタイル設定部１２２は、スタイルに新フォントサイズを適用したときの要素の高さを取得する。
［ステップＳ７３５］  スタイル設定部１２２は、新フォントサイズで表示したときのテキストの行数を計算する。例えば、マージンが０であれば、要素の高さ÷新フォントサイズにより行数を算出することができる。算出された新フォントサイズのときの行数を行数（Ｂ）とする。
【０１５７】
［ステップＳ７３６］  スタイル設定部１２２は、ステップＳ７３２で算出した旧フォントサイズのときの行数（Ａ）が、ステップＳ７３５で算出した新フォントサイズのときの行数（Ｂ）よりも１行以上大きいかどうかを判定する。具体的には、Ａ−Ｂが１以上であるかどうかを判定する。Ａ−Ｂが１以上であれば、新フォントサイズで行数が減少したと判定し、処理をステップＳ７３７に進める。Ａ−Ｂが１以上でなければ、処理をステップＳ７３８に進める。
【０１５８】
［ステップＳ７３７］  Ａ−Ｂ≧１が成立し、新フォントサイズにより表示される行数が１行以上減ったことを検出されたときは、新フォントサイズを１段階大きくし、処理をステップＳ７３３に戻す。
【０１５９】
［ステップＳ７３８］  Ａ−Ｂ≧１が成立しなかったときは、新フォントサイズの行数（Ｂ）が旧フォントサイズの行数（Ａ）よりも１行以上大きいかどうかを判定する。具体的には、Ｂ−Ａが１以上であるかどうかを判定する。Ｂ−Ａが１以上であれば、新フォントサイズで行数が増大したと判定し、処理をステップＳ７３９に進める。Ｂ−Ａが１以上でなければ、行数の増減なしとして処理を終了する。
【０１６０】
［ステップＳ７３９］  Ｂ−Ａ≧１が成立し、新フォントサイズにより表示される行数が１行以上増えたことを検出されたときは、新フォントサイズを１段階小さくし、処理をステップＳ７３３に戻す。
【０１６１】
以上の処理手順が実行されることにより、新フォントサイズによって行数が増えたり減少したりするレイアウト崩れが発生したとき、旧フォントサイズでの表示行数と同じになるように、新フォントサイズを調整する。これにより、視認性の高い見やすい画面を提供することができる。
【０１６２】
次に、図１８に示したフォーカス設定処理（ステップＳ０８）について詳細に説明する。ここでは、フォーカス移動の指示として、数値キーとタブキーを操作して移動量を指定した場合、予め任意のキーのプロパティに移動量を定義しておいた場合、及びカーソルキーで移動方向を指示した場合、の３つのケースについて説明する。それぞれの操作キーとフォーカス移動手順は、フォーカス設定情報１１５に登録しておく。
【０１６３】
第１は、ユーザが数値キーとタブキーを操作して移動量を指定する場合である。なお、以下のフローチャートでは、予めフォーカス移動手順がプログラムに組み込まれているとしている。
【０１６４】
図２５は、移動量を指定したフォーカス移動処理の手順を示したフローチャートである。
［ステップＳ８０１］  フォーカス設定部１２３は、イベント情報に基づき、数値キーが検知されたかどうかを判定する。数値キーが検知されたときは、処理をステップＳ８０２に進める。数値キーが検知されないときは、処理を終了する。
【０１６５】
［ステップＳ８０２］  フォーカス設定部１２３は、数値キーが検知されたときは、さらにタブキーが検知されたかどうかを判定する。タブキーが検知されたときは、処理をステップＳ８０３に進める。タブキーが検知されないときは、処理を終了する。
【０１６６】
［ステップＳ８０３］  フォーカス設定部１２３は、フォーカス移動先を特定する。ここでは、フォーカス移動先の特定情報として、ステップＳ８０１で取得した数値キーに対応する値をフォーカス回数として設定する。
【０１６７】
［ステップＳ８０４］  フォーカス設定部１２３は、現在のフォーカス位置から、タブキーを１回操作したときのフォーカス移動量分フォーカスを移動させる。
［ステップＳ８０５］  フォーカス設定部１２３は、ステップＳ８０４によってステップＳ８０３で設定されたフォーカス回数分移動したかどうかを判定する。フォーカス回数分、フォーカスを移動していないと判定したときは、処理をステップＳ８０４に戻す。フォーカス回数分、移動したと判定したときは、処理をステップＳ８０６に進める。
【０１６８】
［ステップＳ８０６］  フォーカス設定部１２３は、フォーカスをフォーカス移動先に移動させたので、必要に応じて画面領域範囲内にフォーカス移動先を移動させるスクロール処理を行う。スクロール処理の詳細は後述する。
【０１６９】
このような処理手順が実行されることによって、数値キーによって指定されたフォーカス回数分、タブキーに応じたフォーカス移動が繰り返し行われ、指示されたフォーカス移動先へフォーカスが移動する。
【０１７０】
第２は、移動方法として、予めタブキーのプロパティに移動量が設定されていたときに、ユーザがタブキーを操作した場合である。
図２６は、移動方法を指定したフォーカス移動処理の手順を示したフローチャートである。
【０１７１】
［ステップＳ８１１］  フォーカス設定部１２３は、イベント情報に基づき、タブキーが検知されたかどうかを判定する。タブキーが検知されたときは、処理をステップＳ８１２に進める。タブキーが検知されないときは、処理を終了する。
【０１７２】
［ステップＳ８１２］  フォーカス設定部１２３は、タブキーが検知されたときは、さらに数値キーが検知されたかどうかを判定する。数値キーが検知されたときは、処理をステップＳ８１４に進める。数値キー以外が検知されたときは、処理をステップＳ８１３に進める。
【０１７３】
［ステップＳ８１３］  数値キー以外が検知されたときは、予めキー操作とフォーカス移動との対応関係を定義したフォーカス設定情報１１５を検索し、該当するフォーカス設定を読み込む。
【０１７４】
［ステップＳ８１４］  フォーカス設定部１２３は、フォーカス移動先を特定する。ステップＳ８１２で数値キーが検知されたときは、タブキーに設定されている移動量に数値キーの数値を乗算し、フォーカス移動先要素を特定する。数値キー以外が検知されたときは、読み込んだフォーカス設定情報１１５に基づいて移動先要素を特定する。
【０１７５】
［ステップＳ８１５］  フォーカス設定部１２３は、現在のフォーカス位置から、ステップＳ８１４で特定されたフォーカス移動先にフォーカスを移動させる。
［ステップＳ８１６］  フォーカス設定部１２３は、フォーカスをフォーカス移動先に移動させたので、必要に応じて画面領域範囲内にフォーカス移動先を移動させるスクロール処理を行う。スクロール処理の詳細は後述する。
【０１７６】
このような処理手順が実行されることにより、予めプロパティに設定されているフォーカス移動方法に基づいてフォーカス移動先が特定され、特定されたフォーカス移動先へフォーカスが移動する。
【０１７７】
第３は、ユーザがカーソルキーを操作してフォーカス移動の方向を指定する場合である。図２７は、移動方向を指定したフォーカス移動処理の手順を示したフローチャートである。
【０１７８】
［ステップＳ８２１］  フォーカス設定部１２３は、イベント情報に基づき、カーソルキーが検知されたかどうかを判定する。カーソルキーが検知されたときは、処理をステップＳ８２２に進める。カーソルキーが検知されないときは、処理を終了する。
【０１７９】
［ステップＳ８２２］  フォーカス設定部１２３は、カーソルキーが検知されたときは、カーソルキーに基づいてフォーカスを移動させるフォーカス移動先要素を特定する。ここでは、現在のフォーカス位置と、現在フォーカスが当たっている要素の相対位置情報１１３とに基づき、カーソルキーで指示された方向にある要素を特定する。なお、表示サイズが変更になって、要素間の位置関係が変わったときは、相対位置設定処理を行って、相対位置情報１１３を現在の状況に合わせて更新してから、フォーカス移動先要素の特定処理を行う。処理時間短縮のため、このとき実行する相対位置設定処理は、現在フォーカスが当たっている要素についてのみ行うとしてもよい。
【０１８０】
［ステップＳ８２３］  フォーカス設定部１２３は、現在のフォーカス位置から、ステップＳ８２２で特定されたフォーカス移動先にフォーカスを移動させる。
［ステップＳ８２４］  フォーカス設定部１２３は、フォーカスをフォーカス移動先に移動させたので、必要に応じて画面領域範囲内にフォーカス移動先を移動させるスクロール処理を行う。スクロール処理の詳細は後述する。
【０１８１】
このような処理手順が実行されることにより、カーソルキーによって指定された方向にフォーカスが移動する。
スクロール処理手順について説明する。フォーカス移動を行うと、フォーカスの移動先が画面の描画領域範囲を超えてしまう場合がある。フォーカス設定部１２３は、このような状況になったことを検出すると、フォーカス移動先が表示されるように画面のスクロールを行う。
【０１８２】
図２８は、フォーカス移動先を描画領域内にスクロールする処理手順を示したフローチャートである。
［ステップＳ８３１］  フォーカス設定部１２３は、コンテンツ情報１１１と、現在の表示画面とに基づいて、ブラウザの描画領域を取得する。
【０１８３】
［ステップＳ８３２］  フォーカス設定部１２３は、図２５〜図２７に示したフォーカス移動処理によって決定されたフォーカス移動先であり、現在フォーカスが当たっている要素（Ａ）の座標を取得する。
【０１８４】
［ステップＳ８３３］  フォーカス設定部１２３は、ステップＳ８３２で取得した要素（Ａ）の座標と、ステップＳ８３１で取得したブラウザの描画領域とを照合する。そして、要素（Ａ）がブラウザの描画領域範囲外であるかどうかを判定する。描画領域範囲外であれば、処理をステップＳ８３４に進める。描画領域範囲内であれば、処理を終了する。
【０１８５】
［ステップＳ８３４］  フォーカス設定部１２３は、要素（Ａ）が描画領域範囲外であるときは、要素（Ａ）が描画領域範囲内になるように画面をスクロールし、処理を終了する。
【０１８６】
以上の処理手順が実行されることにより、フォーカス移動先の要素が画面に表示されるようになる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【０１８７】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１８８】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１８９】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  表示装置の画面に画像を表示する表示制御プログラムにおいて、
コンピュータを、
画面を構成する各要素の表示サイズを含む表示スタイルを定義するスタイル定義情報と、前記要素に関係付けられた関連要素を定義する関連要素定義情報と、を有する定義情報を解析し、前記関連要素定義情報によって互いに関連付けられた前記要素を関連要素群にまとめ、前記関連要素群に関する関連要素情報を生成して記憶手段に格納する関連要素情報設定手段、
前記表示装置に表示した画面上の要素から選択された注目要素について拡大指示または縮小指示を取得したときは、前記記憶手段に格納される前記関連要素情報を検索して前記注目要素が属する対象関連要素群を特定し、前記対象関連要素群に属する前記要素に対応する前記スタイル定義情報に設定される表示サイズを前記拡大指示または前記縮小指示に応じた値に置き換え、置き換えた前記スタイル定義情報に基づいて前記画面の表示を更新するスタイル設定手段、
として機能させることを特徴とする表示制御プログラム。
【０１９０】
（付記２）  前記スタイル設定手段は、
前記注目要素について前記拡大指示を取得したときに、前記定義情報と前記関連要素情報とに基づいて前記注目要素の前記画面上の位置を算出し、算出された前記注目要素の画面上の位置に基づいて、前記注目要素の周囲に配置され、かつ、前記対象関連要素群に含まれない周辺要素を検出し、前記周辺要素に対応する前記スタイル定義情報に設定される表示サイズを前記拡大指示に基づく倍率に応じて縮小した値に書き換え、前記画面を更新する、
ことを特徴とする付記１記載の表示制御プログラム。
【０１９１】
（付記３）  前記スタイル設定手段は、
前記注目要素の位置と、前記周辺要素の位置との間の距離を算出し、算出された前記注目要素からの距離に基づき、前記注目要素からの距離が大きくなるほど前記スタイル定義情報に設定する前記周辺要素の表示サイズの縮小率を大きくする、
ことを特徴とする付記２記載の表示制御プログラム。
【０１９２】
（付記４）  前記スタイル設定手段は、
前記周辺要素の表示サイズを縮小するときは、前記関連要素情報に基づいて前記周辺要素の属する周辺要素群を特定し、前記周辺要素群ごとに前記周辺要素の表示サイズの縮小率を決定する、
ことを特徴とする付記２〜３記載の表示制御プログラム。
【０１９３】
（付記５）  前記スタイル設定手段は、
前記対象関連要素群の前記注目要素及び前記関連要素に文字列が含まれる場合は、更新前の表示サイズで前記文字列を表示したときの更新前表示サイズでの行数と、更新後の表示サイズで前記文字列を表示したときの更新後表示サイズでの行数とを算出して比較し、前記更新前表示サイズでの行数と、前記更新後表示サイズでの行数とが一致しないときは、前記更新後の表示サイズを決定する倍率を調整して、前記更新後表示サイズで表示するときの行数を前記更新前表示サイズで表示するときの行数に一致させる、
ことを特徴とする付記１〜４記載の表示制御プログラム。
【０１９４】
（付記６）  前記スタイル設定手段は、
前記周辺要素に文字列が含まれる場合は、更新前の表示サイズで前記文字列を表示したときの更新前表示サイズでの行数と、更新後の表示サイズで前記文字列を表示したときの更新後表示サイズでの行数とを算出して比較し、前記更新前表示サイズでの行数と、前記更新後表示サイズでの行数とが一致しないときは、前記更新後の表示サイズを決定する倍率を調整して、前記更新後表示サイズで表示するときの行数を前記更新前表示サイズで表示するときの行数に一致させる、
ことを特徴とする付記１〜５記載の表示制御プログラム。
【０１９５】
（付記７）  前記コンピュータを、
前記画面上の任意の要素に設定されているフォーカスの移動指示を取得したときは、前記フォーカスの移動指示とフォーカスの移動先とを対応付けたフォーカス設定情報に基づいて前記フォーカスの移動先要素を算出し、前記移動先要素に前記フォーカスを設定して前記画面の表示を更新するフォーカス設定手段、
として機能させることを特徴とする付記１〜６記載の表示制御プログラム。
【０１９６】
（付記８）  前記フォーカス設定情報には、前記フォーカスの移動指示としてユーザのキー操作が設定され、前記フォーカスの移動先として前記ユーザのキー操作が行われたときに、前記フォーカスを移動させる移動量、前記フォーカスの移動先の前記移動先要素の種別及び前記フォーカスの移動方向を含む前記フォーカスの移動先の特定手順が設定されており、前記フォーカス設定手段は、前記ユーザのキー操作を入力すると、前記フォーカス設定情報を検索して前記ユーザのキー操作に対応する前記フォーカスの移動先の特定手順を実行し、前記フォーカスの移動先を算出する、
ことを特徴とする付記７記載の表示制御プログラム。
【０１９７】
（付記９）  前記フォーカス設定手段は、
前記フォーカス設定情報に、数値キーと所定のキーの組み合わせと、前記組み合わせに応じたフォーカス移動量の算出手順が設定されていたときは、前記数値キーと前記所定のキーの操作が行われたことを検知すると、前記数値キーと前記所定のキーの操作の組み合わせに対応する前記フォーカスの移動先の特定手順に基づいて、前記所定のキーに応じた基本のフォーカス移動量に前記数値キーの数値を乗算した値を前記フォーカス移動量として算出し、現在前記フォーカスが設定されている前記要素を起点とし、順方向に前記フォーカス移動量分移動した先にある要素を前記移動先要素とする、
ことを特徴とする付記８記載の表示制御プログラム。
【０１９８】
（付記１０）  前記フォーカス設定手段は、
前記フォーカス設定情報に、所定のキーと、前記所定のキーに応じて選択する前記移動先要素の種別とが設定されていたときは、前記所定のキーの操作が行われたことを検知すると、前記所定のキー操作に対応する前記フォーカスの移動先の特定手順に基づいて、前記所定のキーに設定される前記移動先要素の種別に合致する対象要素を、現在前記フォーカスが設定されている前記要素を起点として順方向に検索し、検索された前記対象要素を前記移動先要素とする、
ことを特徴とする付記８〜９記載の表示制御プログラム。
【０１９９】
（付記１１）  前記フォーカス設定手段は、
前記フォーカス設定情報に、所定のキーと、前記所定のキーに応じて選択する移動方向とが設定されていたときは、前記所定のキー操作に対応する前記フォーカスの移動先の特定手順に基づいて、現在前記フォーカスが設定されている前記要素を中心として前記所定のキー操作によって指示された方向に存在する最も近い前記要素を前記移動先要素とする、
ことを特徴とする付記８〜１０記載の表示制御プログラム。
【０２００】
（付記１２）  表示装置の画面に画像を表示する表示制御方法において、
コンピュータが、
画面を構成する各要素の表示サイズを含む表示スタイルを定義するスタイル定義情報と、前記要素に関係付けられた関連要素を定義する関連要素定義情報と、を有する定義情報を解析し、
前記関連要素定義情報によって互いに関連付けられた前記要素を関連要素群にまとめ、前記関連要素群に関する関連要素情報を生成して記憶手段に格納し、
前記表示装置に表示した画面上の要素から選択された注目要素について拡大指示または縮小指示を取得したときは、前記記憶手段に格納される前記関連要素情報を検索して前記注目要素が属する対象関連要素群を特定し、
前記対象関連要素群に属する前記要素に対応する前記スタイル定義情報に設定される表示サイズを前記拡大指示または前記縮小指示に応じた値に置き換え、置き換えた前記スタイル定義情報に基づいて前記画面の表示を更新する、
手順を実行することを特徴とする表示制御方法。
【０２０１】
（付記１３）  表示装置の画面に画像を表示する情報処理装置において、
画面を構成する各要素の表示サイズを含む表示スタイルを定義するスタイル定義情報と、前記要素に関係付けられた関連要素を定義する関連要素定義情報と、を有する定義情報を記憶する記憶手段と、
前記定義情報を解析し、前記関連要素定義情報によって互いに関連付けられた前記要素を関連要素群にまとめ、前記関連要素群に関する関連要素情報を生成して前記記憶手段に格納する関連要素情報設定手段と、
前記表示装置に表示した画面上の要素から選択された注目要素について拡大指示または縮小指示を取得したときは、前記記憶手段に格納される前記関連要素情報を検索して前記注目要素が属する対象関連要素群を特定し、前記対象関連要素群に属する前記要素に対応する前記スタイル定義情報に設定される表示サイズを前記拡大指示または前記縮小指示に応じた値に置き換え、置き換えた前記スタイル定義情報に基づいて前記画面の表示を更新するスタイル設定手段と、
を有することを特徴とする情報処理装置。
【符号の説明】
【０２０２】
１０  情報処理装置
１１  記憶手段
１１ａ  定義情報
１１ｂ  関連要素情報
１１ｃ  表示スタイル情報
１２  表示制御手段
１２ａ  関連要素情報設定手段
１２ｂ  スタイル設定手段
１２ｃ  フォーカス設定手段
１２ｄ  画面表示手段
１３  イベント制御手段
２０  表示装置
３０  入力装置
【図１】
0005617222.tif 000002
【図２】
0005617222.tif 000003
【図３】
0005617222.tif 000004
【図４】
0005617222.tif 000005
【図５】
0005617222.tif 000006
【図６】
0005617222.tif 000007
【図７】
0005617222.tif 000008
【図８】
0005617222.tif 000009
【図９】
0005617222.tif 000010
【図１０】
0005617222.tif 000011
【図１１】
0005617222.tif 000012
【図１２】
0005617222.tif 000013
【図１３】
0005617222.tif 000014
【図１４】
0005617222.tif 000015
【図１５】
0005617222.tif 000016
【図１６】
0005617222.tif 000017
【図１７】
0005617222.tif 000018
【図１８】
0005617222.tif 000019
【図１９】
0005617222.tif 000020
【図２０】
0005617222.tif 000021
【図２１】
0005617222.tif 000022
【図２２】
0005617222.tif 000023
【図２３】
0005617222.tif 000024
【図２４】
0005617222.tif 000025
【図２５】
0005617222.tif 000026
【図２６】
0005617222.tif 000027
【図２７】
0005617222.tif 000028
【図２８】
0005617222.tif 000029