(57)【特許請求の範囲】
【請求項１】
リッチ・インターネット・アプリケーションのコンテンツにおけるアクセシビリティ情報を得る方法であって、
コンピュータが、表示画面に表示された前記コンテンツのオブジェクトを実験環境で実行するステップと、
コンピュータが、前記オブジェクトを実行したことに応じて、前記オブジェクトから出力された出力情報と前記オブジェクトの状態とに基づき、予め用意された複数のオブジェクトに関する参照モデル情報を用いて前記オブジェクトの役割を推定するステップと、
コンピュータが、推定された前記オブジェクトの役割を、前記アクセシビリティ情報として出力するステップと、
を含む、アクセシビリティ情報を得る方法。
【請求項２】
コンピュータが、前記オブジェクトと、前記オブジェクトの近傍に表示されるテキスト・オブジェクトとの位置関係に基づき、前記テキスト・オブジェクトを用いて前記オブジェクトを表す代替テキストを推定するステップと、
コンピュータが、推定された前記代替テキストを、前記アクセシビリティ情報として出力するステップと、
を含む、
請求項１に記載のアクセシビリティ情報を得る方法。
【請求項３】
前記代替テキストを推定するステップは、前記オブジェクトを前記実験環境で実行したことに応じて前記コンテンツを形成するプログラムから取得した、前記オブジェクトに割当てられたシンボル情報に基づき、前記オブジェクトの前記代替テキストを推定する、
請求項２に記載のアクセシビリティ情報を得る方法。
【請求項４】
コンピュータが、前記代替テキストが推定されないことに応じて前記オブジェクトのサイズを計測するステップと、
コンピュータが、計測された前記オブジェクトのサイズが所定の大きさを満たしたことを条件に、前記オブジェクトの役割を判断するステップと、
コンピュータが、判断結果に応じて、推定された前記オブジェクトの役割に関する前記推定を取り消すステップと、
を含む、
請求項２に記載のアクセシビリティ情報を得る方法。
【請求項５】
コンピュータが、前記オブジェクトのサイズを計測するステップを含み、
前記代替テキストを推定するステップは、
前記オブジェクトのサイズがゼロであることに応じて、
【数１】
0005110640.tif 000004
を満たす前記テキスト・オブジェクトを、前記代替テキストと推定し、
前記オブジェクトのサイズがゼロでないことに応じて、
【数２】
0005110640.tif 000005
を満たす前記テキスト・オブジェクトを、前記代替テキストと推定することを含む、
請求項２に記載のアクセシビリティ情報を得る方法。
【請求項６】
前記役割を推定するステップは、
前記実験環境を初期化し、
前記オブジェクトの状態を記録し、
記録した前記オブジェクトの状態と、前記参照モデル情報の状態とを照合し、
照合された前記参照モデル情報の次にとりうる遷移に対する状態を取得し、
取得した前記参照モデル情報の状態における出力情報と、前記オブジェクトを実行したことに応じて前記オブジェクトから出力された前記出力情報とを検証し、
検証結果に応じて、前記参照モデル情報に基づき前記オブジェクトの役割を推定することを含む、
請求項１に記載のアクセシビリティ情報を得る方法。
【請求項７】
前記役割を推定するステップは、
前記オブジェクトを実行する前に、前記実験環境を保存し、
前記オブジェクトの入力の送出に応じて、前記オブジェクトの状態を記録し、
前記オブジェクトを実行した後に、前記実験環境を復帰することを更に含む、
請求項６に記載のアクセシビリティ情報を得る方法。
【請求項８】
前記役割を推定するステップは、
取得した前記参照モデル情報の前記出力情報を、実行した前記オブジェクトの前記出力情報が含むか否かを検証することを更に含む、
請求項６に記載のアクセシビリティ情報を得る方法。
【請求項９】
前記リッチ・インターネット・アプリケーションは、Ｆｌａｓｈ（登録商標）及びＤｙｎａｍｉｃ  ＨＴＭＬの少なくともいずれか一方を用いて作成される、
請求項１に記載のアクセシビリティ情報を得る方法。
【請求項１０】
請求項１から９のいずれかに１項に記載の各ステップを、コンピュータに実行させるためのコンピュータ・プログラム。
【請求項１１】
リッチ・インターネット・アプリケーションのコンテンツにおけるアクセシビリティ情報装置であって、
表示部に表示された前記コンテンツのオブジェクトを実行する実験環境を制御する実験環境制御部と、
予め用意された複数のオブジェクトに関する参照モデル情報を記憶する参照モデル記憶部と、
前記オブジェクトを実行したことに応じて、前記オブジェクトから出力された出力情報と前記オブジェクトの状態とに基づき、前記参照モデル記憶部に記憶された前記参照モデル情報を用いて前記オブジェクトの役割を推定する役割推定部と、
前記役割推定部により推定された前記オブジェクトの役割を、アクセシビリティ情報として出力する役割出力部と、
を備える、アクセシビリティ情報取得装置。
【請求項１２】
前記オブジェクトと、前記オブジェクトの近傍に表示されるテキスト・オブジェクトとの位置関係に基づき、前記テキスト・オブジェクトを用いて前記オブジェクトを表す代替テキストを推定する視覚情報解析部と、
前記視覚情報解析部により推定された前記代替テキストを、前記アクセシビリティ情報として出力する代替テキスト出力部と、
を備える、
請求項１１に記載のアクセシビリティ情報取得装置。
【請求項１３】
前記役割推定部は、前記オブジェクトを前記実験環境で実行したことに応じて前記コンテンツを形成するプログラムから前記オブジェクトに割当てられたシンボル情報を取得し、
前記視覚情報解析部は、前記役割推定部により取得された前記シンボル情報に基づき、前記オブジェクトの前記代替テキストを推定する、
請求項１２に記載のアクセシビリティ情報取得装置。
【請求項１４】
前記視覚情報解析部は、
前記代替テキストが推定されないことに応じて前記オブジェクトのサイズを計測し、
計測された前記オブジェクトのサイズが所定の大きさを満たしたことを条件に、前記オブジェクトの役割を判断し、
判断結果に応じて、推定された前記オブジェクトの役割に関する前記推定を取り消す、
請求項１２に記載のアクセシビリティ情報取得装置。
【請求項１５】
前記視覚情報解析部は、
前記オブジェクトのサイズを計測し、
前記オブジェクトのサイズがゼロであることに応じて、
【数３】
0005110640.tif 000006
を満たす前記テキスト・オブジェクトを、前記代替テキストと推定し、
前記オブジェクトのサイズがゼロでないことに応じて、
【数４】
0005110640.tif 000007
を満たす前記テキスト・オブジェクトを、前記代替テキストと推定することを含む、
請求項１２に記載のアクセシビリティ情報取得装置。
【請求項１６】
前記役割推定部は、
前記実験環境を初期化し、
前記オブジェクトの状態を記録し、
記録した前記オブジェクトの状態と、前記参照モデル記憶部に記憶された前記参照モデル情報の状態とを照合し、
照合された前記参照モデル情報の次にとりうる遷移に対する状態を取得し、
取得した前記参照モデル情報の状態における出力情報と、前記オブジェクトを実行したことに応じて前記オブジェクトから出力された前記出力情報とを検証し、
検証結果に応じて、前記参照モデル情報に基づき前記オブジェクトの役割を推定することを含む、
請求項１１に記載のアクセシビリティ情報取得装置。
【請求項１７】
前記役割推定部は、
前記オブジェクトを実行する前に、前記実験環境を保存し、
前記オブジェクトの入力の送出に応じて、前記オブジェクトの状態を記録し、
前記オブジェクトを実行した後に、前記実験環境を復帰することを更に含む、
請求項１６に記載のアクセシビリティ情報取得装置。
【請求項１８】
前記役割出力部は、内部モデルである、
請求項１１に記載のアクセシビリティ情報取得装置。
【請求項１９】
前記役割出力部に出力された前記アクセシビリティ情報は、音声情報として出力可能である、
請求項１１に記載のアクセシビリティ情報取得装置。
【請求項２０】
前記視覚情報解析部及び前記役割推定部により出力されたログ情報を解析するログ解析部と、
前記ログ解析部による解析結果を用いて、前記アクセシビリティ情報を出力するアクセシビリティ情報出力部と、
を備える、
請求項１２に記載のアクセシビリティ情報取得装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リッチ・インターネット・アプリケーションのコンテンツにおけるアクセシビリティ情報を得る方法、コンピュータ・プログラム及びアクセシビリティ情報装置に関する。
【背景技術】
【０００２】
近年、Ｆｌａｓｈ（登録商標）やＤｙｎａｍｉｃ  ＨＴＭＬ（ＤＨＴＭＬ）に代表されるようなリッチ・インターネット・アプリケーション（ＲＩＡ）が大幅に増加してきている。Ａｊａｘ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｊａｖａｓｃｒｉｐｔ（登録商標）＋ＸＭＬ）の勃興により、ＤＨＴＭＬは多くのＷｅｂアプリケーションで積極的に活用されるようになってきている。また、１９９６年には単純なアニメーションを表現するだけだったＦｌａｓｈも、その後の１０年間で９８％以上のコンピュータにインストールされるようになっている。Ｆｌａｓｈは、音声出力、スクリプトによるユーザ・インタラクション、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）コンポーネントの提供、高度な画像処理機能、ストリーミング動画等に対応し、インタラクティブなコンテンツを提供するためのプラットフォームとしての地位を確立している。
【０００３】
このように、ＲＩＡがＷｅｂ上で積極的に活用されている一方で、アクセシビリティの重要性も増している。ＤＨＴＭＬやＦｌａｓｈ等のＲＩＡでは、（１）視覚的な効果を重視するために、テキストを用いずにイメージで情報を表現することが多い（その際に、イメージ情報の注釈の役割をする代替テキストが用意されていないことも多い）。また、（２）Ｊａｖａｓｃｒｉｐｔ（登録商標）の標準規格であるＥＣＭＡＳｃｒｉｐｔを用いて、ユーザ・インターフェースを設計するために、スクリプトによってプレゼンテーションが制御される。そのため、コンテンツの各オブジェクトがどのようなＲｏｌｅ（役割）を持っているのかを知ることが難しい。
【０００４】
ＤＨＴＭＬにおいては、ＷＡＩ−ＡＲＩＡ（ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ａｒｉａ−ｒｏａｄｍａｐ／）とよばれる標準制定活動が始まっており、アクセシビリティを確保するためのフレームワークが制定されつつある。しかし、ＷＡＩ−ＡＲＩＡは、コンテンツの作成者がスクリプトを用いて適切にＲｏｌｅやＳｔａｔｅ（状態）等の情報を付与する必要がある。そして、現状において、ＷＡＩ−ＡＲＩＡに対応しているコンテンツは、ほとんど存在しない。
【０００５】
Ｆｌａｓｈについても、アクセシビリティの機構が用意されており、ＲｏｌｅやＳｔａｔｅの情報をＭＳＡＡ（Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ａｃｔｉｖｅ  Ａｃｃｅｓｓｉｂｉｌｉｔｙ）とよばれるメカニズムを用いて通知する方法が用意されている。しかし、実際には、Ｆｌａｓｈのアクセシビリティに対する取り組みは少ない。そのため、インターネット上のほとんどのＦｌａｓｈコンテンツはアクセシブルではなく、画面の読み上げを行うスクリーン・リーダを使ってコンテンツにアクセスする視覚障害者のユーザにとっては、ほとんど操作することができない。
【非特許文献１】Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ、“Ｍｉｃｒｏｓｏｆｔ  Ａｃｔｉｖｅ  Ａｃｃｅｓｓｉｂｉｌｉｔｙ”、［ｏｎｌｉｎｅ］、［２００７年９月２７日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｍｓｄｎ２．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｅｎ−ｕｓ／ｌｉｂｒａｒｙ／ｍｓ６９７７０７．ａｓｐｘ＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このように、ＲＩＡでは、多くのコンテンツがアクセシブルでないのは、以下の主に３つの問題から引き起こされている。第１に、オブジェクトに対して、ボタンやリンク等のＲｏｌｅやＳｔａｔｅの情報が正しく提供されないことである。第２に、代替テキストが提供されていないことである。そして、第３に、スクリプトとしてコンテンツが提供されるため、アクセシビリティの問題を発見し、修復することが難しいことである。
【０００７】
本発明は、リッチ・インターネット・アプリケーションのコンテンツにおけるアクセシビリティ情報を得る方法、コンピュータ・プログラム及びアクセシビリティ情報装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の１つの態様では、以下のような解決手段を提供する。
【０００９】
本発明の第１の形態によると、リッチ・インターネット・アプリケーションのコンテンツにおけるアクセシビリティ情報を得る方法を提供する。アクセシビリティ情報を得る方法は、表示画面に表示されたコンテンツのオブジェクトを実験環境で実行する。そして、実行したことによりオブジェクトから出力された出力情報とオブジェクトの状態とに基づき、予め用意された複数のオブジェクトに関する参照モデル情報を用いてオブジェクトの役割を推定する。また、オブジェクトの状態は、推定されたオブジェクトの役割を、アクセシビリティ情報として出力する。出力は内部モデルに対して行われる。なお、リッチ・インターネット・アプリケーションは、Ｆｌａｓｈ及びＤｙｎａｍｉｃ  ＨＴＭＬの少なくともいずれか一方を用いて作成される。
【００１０】
本発明の第２の形態によると、オブジェクトと、オブジェクトの近傍に表示されるテキスト・オブジェクトとの位置関係に基づき、テキスト・オブジェクトを、オブジェクトを表す代替テキストと推定する。位置関係は、オブジェクトのサイズを計測し、オブジェクトのサイズがゼロか否かに応じて、所定の条件式を満たすテキスト・オブジェクトを代替テキストと推定する。また、位置関係に基づき代替テキストが推定されない場合において、オブジェクトを実験環境で実行したことに応じてコンテンツを形成するプログラムから取得した、オブジェクトに割当てられたシンボル情報を、オブジェクトの代替テキストと推定する。
【００１１】
本発明の第３の形態によると、オブジェクトの役割が推定された場合であって、代替テキストが推定されない場合に、オブジェクトのサイズを計測し、オブジェクトのサイズが所定の大きさを満たしたことを条件に、オブジェクトの役割を判断する。そして、判断結果に応じて、既に推定されたオブジェクトの役割に関する推定を取り消す。
【００１２】
本発明の第４の形態によると、オブジェクトの役割は、様々な検証の結果推定される。実験環境を初期化し、オブジェクトの状態を記録し、記録したオブジェクトの状態と、参照モデル情報の状態とを照合し、照合された参照モデル情報の次にとりうる遷移に対する状態を取得し、取得した参照モデル情報の状態における出力情報と、オブジェクトを実行したことに応じてオブジェクトから出力された出力情報とを検証し、検証結果に応じて、参照モデル情報に基づきオブジェクトの役割を推定する。また、オブジェクトの実行に関して、オブジェクトを実行する前に、実験環境を保存し、オブジェクトの入力の送出に応じて、オブジェクトの状態を記録し、オブジェクトを実行した後に、実験環境を復帰することを含むものである。更に、取得した参照モデル情報の出力情報を、実行したオブジェクトの出力情報が含むか否かを検証する。
【００１３】
また、本発明は、別の態様として、コンピュータにおいて実行されるコンピュータ・プログラムあるいはアクセシビリティ情報取得装置としても提供できる。
【００１４】
本発明の利点は以下の通りである。
【００１５】
第１に、表示画面に表示されたコンテンツのオブジェクトを実験環境で実行したことによりオブジェクトから出力された出力情報と、オブジェクトの状態とに基づき、予め用意された複数のオブジェクトに関する参照モデル情報を用いてオブジェクトの役割を推定する。よって、オブジェクトにアクセシビリティ情報を有していなくても、実行時の出力及び内部状態から、アクセシビリティ情報を得ることができる。また、出力は内部モデルに対して行われるので、内部モデルを用いてアクセシビリティ情報を音声で出力することができ、視覚障害者にとって有益な情報を得ることができる。更に、内部モデルを用いてコンテンツ作成時にアクセシビリティ情報を予め入力することができる。
【００１６】
第２に、オブジェクトと、オブジェクトの近傍に表示されるテキスト・オブジェクトとの位置関係に基づき、テキスト・オブジェクトを、オブジェクトを表す代替テキストと推定することができる。よって、オブジェクトにアクセシビリティ情報を有していなくても、オブジェクトとテキスト・オブジェクトとによって代替テキストを推定することで、アクセシビリティ情報を得ることができる。また、オブジェクトのサイズがゼロの場合を考慮して、アクセシビリティ情報を得ることができる。更に、オブジェクトを実験環境で実行することにより、プログラムからオブジェクトのシンボル情報を取得することができる。このシンボル情報を、オブジェクトの代替テキストと推定することができるので、オブジェクトを表すアクセシビリティ情報を得ることができる。
【００１７】
第３に、オブジェクトの役割の推定について、代替テキストが推定されない場合に、オブジェクトのサイズを計測し、オブジェクトのサイズが所定の大きさを満たしたことを条件に、オブジェクトの役割を判断し、判断結果に応じて、既に推定されたオブジェクトの役割に関する推定を取り消す。つまり、誤ってオブジェクトの役割を推定したもののうち、特定のものに関して、所定の処理により役割の推定を取り消すことができる。よって、推定の誤りを少なくすることができる。
【００１８】
第４に、オブジェクトの役割の推定を、実験環境でオブジェクトを実行し、参照モデルを用いた検証処理により、オブジェクトの役割を検証することができる。よって、推定されたオブジェクトの役割の正当性を確認することができる。役割をアクセシビリティ情報として出力するので、ユーザにとって有益なアクセシビリティ情報を得ることができる割合を向上させることができる。
【発明の効果】
【００１９】
本発明によれば、リッチ・インターネット・アプリケーションのコンテンツにおいて、オブジェクトの代替テキスト及び役割を推定し、推定した代替テキスト及び役割を用いることで、アクセシビリティ情報を得る方法、コンピュータ・プログラム及びアクセシビリティ情報装置を提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態について、図面に基づいて以下に説明する。図１は、本発明の実施形態に係るアクセシビリティ情報取得システム１００の構成の一例を示す図である。アクセシビリティ情報取得システム１００は、ＲＩＡのコンテンツにおけるオブジェクト（以下、コンテンツのオブジェクト、又は単にオブジェクトという）のアクセシビリティ情報を取得するアクセシビリティ情報取得装置１と、取得したアクセシビリティ情報を音声データとしてユーザに通知する音声部８とからなるシステムである。アクセシビリティ情報取得装置１は、制御部１０として、実験環境制御部１１、視覚情報解析部１２及び役割推定部１３を有する。また、コンテンツ実行エンジン１４、参照モデル記憶部１５及び内部モデル１６を有する。
【００２１】
実験環境制御部１１は、各ユーザが使用するパソコン等の表示部（図示せず）に、コンテンツ実行エンジン１４として、例えば、ブラウザを介して表示されたコンテンツのオブジェクトを実行する実験環境を制御する。他に影響を与えずに実行可能なこのような実験環境を、Ｓａｎｄｂｏｘ環境という。実験環境にてコンテンツのオブジェクトを実行することで、アクセシビリティ情報となる代替テキスト及びＲｏｌｅを推定する。視覚情報解析部１２は、オブジェクトと、当該オブジェクトの近傍に表示される情報とから、オブジェクトに関連する情報か否かを解析する。より具体的には、オブジェクトと、当該オブジェクトの近傍に表示されるテキスト・オブジェクトとの位置関係に基づき、テキスト・オブジェクトを、オブジェクトを表す代替テキストとして推定する。役割推定部１３は、参照モデル記憶部１５の複数の参照モデルを用いて、該当のオブジェクトの役割を推定する。参照モデル記憶部１５は、予め用意した複数の参照モデルを記憶する。内部モデル１６は、制御部１０により取得したアクセシビリティ情報を受け付ける。
【００２２】
次に、アクセシビリティ情報を代替テキストにより推定する処理について説明する。図２は、オブジェクトの代替テキストを推定する処理のフローチャートを示す。図３は、図２のフローチャートの内容を説明するための図である。
【００２３】
まず、図２のステップＳ１１において、視覚情報解析部１２は、オブジェクトと、画面（図示せず）上に表示されているテキスト・オブジェクトとの視覚的関係による代替テキストの推定を行う。あるテキスト・オブジェクトがオブジェクトの代替テキストであるか否かは、当該オブジェクトとテキスト・オブジェクトとの視覚的な関係を調べることで推定する。あるオブジェクトＷに対する代替テキストｔとの関係は、以下の数式で決定する。
【数１】
0005110640.tif 000002
【００２４】
図３を用いて、より具体的に説明する。図３（ａ）は、オブジェクトＷがボタンであり、オブジェクトＷのサイズがある（サイズがゼロではなく、一定の範囲を有する）場合を示している。オブジェクトＷの範囲であるボタンの領域３１は、面積を有するため、ボタンのオブジェクトＷの近傍に表示されるテキスト・オブジェクトｔ１の範囲である領域３２と、一定の重なり領域３３を有する（図３（ａ）右図参照）。このように、あるオブジェクトＷとテキスト・オブジェクトｔ１との重なりが一定以上ある場合は、オブジェクトＷの近傍に有するテキスト・オブジェクトｔ１を代替テキストｔと推定することができる。
【００２５】
他方、図３（ｂ）は、オブジェクトＷはボタンであるが、オブジェクトＷのサイズがない（サイズがゼロである）場合を示している。例えば、Ｆｌａｓｈにより作成されたコンテンツのオブジェクトには、サイズがゼロのボタンのオブジェクトが存在する。この場合、オブジェクトＷが有する相対位置を用いる。まず、ボタンを示すオブジェクトＷの位置３４とオブジェクトＷの位置３４から右下に表示されたテキスト・オブジェクトｔ１の領域３２との位置関係を検討する。そして、オブジェクトＷの位置３４からテキスト・オブジェクトｔ１へ、最短となる直線を引いたときの長さＤと、テキスト・オブジェクトｔ１の領域３２の対角線の長さｄとを比較し、Ｄ＜ｄである場合にテキスト・オブジェクトｔ１を代替テキストｔと推定することができる。これは、オブジェクトＷについてのテキスト・オブジェクトｔ１は、一般的に、オブジェクトＷに十分に近く、かつオブジェクトＷの右下に存在する、との経験則に基づく。
【００２６】
図２に戻って、次に、ステップＳ１３では、制御部１０は、代替テキストを推定できたか否かを判断する。上述の図３（ａ）及び（ｂ）のいずれにも該当するテキスト・オブジェクトが存在しない場合には、代替テキストが推定できていない。代替テキストが推定できた場合（ステップＳ１３：Ｙ）には、制御部１０は、代替テキストが推定できたため、本処理を終了する。他方、代替テキストが推定できていない場合（ステップＳ１３：Ｎ）には、制御部１０は、ステップＳ１５において、オブジェクトにコンテンツ作成者が付けた名前（シンボル）による代替テキストの推定を行う。
【００２７】
プログラマ等のコンテンツ作成者は、オブジェクトに任意に名前を付けてプログラミングに利用する。プログラムを組む上で操作の対象となるオブジェクトを参照するには、オブジェクトに名前を付ける必要があるためである。コンテンツ作成者は、例えば、ビデオを再生するためのボタンに、「ｐｌａｙ＿ｂｕｔｔｏｎ」という名前を付ける。このようにして付けられた名前は、オブジェクトを端的に表すことが多いという経験則に基づき、名前を利用するのである。名前は、コンテンツ作成者自身の理解のために必要なのは当然のこと、コンテンツ作成者以外の人にも理解の助けになると考えられるため、オブジェクトの代替テキストとして利用する。ただし、プログラム上で操作されないオブジェクトには名前を付ける必要がないため、ランタイムの都合上「ｉｎｓｔａｎｃｅ＃」（＃は１，２，…）等の名前が自動的に付くことがあるが、代替テキストとしては不適切である。そのため、「ｉｎｓｔａｎｃｅ＃」等の明らかにオブジェクトの意味を表さない名前は、予め記憶部（図示せず）に、例えばリスト形式で記憶することで、代替テキストから除外する。この名前は、実験環境制御部１１による実験環境での実行時に、役割推定部１３がインタプリタの助けを借りて取得し、視覚情報解析部１２が名前に基づき代替テキストを推定する。
【００２８】
ステップＳ１５の処理の後、制御部１０は、本処理を終了する。本処理により、代替テキストのないオブジェクトに対して、代替テキストを推定することができる。
【００２９】
次に、アクセシビリティ情報をＲｏｌｅにより推定する処理について説明する。図４は、オブジェクトのＲｏｌｅを推定する処理のフローチャートを示す。図５から図７は、図４のフローチャートの内容を説明するための図である。
【００３０】
まず、図４のステップＳ３１において、制御部１０（実験環境制御部１１、役割推定部１３）は、オブジェクトの実行時の出力及び内部状態からＲｏｌｅを推定する。
【００３１】
ここで、Ｒｏｌｅの推定方法について説明する。Ｆｌａｓｈ及びＤＨＴＭＬは、実行時に型情報が決定されるＥＣＭＡＳｃｒｉｐｔという言語を用いているため、静的にアクセシビリティ情報を検出することは難しい。そこで、実験環境でスクリプトを実行する際に解析することで、シミュレーションによって参照モデルからアクセシビリティ情報を推測する。シミュレーションは、参照モデルと実行時モデルとの等価性や包含関係を検証するための技法である。本発明では、オブジェクトに対して実際にクリック等の入力を行い、状態がどのように変化するか、また、それが参照モデルとどのように対応するかを検証することによって、アクセシビリティ情報を推定する。
【００３２】
より詳細に説明すると、まず、アクセシビリティ情報を推測したいオブジェクトの内部の状態に着目する。ＥＣＭＡＳｃｒｉｐｔでは、オブジェクトの状態ｓは、プロパティ（ｐｒｏｐｅｒｔｙ）とバリュー（ｖａｌｕｅ）とのペアで表現されている。これ以外の実行時に用いられる状態は、全て「環境（Ｅｎｖｉｒｏｎｍｅｎｔ）」とみなす。図５（ａ）に、シミュレーションにおける実行モデルの概念図を示す。オブジェクトのプロパティとバリューとのペアが、オブジェクトの状態４１であり、オブジェクトの状態４１以外が環境４２である。
【００３３】
また、本発明では、オブジェクトのアクセシビリティで必要なＲｏｌｅや状態を推定するために、参照モデルを用意する。参照モデルは、例えば、図５（ｂ）及び（ｃ）に示すようなミーリ・マシン（Ｍｅａｌｙ  Ｍａｃｈｉｎｅ）と等価なモデルで定義することができる。図５（ｂ）及び（ｃ）は、一般的な意味でのボタンの参照モデルの例である。図５（ｂ）は、オブジェクトがｐ１から「ｃｌｉｃｋ」されたことによって、別の状態ｐ２に遷移したことを意味している。なお、「ｃｌｉｃｋ」の次に書かれた「ε」は、出力を表すが、「ε」自体は外部に何も出力しないことを示す。図５（ｃ）は、オブジェクトがｐ１から「ｃｌｉｃｋ」されたことによって外部に何らかの出力「ｏ１」をしたことを意味している。オブジェクトの状態は明示的にモデル中に指定することもできるが、モデル中で別々の状態は別々のオブジェクトの状態を指すとゆるく指定することもできる。
【００３４】
実際のオブジェクトに対しても、「ｃｌｉｃｋ」イベントを送るシミュレーションを行うことで、これらのモデルとの適合関係を見て、ボタンであるかどうかを推測することができる。例えば、図５（ｂ）のモデルにしたがっているボタンは、クリックするとオブジェクトそのものが何らかの影響を与えることがわかる。図５（ｃ）のモデルは、クリックすることによって環境に対して何らかの出力を出すものであることがわかる。例えば、出力が「ｇｅｔＵＲＬ」メソッドの呼び出しであったならば、ブラウザ上では何らかのページ遷移が発生することがわかる。あるボタンがページ遷移を引き起こすことは、視覚障害者にとっては非常に有益な情報である。このとき、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を取得して、読み上げを行うことができれば、視覚障害者にとってどのようなボタンであるかを理解する助けとなる。図５（ｂ）及び（ｃ）において例として示した参照モデルは、参照モデル記憶部１５（図１参照）に記憶される。
【００３５】
図６に、参照モデル記憶部１５に記憶される参照モデルテーブル１５０を示す。参照モデルテーブル１５０は、Ｒｏｌｅ１５１と参照モデル１５２とからなり、Ｒｏｌｅ毎に参照モデルが１又は複数記憶されている。例えば、Ｒｏｌｅ１５１が「ボタン」である場合は、「ｃｌｉｃｋ」をするモデルと「ｏｎＰｒｅｓｓ」をするモデルの２つの参照モデルが定義されている。なお、図４のステップＳ３１により推定したＲｏｌｅの検証方法については、後述する。
【００３６】
図４に戻って、次に、ステップＳ３３では、制御部１０（視覚情報解析部１２）は、オブジェクトとテキスト・オブジェクトとの視覚的関係により、代替テキストが推定されたか否かを判断する。オブジェクトとテキスト・オブジェクトとの視覚的関係により代替テキストを推定する処理は、上述の図２のステップＳ１１の結果を用いる。代替テキストが推定された場合（ステップＳ３３の処理でＹＥＳが判断される場合）には、制御部１０は、本処理を終了する。他方、代替テキストが推定されなかった場合（ステップＳ３３の処理でＮＯが判断される場合）には、制御部１０は、ステップＳ３５に処理を移す。
【００３７】
ステップＳ３５では、制御部１０は、Ｒｏｌｅが、オブジェクトに関するクリックによる操作が必要なＲｏｌｅではないと判断されたか否かを判断する。これは、オブジェクトとテキスト・オブジェクトとの視覚的関係により、代替テキストが推定されなかったオブジェクトＷについて、次の条件で、オブジェクトＷに関するクリックのみで動作するＲｏｌｅ（例えば、ボタンやチェックボックス、ラジオボタン等）ではないと判断する。
【数２】
0005110640.tif 000003
この式の意味するところは、ボタン等のＲｏｌｅを持つオブジェクトは、ユーザの操作対象となる。そのため、Ｒｏｌｅが、ある一定以上の大きさを持ち、かつ形状が細長すぎないことを条件としたものである。例えば、図７に示すオブジェクトのうち、タイムライン５１、ボリューム５２及び測定表示５３は、各オブジェクトを操作するための、ｏｎＰｒｅｓｓ等のイベントハンドラを持つ。上述のボタン等のＲｏｌｅを持つオブジェクトも、同様にｏｎＰｒｅｓｓ等のイベントハンドラを持つため、何の考慮もしないと、ボタンではない種類のオブジェクトをボタンと誤認してしまう。そのため、ある一定以上の大きさを持たないもの、又は、ある一定以上細長い形状をしたオブジェクトは、ボタン等のＲｏｌｅを持つオブジェクトではないと推定する。
【００３８】
ステップＳ３５で、クリックによる操作が必要ではないと判断された場合（ステップＳ３５の処理でＹＥＳが判断される場合）には、制御部１０は、処理をステップＳ３７に移す。他方、クリックによる操作が必要であると判断された場合（ステップＳ３５の処理でＮＯが判断される場合）には、制御部１０は、本処理を終了する。
【００３９】
ステップＳ３７では、制御部１０は、ステップＳ３１で推定されたＲｏｌｅの候補から、当該オブジェクトをはずす処理を行う。その後、制御部１０は、本処理を終了する。本処理により、オブジェクトのＲｏｌｅを推定することができ、推定されたＲｏｌｅをアクセシビリティ情報とすることができる。
【００４０】
次に、図４のステップＳ３１で推定したＲｏｌｅを検証するフローチャートについて説明する。図８から図１０は、実際のオブジェクトが参照モデルを含んでいるかをチェックするフローチャートを示す。ここで、チェック対象となるオブジェクトを、対象オブジェクトｏとする。
【００４１】
まず、図８のステップＳ５１において、制御部１０（実験環境制御部１１）は、対象コンテンツの初期化を行う。具体的には、Ｓａｎｄｂｏｘ環境で、対象オブジェクトｏを含むコンテンツを、検証を行いたい状態に戻す。そして、Ｏｅｘで示される出力リストを空にする。Ｏｅｘは、実際のオブジェクトを実行したことにより出力された情報を格納する領域である。
【００４２】
次に、ステップＳ５２では、制御部１０は、参照モデルの初期化を行う。具体的には、検証を行う参照モデルの現在の状態を初期状態（ｉｎｉｔ）にし、Ｏｒｅｆで示される出力リストを空にする。Ｏｒｅｆは、参照モデルの出力情報を格納する領域である。
【００４３】
次に、ステップＳ５３では、制御部１０（役割推定部１３）は、初期状態である参照モデルの状態ｓについての検証を行う。ここで、参照モデルの状態ｓについての検証について、図９を用いて説明する。
【００４４】
まず、図９のステップＳ１０１では、制御部１０は、対象オブジェクトｏの状態が辞書に記録済か否か、つまり、対象オブジェクトｏの状態が記憶部に記憶された辞書に既に記録されているか否かを判断する。記録済である場合（ステップＳ１０１：Ｙ）には、制御部１０は、処理をステップＳ１０２に移し、他方、記録済でない場合（ステップＳ１０１：Ｎ）には、制御部１０は、処理をステップＳ１０３に移す。
【００４５】
ステップＳ１０２では、制御部１０は、対象オブジェクトと参照モデルとを照合し、参照モデルの現在の状態ｓと、辞書に記録されている状態ｓ’とが一致するか否かを判断する。状態が一致する場合（ステップＳ１０２：Ｙ）には、制御部１０は、処理をステップＳ１０４に移す。他方、状態が一致しない場合（ステップＳ１０２：Ｎ）には、制御部１０は、処理をステップＳ１０９に移し、参照モデルには適合しないと判定（ｆａｌｓｅ）した後に、本検証処理を終了する。
【００４６】
ステップＳ１０３では、制御部１０は、辞書に対象オブジェクトの新規状態を記録する。具体的には、辞書に新たな項目を追加し、対象オブジェクトｏの状態と、参照モデルの現在の状態ｓとを結び付けて記録する。
【００４７】
ステップＳ１０４では、制御部１０は、現在の状態から次にとりうる遷移の集合を取得する。そして、各々の遷移に対して、出力ｏｕｔ、入力ｉｎ、次の状態ｓを取得する。これは、次にとりうる遷移が複数ある場合は、その各々に対して処理を行う。次に、ステップＳ１０５では、制御部１０は、ステップＳ１０４で取得したデータを用いて遷移の評価を行う。ここで、遷移の評価について、図１０を用いて説明する。
【００４８】
図１０のステップＳ１２１では、制御部１０は、評価しようとする遷移が検証済か否かを判断する。検証済である場合（ステップＳ１２１：Ｙ）には、制御部１０は、処理をステップＳ１２９に移し、参照モデルに適合すると判定（ｔｒｕｅ）した後に、本評価処理を終了する。他方、検証済ではない場合（ステップＳ１２１：Ｎ）には、制御部１０は、処理をステップＳ１２２に移す。
【００４９】
ステップＳ１２２では、制御部１０は、Ｓａｎｄｂｏｘ環境を保存する。具体的には、Ｏｒｅｆ及びＯｅｘを保存した上で、Ｏｒｅｆに対してステップＳ１０５からパラメータである出力ｏｕｔを追加する。次に、ステップＳ１２３では、対象オブジェクトｏへの入力の送出を行う。具体的には、対象オブジェクトｏに対して入力ｉｎを送出し、出力の集合をＯｅｘに追加する。
【００５０】
次に、ステップＳ１２４では、ステップＳ１２３によって得られる状態ｓについて、検証を行う。つまり、再度、図９を呼び出す。つまり、処理を入れ子とすることで、検証済となるまで評価と遷移を繰り返して、対象オブジェクトｏを検証する。次に、ステップＳ１２５では、評価結果が適合（ｔｒｕｅ）か否かを判断する。評価結果が適合すると判断された場合（ステップＳ１２５：Ｙ）には、制御部１０は、処理をステップＳ１２６に移す。他方、評価結果が適合しないと判断された場合（ステップＳ１２５：Ｎ）には、制御部１０は、処理をステップＳ１２７に移し、参照モデルには適合しないと判定（ｆａｌｓｅ）した後、本遷移処理を終了する。
【００５１】
他方、ステップＳ１２６では、制御部１０は、ＯｒｅｆがＯｅｘと等しいか又はＯｒｅｆがＯｅｘに含まれるか否かを判断する。ＯｅｘがＯｒｅｆに含まれるとしたのは、Ｏｅｘの方が、イベントが発生した際に生じる状態が様々存在することを考慮したからである。上記の条件に合致した場合（ステップＳ１２６：Ｙ）には、制御部１０は、処理をステップＳ１２８に移す。他方、上記の条件に合致しなかった場合（ステップＳ１２６：Ｎ）には、制御部１０は、上述のステップＳ１２７の処理を行った後、本遷移処理を終了する。
【００５２】
ステップＳ１２８では、制御部１０は、Ｓａｎｄｂｏｘ環境を復帰する。すなわち、保存されたＯｒｅｆ及びＯｅｘを復帰する。その後、上述のステップＳ１２９の処理を行い、本評価処理を終了する。
【００５３】
図９に戻って、ステップＳ１０６において、制御部１０は、遷移の評価結果が適合（ｔｒｕｅ）か否かを判断する。遷移の評価結果が適合する場合（ステップＳ１０６：Ｙ）には、制御部１０は、処理をステップＳ１０７に移す。他方、遷移の評価結果が適合しない場合（ステップＳ１０６：Ｎ）には、制御部１０は、上述のステップＳ１０９の処理を行い、本検証処理を終了する。
【００５４】
ステップＳ１０７では、制御部１０は、全ての遷移について行ったか否かを判断する。全てとは、上述のステップＳ１０４にて次にとりうる遷移が複数存在した場合に、その全てをいう。全ての遷移について行った場合（ステップＳ１０７：Ｙ）には、処理をステップＳ１０８に移す。他方、全ての遷移について行っていない場合（ステップＳ１０７：Ｎ）には、処理をステップＳ１０４に移し、他の遷移についても評価処理を行う。
【００５５】
ステップＳ１０８では、制御部１０は、参照モデルに適合すると判定（ｔｒｕｅ）し、本検証処理を終了する。
【００５６】
図８に戻って、ステップＳ５４では、制御部１０は、評価結果が適合（ｔｒｕｅ）か否かを判断する。検証の評価結果が適合である場合（ステップＳ５４：Ｙ）には、制御部１０は、ステップＳ５５にて参照モデルに適合すると判定（ｔｒｕｅ）した後、本処理を終了する。他方、検証の評価結果が適合でない場合（ステップＳ５４：Ｎ）には、制御部１０は、ステップＳ５６にて参照モデルに適合しないと判定（ｆａｌｓｅ）した後、本処理を終了する。
【００５７】
図８から図１０で説明したフローチャートをより理解するため、具体例を示す。図１１は、ｃｈｅｃｋｂｏｘの参照モデルである。この参照モデルについて、図８から図１０で説明したフローチャートを適用する。ここで、検証するコンテンツのｃｈｅｃｋｂｏｘを対象オブジェクトｏとする。この対象オブジェクトｏは、例えば、ｃｈｅｃｋｂｏｘをｏｎ／ｏｆｆするたびに、別ｗｉｎｄｏｗ側でコンテンツがロードされて表示されたり、表示されなくなったりするものである。
【００５８】
１．対象コンテンツの初期化。これは、対象オブジェクトｏがｄｒａｇやマウス操作等を受け付ける状態にまでコンテンツの状態を戻すことをさす。また、Ｏｅｘを空にする。
２．参照モデルの初期化。初期状態はｐ１であるため、現在の状態をｐ１とする。また、Ｏｒｅｆを空にする。
３．ｃｈｅｃｋ（ｏ，ｐ１）を評価する。以降、ｃｈｅｃｋ（）の説明に移る。
４．対象オブジェクトｏの状態を記録する。例えば、ｏにはｃｈｅｃｋｅｄプロパティが定義されており、初期値がｆａｌｓｅであったとする。そこで、ｃｈｅｃｋｅｄ：ｆａｌｓｅのペアを状態として記録する。
５．先ほどの状態（ｃｈｅｃｋｅｄ：ｆａｌｓｅ）は、記録済みではないため、辞書に新たに項目を追加し、現在の状態であるｐ１と結び付けて記録する。
６．ｐ１から遷移できる状態は図１１よりｐ２のみであるため、ｔｒａｎｓ（φ，ｃｌｉｃｋ，ｐ２）を評価する（ここでφは出力がないことを示す）。以降ｔｒａｎｓ（）の説明に移る。
７．（ｃｌｉｃｋ，ｐ２）はまだ検証されていないため、評価を継続する。
８．Ｓａｎｄｂｏｘ環境を保存し、Ｏｒｅｆ、Ｏｅｘを保存する。Ｏｒｅｆに対しては、ｏｕｔがφであるため、何も追加しない。
９．対象オブジェクトｏに対して、ｃｌｉｃｋを送出する。コンテンツが動作し、何らかの出力を出す。ここでは、例えば、ｇｅｔＵＲＬが出力されるものとする。そこで、Ｏｅｘ＝｛ｇｅｔＵＲＬ｝となる。
１０．再帰的にｃｈｅｃｋ（ｏ，ｐ２）を評価する。以降、同様にｃｈｅｃｋ（）の説明に移る。
１１．対象オブジェクトｏの状態を記録する。ここで、ｃｈｅｃｋｅｄプロパティの値がｔｒｕｅであったとする。そこで、ｃｈｅｃｋｅｄ：ｔｒｕｅのペアを状態として記録する。
１２．先ほどの状態（ｃｈｅｃｋｅｄ：ｔｒｕｅ）は、記録済みではないため、辞書に新たに項目を追加し、現在の状態であるｐ２と結び付けて記録する。
１３．ｐ２から遷移できる状態は、図１１よりｐ１のみであるため、ｔｒａｎｓ（φ，ｃｌｉｃｋ，ｐ１）を評価する。以降、再度ｔｒａｎｓ（）アルゴリズムの説明に移る。
１４．（ｃｌｉｃｋ，ｐ１）はまだ検証されていないため、評価を継続する。
１５．Ｓａｎｄｂｏｘ環境を保存し、Ｏｒｅｆ、Ｏｅｘを保存する。Ｏｒｅｆに対しては、ｏｕｔがφであるため、何も追加しない。
１６．対象オブジェクトｏに対して、ｃｌｉｃｋを送出する。コンテンツが動作し、何らかの出力を出す。ここでは、例えば、ｇｅｔＵＲＬが出力されるものとする。そこで、Ｏｅｘ＝｛ｇｅｔＵＲＬ，ｇｅｔＵＲＬ｝となる。
１７．再帰的にｃｈｅｃｋ（ｏ，ｐ１）を評価する。以降、同様にｃｈｅｃｋ（）の説明に移る。
１８．対象オブジェクトの状態を記録する。ここで、ｃｈｅｃｋｅｄプロパティの値がｆａｌｓｅであったとする。そこで、ｃｈｅｃｋｅｄ：ｆａｌｓｅのペアを状態として記録する。
１９．先ほどの状態（ｃｈｅｃｋｅｄ：ｔｒｕｅ）は、記録済みであり、辞書中にｐ１として記録されており、現在の状態であるｐ１と一致するため、評価は継続される。
２０．ｐ１から遷移できる状態は、ｐ２のみであるため、ｔｒａｎｓ（φ，ｃｌｉｃｋ，ｐ２）を評価する。以降、三度ｔｒａｎｓ（）アルゴリズムの説明に移る。
２１．（ｃｌｉｃｋ，ｐ２）は検証済みであるため、検証は適合となる。
２２．３番目のｃｈｅｃｋ（）アルゴリズムの評価に戻る。結果は適合であり、全ての遷移について行ったため適合となる。
２３．２番目のｔｒａｎｓ（）の評価に戻る。ｃｈｅｃｋ（）の結果は適合であるため、Ｏｒｅｆ⊆Ｏｅｘをチェックする。Ｏｒｅｆ＝φであるため、評価は継続される。
２４．Ｓａｎｄｂｏｘ環境を元に戻す。Ｏｒｅｆ及びＯｅｘを元に戻す。Ｏｒｅｆ＝φとなり、Ｏｅｘ＝｛ｇｅｔＵＲＬ｝となる。最終的に、ｔｒａｎｓ（）は適合となる。
２５．２番目のｃｈｅｃｋ（）アルゴリズムの評価に戻る。結果は適合であり、全ての遷移について行ったため適合となる。
２６．１番目のｔｒａｎｓ（）の評価に戻る。ｃｈｅｃｋ（）の結果は適合であるため、Ｏｒｅｆ⊆Ｏｅｘをチェックする。Ｏｒｅｆ＝φであるため、評価は継続される。
２７．Ｓａｎｄｂｏｘ環境を元に戻す。Ｏｒｅｆ及びＯｅｘを元に戻す。Ｏｒｅｆ＝φとなり、Ｏｅｘ＝φとなる。最終的に、ｔｒａｎｓ（）は適合となる。
２８．１番目のｃｈｅｃｋ（）アルゴリズムの評価に戻る。結果は適合であり、全ての遷移について行ったため適合となる。
２９．１番目のｃｈｅｃｋ（）アルゴリズムが適合と返してきたため、最終的に対象オブジェクトはｃｈｅｃｋｂｏｘ参照モデルに適合していると判定する。
【００５９】
次に、上述の説明により得ることができるアクセシビリティを、Ｆｌａｓｈのコンテンツの場合を例に説明する。図１２は、Ｆｌａｓｈコンテンツにおけるアクセシビリティ情報の取得方法を示す図である。
【００６０】
Ｆｌａｓｈは、ファイル・フォーマットのライセンス上、実験環境を作成することが難しい。ここで説明するのは、ＦｌａｓｈプレーヤであるＦｌａｓｈ  ＶＭに実験環境を構築できない場合であっても、Ｆｌａｓｈコンテンツの内部構造を解析してアクセシビリティ情報を推測する方法である。ここで、Ｗｅｂブラウザは、プロキシを経由してインターネットに接続する。方法の詳細は、以下の通りである。
【００６１】
まず、Ｗｅｂブラウザはインターネットに対してＨＴＭＬコンテンツの要求を行い、ＨＴＭＬコンテンツを得る（図中（１））。次に、取得したＨＴＭＬコンテンツの＜ｏｂｊｅｃｔ＞タグにより、Ｆｌａｓｈプレーヤが作成される（図中（２））。そして、Ｆｌａｓｈプレーヤは、Ｆｌａｓｈコンテンツに対する要求を行う過程で、プロキシからコンテンツ・ローダ（Ｃｏｎｔｅｎｔ  Ｌｏａｄｅｒ）を得る（図中（３））。コンテンツ・ローダは、リペア・スクリプト（Ｒｅｐａｉｒ  Ｓｃｒｉｐｔ）を要求し、プロキシからリペア・スクリプトを得る（図中（４））。また、コンテンツ・ローダが、Ｆｌａｓｈコンテンツを要求し、インターネットからＦｌａｓｈコンテンツを得る（図中（５））。
【００６２】
ここで、図中（４）でのリペア・スクリプトによりＯｂｊｅｃｔのｐｒｏｔｏｔｙｐｅ  ｐｒｏｐｅｒｔｙに関数を挿入することで、内部オブジェクト・モデルの情報の取得及び実験環境を構築する。Ｆｌａｓｈの内部状態と外部への出力を観測するため、置き換えが可能な副作用を持つ関数をフックすることで、値が変更される等の副作用が起こらないようにする。また、プロパティの変更や、視覚情報は、ＡｃｔｉｏｎＳｃｒｉｐｔでのｗａｔｃｈ関数を利用することによって観測することで、アクセシビリティ情報を推測する。
【００６３】
上述の説明により得たアクセシビリティ情報の、Ｆｌａｓｈコンテンツでの出力について説明する。Ｆｌａｓｈコンテンツの各オブジェクトには＿ａｃｃＰｒｏｐｓや＿ａｃｃＩｍｐｌと呼ばれる属性があり、Ｒｏｌｅや代替テキスト等のアクセシビリティのための情報をセットすることができる。したがって、これらの属性を設定することで、推測したアクセシビリティ情報を出力することができる。出力したアクセシビリティ情報は、スクリーン・リーダを介してユーザに音声で提供する。
【００６４】
しかし、Ｆｌａｓｈプレーヤにおいては、ボタンＲｏｌｅを適切に設定するために、やや特別な処理が必要となる。それは、例えば、Ｆｌａｓｈコンテンツでは、Ｂｕｔｔｏｎオブジェクトと呼ばれるボタンＲｏｌｅを表現するためのオブジェクトが存在し、これにおいて必要となる。Ｂｕｔｔｏｎオブジェクトは、Ｕｐ−ｆｒａｍｅやＯｖｅｒ−ｆｒａｍｅと呼ばれるフレームを持つ。Ｕｐ−ｆｒａｍｅ及びＯｖｅｒ−ｆｒａｍｅは、それぞれ、マウスがオブジェクトに当たっていない状態及びマウスがオブジェクトに当たった状態のＢｕｔｔｏｎのグラフィクスを保持している。図１３に、Ｂｕｔｔｏｎオブジェクトと呼ばれるボタンのＲｏｌｅを表現する例を示す。図１３（ａ）は、Ｕｐ−ｆｒａｍｅ及びＯｖｅｒ−ｆｒａｍｅのＢｕｔｔｏｎオブジェクト６４、テキスト・オブジェクト６５、及びテキスト・オブジェクト６５にＢｕｔｔｏｎオブジェクト６４を重ねた全体６３を説明する図である。ここで、テキスト・オブジェクトは、例えば、リンク先情報が書かれた画像データである。Ｕｐ−ｆｒａｍｅの場合、つまりマウスがオブジェクトに接していない場合は、矢印６１として表示され、Ｏｖｅｒ−ｆｒａｍｅの場合、つまりマウスがオブジェクトに接している場合は、手型矢印６２として表示される。また、Ｏｖｅｒ−ｆｒａｍｅでは、Ｂｕｔｔｏｎオブジェクトに下線が付される。図１３（ｂ）は、実際の使用例を示す。図中（Ａ）のＢｕｔｔｏｎオブジェクトは、手型矢印６２と接することにより図中（Ｂ）で示すように、下線が引かれる。
【００６５】
Ｆｌａｓｈプレーヤは、Ｕｐ−ｆｒａｍｅにグラフィックが設定されていない場合には、ボタンのサイズが０×０であると判断し、ボタンとしてアクセシビリティ情報を提供しない。このようなＵｐ−ｆｒａｍｅの問題を持ったボタンが検出された場合、正常にアクセシビリティ情報が出力されるプロキシとなるＢｕｔｔｏｎオブジェクトを作成し、そのプロキシとなるボタンに「ｃｌｉｃｋ」イベントが送られた場合、対象となる（Ｕｐ−ｆｒａｍｅの問題を持った）ボタンに対して「ｃｌｉｃｋ」イベントを送る。
【００６６】
次に、ＤＨＴＭＬのコンテンツの場合を例に説明する。ＤＨＴＭＬの環境では、スクリプトの実行は、ＥＣＭＡＳｃｒｉｐｔを実行するブラウザ上のＥＣＭＡＳｃｒｉｐｔ  ＶＭによって行われる。そのため、実験環境をＶＭ上に構築することは容易である。すなわち、ＶＭ上で、オブジェクトを監視するための機構、及び外部環境への操作を制御できるようにする。図１４は、ＤＨＴＭＬのコンテンツにおけるアクセシビリティ情報の取得方法を示す図である。図１４に示すように、ＥＣＭＡＳｃｒｉｐｔ  ＶＭにフック・コードを入れ込み、そこからアクセシビリティ情報を得るようにする。具体的には、部分的なオブジェクト監視機構であれば、Ｗｅｂブラウザの１つであるＭｏｚｉｌｌａで、拡張機能を実装することで行うことができる。また、視覚情報については、各オブジェクトのスタイル・プロパティを参照することによって取得する。
【００６７】
上述の説明により得た推測したアクセシビリティ情報の、ＤＨＴＭＬコンテンツでの出力について説明する。ＤＨＴＭＬコンテンツでは、ａｌｔ属性や、ｔｉｔｌｅ属性を修正することによって代替テキストを出力することができる。また、オブジェクトのＲｏｌｅ情報については、ＷＡＩ−ＡＲＩＡの仕様にしたがい、Ｒｏｌｅ属性を追加することによって、出力することができる。したがって、これらの属性を設定することで、推測したアクセシビリティ情報を出力することができる。
【００６８】
次に、図１５及び図１６を用いて、世界で有名なサイトのうちから、実際に本発明を利用した結果を説明する。図１５は、アクセシビリティ情報を得る前（Ｂｅｆｏｒｅ）と、アクセシビリティ情報を取得して自動的に修正を実施した後（Ａｆｔｅｒ）での、代表的なスクリーン・リーダの読み上げの例を示す。また、図１６は、（１）修正の前後でのボタンの総数、（２）出力されていないボタンの数、（３）キーボードで操作できず、出力すべきではないボタンの数、（４）代替テキストを持たないボタンの数を示している。これは、「×○△１」及び「○△□２」のあるＷｅｂページ上のコンテンツを用いる。「×○△１」では、修正前には４つのボタンが出力されたが、どのボタンにも「Ｂｕｔｔｏｎ」とあるだけで、何のボタンであるかを示す代替テキストはついていなかった。また、「○△□２」では、１９のボタンのうち１５のボタンに代替テキストがなく、代替テキストのある４つのボタンのうち１つは、キーボードで操作できないボタンであった。これらのコンテンツを自動修正した結果、「×○△１」では、出力されていなかった８つのボタンを出力することができ、それぞれのボタンに、代替テキストを付与することができた。しかし、修正前から出力されていた４つのボタンには適切な代替テキストを付与することができなかった。また、「○△□２」では、１５の代替テキストがないボタンのうち、１２のボタンに代替テキストを付与することができた。「○△□２」の場合では、キーボードで操作できないボタンを出力させないように修正することはできなかったが、全体として、自動的な修正によってアクセシビリティを改善させることが可能であることを証明することができた。
【００６９】
本発明によって、自動的にＦｌａｓｈコンテンツやＤＨＴＭＬコンテンツ等のＲＩＡのコンテンツにおけるアクセシビリティを向上することが可能になり、スクリーン・リーダを使ってそれらのコンテンツにアクセスするユーザに大きなメリットをもたらすことができる。例えば、「×○△１」及び「○△□２」では、本発明を利用しない場合には、ほとんどのオブジェクトについて代替テキストが存在せず、本来クリックすることができないボタンにすら「ボタン」とスクリーン・リーダが読み上げる。そのため、ユーザは、事実上全く操作することができない。しかし、本発明を適用した場合には、図１５及び図１６に示すように、多くのアクセシブルではないオブジェクトに対しても、ボタンであることの適切な情報及び代替テキストを付与することに成功している。このため、スクリーン・リーダの利用者も、これらのボタンを操作することができるようになる。
【００７０】
本発明によって、全てのオブジェクトに対してアクセシビリティを改善させることができるとは限らない。しかし、現在インターネットで配信されているほとんどのＦｌａｓｈコンテンツやＤＨＴＭＬコンテンツは、アクセシブルではなく、コンテンツの作成者自らがアクセシビリティを改善させることは期待しにくい。本発明によって、そういったコンテンツに対しても、完全ではないにせよ、自動的にアクセシビリティを確保することができる。
【００７１】
また、スクリーン・リーダを使うユーザへのメリットだけではなく、コンテンツの作成者にとっても、コンテンツをアクセシブルにするための手間を軽減させることができるというメリットがある。図１７は、アクセシビリティ情報取得装置２をコンテンツの作成に用いる例を示す。アクセシビリティ情報取得装置２は、視覚情報解析部２２及び役割推定部２３から、実行による解析ログ２８を取得し、アクセシビリティ情報取得装置２が有するログ解析部２７でログを解析することにより、編集時内部モデル２６にアクセシビリティ情報を出力する。コンテンツ作成者は、編集ツール９により編集時内部モデル２６を用いてコンテンツを作成することにより、ＷＡＩ−ＡＲＩＡの仕様にしたがったコンテンツを作成することができる。
【００７２】
ＦｌａｓｈコンテンツやＤＨＴＭＬコンテンツは、今後とも、リッチ・インターネット・アプリケーション（ＲＩＡ）において、重要なクライアント技術となることが予想され、アクセシビリティの改善は重要な課題である。本発明は、上述で詳細を説明したように、（１）オブジェクトの視覚的表示情報及び画面上に表示されているテキスト情報、（２）オブジェクトに割り当てられているシンボル情報、（３）オブジェクトの出力及び内部状態の変化、の主に３つの情報を利用してオブジェクトのアクセシビリティ情報を推定できるものである。このような本発明は、自動的に既存コンテンツのアクセシビリティを改善させるにとどまらず、今後開発されるコンテンツのアクセシビリティ確保にも貢献することができるため、本発明の重要性は、将来において更に大きくなるものと予測される。
【００７３】
図１８は、本発明の実施形態に係るアクセシビリティ情報取得装置１のハードウェア構成を示す図である。以下は、コンピュータを典型とする情報処理装置として全般的な構成を説明するが、専用機や組み込み型装置の場合、その環境に応じて必要最小限な構成を選択できることはいうまでもない。
【００７４】
アクセシビリティ情報取得装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０、バスライン１００５、通信Ｉ／Ｆ１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、パラレルポート１０８０、ＵＳＢポート１０９０、グラフィック・コントローラ１０２０、ＶＲＡＭ１０２４、音声プロセッサ１０３０、Ｉ／Ｏコントローラ１０７０、ならびにキーボード及びマウス・アダプタ等１１００の入力手段を備える。Ｉ／Ｏコントローラ１０７０には、フレキシブル・ディスク（ＦＤ）ドライブ１０７２、ハード・ディスク１０７４、光ディスク・ドライブ１０７６、半導体メモリ１０７８、等の記憶手段を接続することができる。グラフィック・コントローラ１０２０には、表示装置１０２２が接続されている。また、オプションとして、音声プロセッサ１０３０には、増幅回路１０３２及びスピーカ１０３４が接続される。
【００７５】
ＢＩＯＳ１０６０は、アクセシビリティ情報取得装置１の起動時にＣＰＵ１０１０が実行するブートプログラムや、アクセシビリティ情報取得装置１のハードウェアに依存するプログラム等を格納する。ＦＤドライブ１０７２は、フレキシブル・ディスク１０７１からプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０又はハード・ディスク１０７４に提供する。
【００７６】
光ディスク・ドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この際は各ドライブに対応した光ディスク１０７７を使用する必要がある。光ディスク・ドライブ１０７６は光ディスク１０７７からプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０又はハード・ディスク１０７４に提供することもできる。
【００７７】
アクセシビリティ情報取得装置１に提供されるコンピュータ・プログラムは、フレキシブル・ディスク１０７１、光ディスク１０７７、又はメモリカード等の記録媒体に格納されて利用者によって提供される。このコンピュータ・プログラムは、Ｉ／Ｏコントローラ１０７０を介して、記録媒体から読み出され、又は通信Ｉ／Ｆ１０４０を介してダウンロードされることによって、アクセシビリティ情報取得装置１にインストールされ実行される。コンピュータ・プログラムが情報処理装置に働きかけて行わせる動作は、既に説明した装置における動作と同一であるので省略する。
【００７８】
上述のコンピュータ・プログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としてはフレキシブル・ディスク１０７１、光ディスク１０７７、又はメモリカードの他に、ＭＤ等の光磁気記録媒体、テープ媒体を用いることができる。また、専用通信回線やインターネットに接続されたサーバシステムに設けたハード・ディスク又は光ディスク・ライブラリ等の記憶装置を記録媒体として使用し、通信回線を介してコンピュータ・プログラムをアクセシビリティ情報取得装置１に提供してもよい。
【００７９】
以上の例は、アクセシビリティ情報取得装置１について主に説明したが、コンピュータに、情報処理装置で説明した機能を有するプログラムをインストールして、そのコンピュータを情報処理装置として動作させることにより上記で説明した情報処理装置と同様な機能を実現することができる。したがって、本発明において１つの実施形態として説明した情報処理装置は、方法及びそのコンピュータ・プログラムによっても実現可能である。
【００８０】
本発明のアクセシビリティ情報取得装置１は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実施では、所定のプログラムを有するコンピュータ・システムでの実施が典型的な例として挙げられる。係る場合、該所定のプログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムに本発明に係る処理を実行させる。このプログラムは、任意の言語、コード、又は表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接実行すること、又は（１）他の言語、コード、もしくは表記への変換、（２）他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体を含むプログラム製品もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハード・ディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ可読媒体に格納することができる。係るプログラムは、コンピュータ可読媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の媒体から複製したりすることができる。また、係るプログラムは、圧縮し、又は複数に分割して、単一又は複数の記録媒体に格納することもできる。
【００８１】
以上、本発明を実施形態に則して説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態又は実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施形態に係るアクセシビリティ情報取得システムの構成の一例を示す図である。
【図２】オブジェクトの代替テキストを推定する処理のフローチャートである。
【図３】図２のフローチャートの内容を説明するための図である。
【図４】オブジェクトのＲｏｌｅを推定する処理のフローチャートである。
【図５】図４のフローチャートの内容を説明するための図である。
【図６】図４のフローチャートの内容を説明するための図である。
【図７】図４のフローチャートの内容を説明するための図である。
【図８】実際のオブジェクトが参照モデルを含んでいるかをチェックするフローチャートである。
【図９】実際のオブジェクトが参照モデルを含んでいるかをチェックするフローチャートである。
【図１０】実際のオブジェクトが参照モデルを含んでいるかをチェックするフローチャートである。
【図１１】ｃｈｅｃｋｂｏｘの参照モデルを示す図である。
【図１２】Ｆｌａｓｈコンテンツにおけるアクセシビリティ情報の取得方法を示す図である。
【図１３】ＢｕｔｔｏｎオブジェクトのＲｏｌｅを表現する例を示す図である。
【図１４】ＤＨＴＭＬのコンテンツにおけるアクセシビリティ情報の取得方法を示す図である。
【図１５】本発明を利用した結果を説明するための図である。
【図１６】本発明を利用した結果を説明するための図である。
【図１７】アクセシビリティ情報取得装置をコンテンツの作成に用いる例を示す図である。
【図１８】アクセシビリティ情報取得装置のハードウェア構成を示す図である。
【符号の説明】
【００８３】
１，２      アクセシビリティ情報取得装置
８          音声部
１０，２０  制御部
１１，２１  実験環境制御部
１２，２２  視覚情報解析部
１３，２３  役割推定部
１４，２４  コンテンツ実行エンジン
１５，２５  参照モデル記憶部
１６        内部モデル
２６        編集時内部モデル
２７        ログ解析部
２８        解析ログ
１５０      参照モデルテーブル
【図１】
0005110640.tif 000008
【図２】
0005110640.tif 000009
【図３】
0005110640.tif 000010
【図４】
0005110640.tif 000011
【図５】
0005110640.tif 000012
【図６】
0005110640.tif 000013
【図７】
0005110640.tif 000014
【図８】
0005110640.tif 000015
【図９】
0005110640.tif 000016
【図１０】
0005110640.tif 000017
【図１１】
0005110640.tif 000018
【図１２】
0005110640.tif 000019
【図１３】
0005110640.tif 000020
【図１４】
0005110640.tif 000021
【図１５】
0005110640.tif 000022
【図１６】
0005110640.tif 000023
【図１７】
0005110640.tif 000024
【図１８】
0005110640.tif 000025