JP2011034204A - コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置 - Google Patents

コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置 Download PDF

Info

Publication number
JP2011034204A
JP2011034204A JP2009177902A JP2009177902A JP2011034204A JP 2011034204 A JP2011034204 A JP 2011034204A JP 2009177902 A JP2009177902 A JP 2009177902A JP 2009177902 A JP2009177902 A JP 2009177902A JP 2011034204 A JP2011034204 A JP 2011034204A
Authority
JP
Japan
Prior art keywords
directed line
elements
line segment
reading
reading order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009177902A
Other languages
English (en)
Other versions
JP5005005B2 (ja
Inventor
Daisuke Sato
大介 佐藤
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 JP2009177902A priority Critical patent/JP5005005B2/ja
Priority to US12/844,462 priority patent/US8340424B2/en
Publication of JP2011034204A publication Critical patent/JP2011034204A/ja
Application granted granted Critical
Publication of JP5005005B2 publication Critical patent/JP5005005B2/ja
Priority to US13/677,395 priority patent/US8588526B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】コンテンツの読み上げ順序を視覚化するための技術を提供する。
【解決手段】読み上げ順序を視覚化するための視覚化装置は、読み上げ対象となる文字列を有する複数の要素の各々について、文字列の書字方向に基づいて、文字列が画面に表示される領域である要素領域を表示位置とし、かつ書字方向を示す有向線分を生成する有向線分生成部と、読み上げの順序で、生成した各要素の有向線分を記憶する記憶手段と、読み上げの順序に従って、各要素に対し生成された有向線分を連結し、画面に表示されている構造化文書に重ねて表示するオーバレイ描画部とを含む。
【選択図】図2

Description

本発明は、HTML文書等の構造化文書に含まれるコンテンツの読み上げ順序を視覚化するための技術に関し、特に、読み上げ順序の確認を容易にする技術に関する。
スクリーンリーダや音声ブラウザ等の音声読み上げアプリケーションは、HTML文書等の構造化文書に含まれるコンテンツを、DOM(Document Object Model)ツリーの順に読み上げる。そのため、コンテンツの読み上げを分り易くするには、意味のある順序でコンテンツを記述する必要がある。かかる要求は、W3C(World Wide Web Consortium)が勧告として公開するWeb Contents Accessiblility Guidelines 1.0のCheclk Point 6.1にも記載されている。詳しくは、http://www.w3.org/TR/WAI-WEBCONTENT/を参照されたい。
意味のある順序でコンテンツが記述されていることを検査するために、従来より、スクリーンリーダ等の音声読み上げアプリケーションによるコンテンツ読み上げ順序を確認することが行われている。
そのような確認方法の1つとして、テキスト化による確認方法がある。これは、HTML文書のソースコードの表示、スタイルシートによるレイアウトをオフにした状態でのHTML文書の表示、また、スクリーンリーダの読み上げをシミュレーションするツールの出力結果の表示等、コンテンツのテキスト化による確認方法である。
また他の確認方法として、番号表示による方法がある。これは、レイアウトはオンにしたままで、読み上げ順序の番号をHTML文書の上に重ねて表示する方法である(例えば、非特許文献1参照。)。
更にまた、ウェブページ全体における読み上げ位置を確認するための技術も存在する。例えば、特許文献1は、タグを利用して、範囲指定された部分を視覚的に表現するための情報を指定する技術を開示する。当該技術によれば、読み上げ指定された範囲の背景色や、文字の色や大きさなどを変えたり、網掛けをして表示させる等の設定をすることができる。また特許文献2は、読み上げ位置を、音声の高低や、長さ、強さ等の音の属性に置き換えて提示する技術を開示する。当該技術によれば、読み上げ位置が進む毎に、音の属性を変化させることができる。
更にまた、特許文献3は、ウェブページのユーザへの情報伝達機能の強化を目的として、タグを用いて、ウェブページに読み上げ対象テキストを指定する記述、および対象テキストの読み上げ順序を指定する記述をする技術を開示する。
特開2001−109612号公報 特開2006−171544号公報 特開2005−10992号公報
Kasday, L.R.,"A Tool to Evaluate Universal WebAccessibility", Proc. the 2000 conference on Universal Usability (ACM), pp.161-162, 2000.
しかしながらテキスト化による確認方法では、テキスト化されたコンテンツとスタイルシートによってレイアウトされたコンテンツとの対応関係を把握するのが難しい。そのため、テキスト化による確認方法には、確認に時間がかかるという問題や、直感的ではないため、初心者には使いこなせないという問題がある。
一方、番号表示による確認方法では、読み上げ順序の正確な把握が可能となる。しかしながら、番号表示による確認方法では、コンテンツ読み上げ順序の流れを把握するために、1つ1つ数字を追いかけなくてはならず、局所的な順番の入替えや、全体的なコンテンツ読み上げ順序の流れを把握するには、やはり時間がかかってしまう。
また特許文献1や2の技術は、現在の読み上げ位置を確認することを可能とする。しかしこれら技術では、1つ前の読み上げ位置や1つ先の読み上げ位置等、前後の読み上げ位置を確認できない。そのため、特許文献1や2の技術においても、全体的なコンテンツ読み上げ順序の流れや、局所的な順番の入替えを把握することができないという問題がある。
更に特許文献3の技術は、意味のある順序でコンテンツが記述されていなくても、コンテンツ読み上げを意味のある順序で行うことを可能とする。しかしながらかかる方法は、予めタグを用いて構造化文書に読み上げ順序を指定する記述をすることを必要とするので、手間がかかる。また、読み上げ順序の指定にはミスが起こりえることから、特許文献3の技術によっても、読み上げ順序の指定が正しくなされていることを確認する必要は依然として残る。
この発明は、上記の問題点を解決するためになされたものであって、構造化文書に含まれるコンテンツの読み上げ順序の確認を容易にする技術を提供することを目的とする。また本発明は、構造化文書内のコンテンツの読み上げ順序の局所的な入れ替わりや、全体的なコンテンツ読み上げ順序の流れを容易に把握することを可能とする技術を提供することを目的とする。
上記目的を達成するために、本発明では、構造化文書を描画したその上に、構造化文書内の要素の読み上げ順序を表示し、読み上げ順序の流れを視覚的に提示することとした。即ち、上記目的を達成する本発明は、次のような、プロセッサと記憶手段とを備えたコンピュータ・システムにおいて実行される、画面読み上げアプリケーションによるコンピュータ・システムの画面に表示された構造化文書内の要素の読み上げの順序を視覚化するための視覚化プログラムによって実現される。
上記視覚化プログラムは、前記コンピュータ・システムに、前記プロセッサが、前記アプリケーションによる読み上げの対象となる文字列を有する複数の要素の各々について、前記要素の前記文字列の書字方向に基づいて、前記要素の前記文字列が前記画面に表示される領域である要素領域を表示位置とし、かつ前記書字方向を示す有向線分を生成するステップと、前記プロセッサが、前記アプリケーションによる前記要素の読み上げの順序で、生成した各要素の有向線分を前記記憶手段に格納するステップと、前記プロセッサが、前記アプリケーションによる前記各要素の読み上げの順序に従って、前記記憶手段から前記各要素に対応する前記有向線分を読み出して連結し、前記画面に表示されている前記構造化文書に重ねて表示するステップとを実行させる。
ここで有向線分生成処理の単位となる構造化文書内の要素は、1文字、1行、1画像、1コントロール(ボタンやコンボボックステキスト入力等、フォームのための部品をいう)、1ノード(DOMツリーにおけるノードをいう)、1エレメント(DOMツリーにおけるエレメントをいう)等、構造化文書の任意の部分であってよい。ただし、いずれの要素を処理単位とするかは予め決定される。また要素に対して生成される有向線分は、直線に限らず曲線であってもよい。
好ましくは、前記要素の前記文字列の書字方向は、前記構造化文書内において指定された言語設定に関する言語情報及び書字方向を示す書字方向情報の少なくとも一方に基づいて決定される。
また好ましくは、前記要素領域が矩形の形状を有しかつ前記書字方向が横書きの場合は、前記要素領域が一定以上の高さを有することを条件に、前記要素に対応する前記有向線分は、前記書字方向を示しかつ前記要素領域の対角方向に延びる線分として生成される。また、前記要素領域が矩形の形状を有しかつ前記書字方向が縦書きの場合は、前記要素領域が一定以上の幅を有することを条件に、前記要素に対応する前記有向線分は、前記書字方向を示しかつ前記矩要素領域の対角方向に延びる線分として生成される。
また好ましくは、前記書字方向が横書きかつ前記要素領域が矩形の形状を有することを条件として、前記要素領域が一定未満の高さを有する場合は、前記要素に対応する前記有向線分は、前記書字方向を示しかつ前記要素領域の水平方向に延びる線分として生成される。また、前記書字方向が横書きかつ前記要素領域が矩形の形状を有することを条件として、前記要素領域が一定以上の高さを有する場合は、前記要素に対応する前記有向線分は、前記書字方向を示しかつ前記要素領域の対角方向に延びる線分として生成される。
また好ましくは、前記視覚化プログラムは、前記コンピュータ・システムに、前記プロセッサが、前記コンピュータ・システムの入力手段を介してユーザから、前記有向線分の表示の抽象度を示す抽象化パラメータを取得するステップと、前記プロセッサが、前記記憶手段に格納される前記有向線分の数が前記抽象化パラメータにより示される抽象度に相当する数になるまで又は前記記憶手段に合成可能な前記有向線分が存在しなくなるまで、前記要素の読み上げの順序において隣り合う2つの要素の組に対応する2つの前記有向線分の組を前記記憶手段から読み出して合成するステップと、前記プロセッサが、前記記憶手段に格納される前記2つの有向線分の組を、前記合成した有効線分で更新するステップとを更に実行させる。
より好ましくは、前記2つの有向線分の組の合成は、対応する2つの前記要素領域を包含する最小の領域に対する前記有向線分を生成することによりなされる。
更に好ましくは、前記2つの有向線分の組の合成は、対応する2つの前記要素領域を包含する最小の領域が、前記対応する2つの要素領域の和集合により近い前記2つの有向線分の組を優先して行われる。
また好ましくは、前記2つの有向線分の組の合成は、前記有向線分の向き及び大きさが類似する前記2つの有向線分の組を優先して行われる。
また好ましくは、 前記2つの有向線分の組の合成は、対応する2つの前記要素領域の和集合がより小さい前記2つの有向線分の組を優先して行われる。
また好ましくは、前記2つの有向線分の組の合成は、対応する2つの前記要素領域が水平方向又は垂直方向に整列している前記2つの有向線分の組を優先して行われる。
また好ましくは、前記合成するステップは、前記プロセッサが、前記要素の読み上げの順序において隣り合う前記2つの要素の組であって、各要素の前記書字方向の水平成分が左から右へ向かう場合において、読み上げ順番が後の前記要素の前記要素領域が、読み上げの順番が先の前記要素の前記要素領域の左側または上側に位置する前記2つの要素の組、または各要素の前記書字方向の水平成分が右から左へ向かう場合において、読み上げ順番が後の前記要素の前記要素領域が、読み上げの順番が先の前記要素の前記要素領域の右側または上側に位置する前記2つの要素の組について、該2つの要素の組に対応する2つの前記有向線分の組の合成を禁止するステップを含む。
また好ましくは、前記合成するステップは、前記プロセッサが、前記要素の読み上げの順序において隣り合う2つの前記要素の組であって、読み上げの順番が先の前記要素の表示位置と、読み上げ順番が後の前記要素の表示位置とが一定の距離以上離れている前記要素の組について、該2つの要素の組に対応する2つの前記有向線分の組の合成を禁止するステップを含む。
より好ましくは、合成を禁止された前記2つの有向線分の組は、前記構造化文書に重ねて表示される際に、合成を禁止されなかった他の前記有向線分と区別がつくような態様で表示される。
また好ましくは、前記有向線分の連結は、ベジエ曲線を利用して行われる。
以上、画面読み上げアプリケーションによるコンピュータ・システムの画面に表示された構造化文書内の要素の読み上げの順序を視覚化するための視覚化プログラムとして本発明を説明した。しかし、本発明は、構造化文書内の要素の読み上げの順序を視覚化するための上記視覚化プログラムを記録した記録媒体、視覚化プログラムをコンピュータ・システムにインストールすることにより実現される、構造化文書内の要素の読み上げの順序を視覚化するための視覚化装置、またそのような視覚化装置により実行される、構造化文書内の要素の読み上げの順序を視覚化するための視覚化方法として把握することもできる。
本発明によれば、構造化文書を描画したその上に、構造化文書内の要素の読み上げ順序を表示し、読み上げ順序の流れが視覚的に示されるので、構造化文書に含まれるコンテンツの読み上げ順序の確認が容易になり、構造化文書内のコンテンツの読み上げ順序の局所的な入れ替わりや、全体的なコンテンツ読み上げ順序の流れも把握することが可能となった。本発明のその他の効果については、各実施の形態の記載から理解される。
図1は、本発明の実施形態に係るコンピュータ・システム50のハードウェア構成の一例を示す。 図2は、本実施形態に係る視覚化装置200の機能構成の一例を示す。 図3は、表示属性の一例を示す。 図4(a)は、有向線分の一例を示す。図5(b)は、有向線分の他の一例を示す。図5(c)は、有向線分の更に他の一例を示す。図5(d)は、有向線分の更に他の一例を示す。 図5は、連結された有向線分の一例を示す。 図6(a)は、合成処理前の連結した有向線分の一例を示す。図6(b)は、合成処理後の連結した有向線分の一例を示す。図6(c)は、合成処理後の連結した有向線分の他の一例を示す。 図7(a)は、合成処理前の2つの有向線分の一例を示す。図7(b)は、合成処理後の有向線分の一例を示す。 図8(a)は、合成が禁止される第1のケースの一例を示す。図8(b)は、図8(a)に示す第1のケースにおいて、合成を行った後の有向線分の一例を示す。 図9(a)は、合成が禁止される第2のケースの一例を示す。図9(b)は、図9(a)に示す第2のケースにおいて、合成を行った後の有向線分の一例を示す。 図10(a)は、合成が禁止される第3のケースの一例を示す。図10(b)は、図10(a)に示す第3のケースにおいて、合成を行った後の有向線分の一例を示す。 図11は、本実施形態に係る画面に表示された構造化文書内の要素の読み上げの順序を視覚化するための処理の流れの一例を示すフローチャートを示す。 図12は、図11に示すフローチャートのステップ1100の前処理の流れの一例を示すフローチャートを示す。 図13は、図11に示すフローチャートのステップ1115の有向線分の合成処理の流れの一例を示すフローチャートを示す。 図14(a)は、本発明を適用した、読み上げ順番を入れ替えるプログラムのユーザインタフェースの一例を示す。図14(b)は、図14(a)に示すユーザインタフェースを利用して順番を入れ替える途中の様子を示す画面の一例を示す。図14(c)は、図14(b)に示す入替えが完了した後の画面の一例を示す。図14(d)は、図14(b)と同様の処理を繰り返して全部の順番を入替えた後の画面の一例を示す。
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
図1は、本発明の実施の形態に係る視覚化装置を実現するのに好適なコンピュータ・システム50のハードウェア構成の一例を示した図である。コンピュータ・システム50は、バス2に接続されたメインCPU(中央処理装置)1とメインメモリ4を含んでいる。ハードディスク装置13、30、およびCD−ROM装置26、29、フレキシブル・ディスク装置20、MO装置28、DVD装置31のようなリムーバブル・ストレージ(記録メディアを交換可能な外部記憶システム)がフレキシブル・ディスクコントローラ19、IDEコントローラ25、SCSIコントローラ27などを経由してバス2へ接続されている。
フレキシブル・ディスク、MO、CD−ROM、DVD−ROMのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置13、30、ROM14には、オペレーティング・システムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。即ち、視覚化装置としてのコンピュータ・システム50の上記説明した数々の記憶装置には、コンピュータ・システム50の画面に構造化文書を表示するアプリケーションや画面に表示された構造化文書内の要素の読み上げの順序を視覚化するための視覚化プログラムを格納できる。そしてこれら複数のコンピュータ・プログラムはメインメモリ4にロードされることによってCPU1により実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
コンピュータ・システム50は、キーボード/マウス・コントローラ5を経由して、キーボード6やマウス7のような入力デバイスからの入力を受ける。コンピュータ・システム50は、オーディオコントローラ21を経由して、マイク24からの入力を受け、またスピーカー23から音声を出力する。コンピュータ・システム50は、視覚データをユーザに提示するための表示装置11に、グラフィックスコントローラ10を経由して接続される。コンピュータ・システム50は、ネットワーク・アダプタ18(イーサネット(R)・カードやトークンリング・カード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
以上の説明により、本発明の実施の形態に係る視覚化装置を実現するのに好適なコンピュータ・システム50は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。なお、上記説明した構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
次に、このような本実施形態に係る視覚化装置200の具体的な構成について説明する。図2は、画面に表示された構造化文書内の要素の読み上げの順序を視覚化するための視覚装置200の機能構成の一例を示す図である。本発明の実施形態に係る視覚装置200は、シミュレーション部202と、シミュレーション結果格納部203と、文字列抽出部205と、表示属性算出部210と、書字方向決定部215と、有向線分生成部220と、メモリ225と、オーバーレイ描画部230と、抽象化パラメータ取得部235と、合成部240とを備える。なお、図2には、コンピュータ・システム50の画面に構造化文書を表示するアプリケーション250も合わせて図示する。
アプリケーション250は、描画データ生成部255と描画部260とを含み、構造化文書を読み込んで表示装置11の画面に表示する任意のアプリケーションである。描画データ生成部255は読み込んだ構造文書を解析して描画データを生成し、生成した描画データをアプリケーション250内部の図示しないメモリに一旦格納する。描画部260は該メモリに格納される描画データを参照して、構造化文書に含まれるテキストデータや画像データを表示装置11の画面に表示する。
このようなアプリケーション250は、ブラウザや、アクセシビリティ・チェッカー等のブラウザの描画エンジンの機能を有するアプリケーションであってよい。本実施例では、アプリケーション250はブラウザであるとして説明する。この場合、描画データ生成部255は、構造化文書を解析して構造化文書の構造に対応したDOMを生成し、該DOMを、オブジェクト間の入れ子関係を表現するツリー構造としてメモリに保持する。なお、メモリに格納されるデータは、描画部260のみならず、視覚装置200、具体的には、後述するシミュレーション部202、文字列抽出部205、表示属性算出部210及び書字方向決定部215によっても参照される。
シミュレーション部202は、アプリケーション250内部の上記メモリを参照して、スクリーンリーダや音声ブラウザ等の画面読み上げアプリケーションによる画面の読み上げをシミュレーションする。即ち、シミュレーション部203は、画面に表示されている内容がスクリーンリーダ等の画面読み上げアプリケーションによりどのように読み上げられるかを推測し、読み上げ対象となる要素を、推測した読み上げの順序に並べて、後述するシミュレーション結果格納部203へ格納する。
本実施例では、シミュレーション部202は、ユーザによる読み上げ位置のコントロールがなされない場合の画面読み上げアプリケーションによる画面読み上げをシミュレーションし、構造化文書中に現れる順番で読み上げ対象となる要素の文字列を並べて、後述するシミュレーション結果格納部203へ格納する。なお、読み上げ対象となる要素であるか否かの判断は、単純に文字列を有する要素であるか否かにより判断するのではなく、好ましくは以下のように行う。
例えば、シミュレーション部202は、スタイルによりdisplay:noneと指定されて画面上に表示されない要素は、たとえ文字列が含まれていても読み上げ対象となる要素ではないと判断する。また、IMGやAREAといった要素の場合、シミュレーション部202は、該要素に対し、alt属性に指定された文字列を抽出し読み上げ対象の要素とする。更にalt属性が指定されていない画像のみを含むリンクがあった場合には、スクリーンリーダ等の画面読み上げアプリケーションは重要であると判断しURLの一部を読み上げ文字列として採用するので、シミュレーション部202も同様にURLの一部を抽出して読み上げ対象となる要素とする。
シミュレーション結果格納部203は、シミュレーション部202による画面読み上げのシミュレーション結果を格納する。シミュレーション結果格納部203に格納されるシミュレーション結果は、後述する文字列抽出部205により利用される。
文字列抽出部205は、アプリケーション250内部の上記メモリと、シミュレーション結果格納部203に格納されるシミュレーション結果とを参照して、アプリケーション250により読み込まれ表示部11に表示された構造化文書内の複数の要素のうち、スクリーンリーダや音声ブラウザ等の画面読み上げアプリケーションによる読み上げの対象となる文字列を有する要素を全て抽出する。抽出された各要素と対応する文字列の情報は、シミュレーション部202が推測した画面読み上げアプリケーションによる読み上げの順に並べて後述する表示属性算出部210、書字方向決定部215及び有向線分生成部220へ渡される。なお、以下ではシミュレーション部202が推測した画面読み上げアプリケーションによる読み上げの順序を、画面読み上げアプリケーションによる読み上げの順序、又は単に読み上げの順序と記載する。
なお、文字列抽出部205がその処理単位とする構造化文書内の要素は、上述したように、1文字、1行、1画像、1コントロール、1ノード、1エレメント等構造化文書の任意の部分であってよい。文字列抽出部205の処理の単位となる構造化文書内の要素は、後述する有向線分生成処理の単位ともなるため、読み上げ順序の流れを正確に表現する観点から小さいほど好ましい。しかし1文字がどの矩形領域に描画されているか取得することは難しく、従って実際は、処理単位とする構造化文書内の要素は、実装時に実装上の都合や効率的な計算処理の観点から決定される。本実施例では、処理単位とする構造化文書内の要素は1ノードとする。なお以下では、処理単位とする構造化文書内の要素を、単に、構造化文書内の要素と記載する。
表示属性算出部210は、文字列抽出部205から受け取った読み上げ対象となる各要素について、アプリケーション250内部の上記メモリを参照して、該要素の表示属性を算出する。ここで要素の表示属性とは、要素の位置と大きさをいう。このような要素の位置や大きさは、アプリケーション250のウィンドウサイズによって変化するため、表示属性算出部210は、アプリケーション250による構造化文書の読み込み及び描画を待って、描画データ生成部255が生成した描画データを参照して表示属性を算出する。算出された各要素の表示属性の情報は、後述する有向線分生成部220へ渡される。
なお、本実施例のように第1のアプリケーション250がブラウザである場合、表示属性は、W3Cが定める標準のインタフェースを使用して算出することができる。W3Cでは、構造化文書内の各要素は、親要素の表示位置に対する相対位置の属性(offsetLeft, offsetTop)をスタイル情報に持つよう定められている。従って例えばJavascripを使用する場合、相対位置の属性はelement.style.offsetLeftと指定して参照することができる。なお、取得できるのは相対位置であるため、絶対位置を計算するには親要素を順に辿って絶対位置を計算する必要がある。
図3に、文字列「あああああああ」を有する要素を例として、表示属性算出部210が算出する要素の位置と大きさを示す。この場合算出される要素の位置は(left, top)、(left, top + height) 、(left + width, top)、(left + widht, top + height)である。また算出される要素の大きさはwidth x heightである。
書字方向決定部215は、アプリケーション250内部の上記メモリを参照して、構造化文書内において指定された言語設定に関する言語情報及び書字方向を示す書字方向情報の少なくとも一方に基づき、要素の文字列の書字方向を決定する。決定された各要素の書字方向の情報は、後述する有向線分生成部220へ渡される。
例えばHTMLでは、lang属性によって使用言語を、またdir属性によって書字方向が指定される。具体的には、lag=”ja”の場合、使用言語は日本語である。またdir属性にはltrとrtlのいずれか一方を設定でき、dir=”ltr”の場合、書字方向は左から右(left-to-right)であり、dir=”rtr”の場合、書字方向は右から左(right-to-left)である。なお、これら2つの属性はほとんど全ての要素に指定でき、指定がない場合は親要素から継承される。
また縦書きの表示設定は、縦書きを希望する要素にスタイル属性を持たせ、その属性値としてwriting-mode:tb-rlを指定することによりなされる。ここでtb-rlは、要素内で文字が上から下、右から左へ(top〜bottom-right〜left)流れることを示す。なお、デフォルトではwriting-mode:lr-tb属性となっており、これは要素内で文字が左から右、上から下へ(left〜right -top〜bottom)流れることを示す。
そこで書字方向決定部215は、書字方向情報を取得できる場合は、該書字方向情報に基づいて、要素の文字列の書字方向を決定する。また、言語情報のみしか取得できない場合は、書字方向決定部215は、該言語情報に基づいて書字方向を決定する。例えば言語情報が日本語や英語であることを示す場合、書字方向決定部215は、書字方向を左横書きと決定する。また言語情報がアラビア語であることを示す場合、書字方向決定部215は、書字方向を右横書きと決定する。
有向線分生成部220は、文字列抽出部205から受け取った、画面読み上げアプリケーションによる読み上げの対象となる文字列を有する複数の要素の各々について、表示属性算出部210から受け取った各要素の表示属性の情報と、書字方向決定部215から受け取った要素の文字列の書字方向に基づいて、要素の文字列が画面に表示される領域である要素領域を表示位置とし、かつ書字方向を示す有向線分を生成する。生成された有向線分は、画面読み上げアプリケーションによる要素の読み上げの順序に並べてメモリ225に記憶される。
一例として、有向線分生成部220は、書字方向が横書きかつ要素領域が矩形の形状を有することを条件として、矩形の要素領域が一定未満の高さを有する場合は、要素に対応する有向線分を、書字方向を示しかつ矩形の要素領域の水平方向に延びる線分として生成する(図4(a)参照)。同様に、有向線分生成部220は、書字方向が横書きかつ要素領域が矩形の形状を有することを条件として、矩形の要素領域が一定以上の高さを有する場合は、要素に対応する有向線分を、書字方向を示しかつ矩形の要素領域の対角方向に延びる線分として生成する(図4(b)参照)。
また一例として、有向線分生成部220は、要素領域が矩形の形状を有しかつ書字方向が横書きの場合は、矩形の要素領域が一定以上の高さを有することを条件に、要素に対応する有向線分を、書字方向を示しかつ矩形の要素領域の対角方向に延びる線分として生成する。同様に、有向線分生成部220は、要素領域が矩形の形状を有しかつ書字方向が縦書きの場合は、矩形の要素領域が一定以上の幅を有することを条件に、要素に対応する有向線分を、書字方向を示しかつ矩形の要素領域の対角方向に延びる線分として生成する。
なお有向線分は、対応する要素の文字列の流れを表現することを目的として生成するものである。従って有向線分は、対応する要素の文字列の流れを適切に表現するものであれば、直線だけでなく曲線であってもよく、または一部を曲線とする線分であってもよい。例えばdivなどのブロック要素に文字列がある場合、これら文字列は折り返されて複数行に亘って表示される。本実施例によれば1ノードであるブロック要素の複数行に亘る領域全体が1つの要素領域となるが、このようなケースでは、1つの要素内で複数回左から右へ向かうような線分を有向線分として生成してもよい(図4(c)参照)。
また、ブロック要素のブロック中にfloatで指定された画像が存在する場合、テキストが画像に沿ったL字型の領域に表示されることもある。このようなケースでは、L字型に曲がった線分を有向線分として生成してもよい(図4(d)参照)。
オーバーレイ描画部230は、画面読み上げアプリケーションによる各要素の読み上げの順序に従って、メモリ225から各要素に対応する有向線分を読み出して順次連結し、表示装置11の画面に表示されている構造化文書に重ねて表示する。オーバレイ描画部2230による各有向線分の連結は、各有向線分を順次直線で結ぶことにより行ってよいが、2次や3次のベジエ曲線を利用して一筆書きの雰囲気を出すように行ってもよい(図5参照)。
例えば2つの有向線分A及びBが読み上げ順において隣り合っていると仮定して、有向線分A及びBを3次のベジエ曲線により連結することを考える。一例として、有向線分Aの中間点と、有向線分Aの終点と、有向線分Aの終点と、有向線分Aの終点と有向線分Bの始点との中間点とを制御点とするベジエ曲線と、有向線分Aの終点と有向線分Bの始点との中間点と、有向線分Bの始点と、有向線分Bの始点と、有向線分Bの中間点とを制御点とするベジエ曲線により、有向線分Aの中間点から有向線分Bの中間点までの曲線を表現できる。
上述したように、各要素の有向線分は、該要素の文字列の読み上げ順の流れを表現するものであるが、オーバーレイ描画部230により有向線分を連結することによって、更に、要素間の読み上げ順序の流れが表現される。なお、読み上げ順序の流れの方向を強調するために、有向線分にその向きを示す矢印を追加してもよく、また2つの有向線分を連結する連結部分の線分に、要素間の読み上げ順序を示す矢印を追加してもよい(図5参照)。
抽象化パラメータ取得部235は、キーボード6やマウス7等の入力手段を介して、ユーザから有向線分の表示の抽象度を示す抽象化パラメータを取得する。例えば、画面に一度に表示される要素の数が多いと、要素の文字列の上に重ねて表示される有向線分の数もそれに応じて多くなり、画面が非常に見にくくなってしまう。そこで本実施例では、有向線分を重ねて表示することにより画面が見にくくなる場合に、ユーザにより指定された抽象度に基づいて2つの有向線分を1つにまとめて抽象化する。
有向線分の抽象化の程度は、ユーザから取得した抽象化パラメータの値により決定される。即ち、抽象化パラメータ取得部235は、抽象化パラメータの値を用いて、有向線分の抽象化後の目標数を算出する。一例として、抽象化パラメータの取得は、有向線分の抽象度を調整するためのスクロールバースライダを画面に表示し、ユーザにスライダの位置を指定させることにより行ってもよい。例えば10段階のスライダを用意したとすると、スライダの位置に応じて有向線分の抽象化後の目標数を、要素数の100%、90%、80%、…というように決定してよい。
図6は、抽象化処理前と抽象化処理後の連結した有向線分の一例を示す。図6(a)は、抽象化処理前の連結した有向線分の一例を示す。図6(b)は、中程度の抽象化処理後の連結した有向線分の一例を示す。図6(c)は、抽象度のより高い抽象化処理後の連結した有向線分の一例を示す。図6を見ると分るように、抽象度が高いほど画面が見やすくなり、一方、抽象度が低いほど読み上げ順の流れが画面上に詳細に示される。
また、画面に一度に表示される要素の数が少ない場合を考慮して、抽象化パラメータ取得部235は、予めその内部に有向線分の最低数を用意しておいてもよい。例えば画面に一度に表示される要素の数が1000ある場合は、スライダで最高の抽象化度を指定し、有向線分の抽象化後の目標数を要素数の10%としても、有向線分はまだ100ある。しかし、画面に一度に表示される要素の数が50しかない場合は、最高の抽象化度を指定して有向線分の抽象化後の目標数を要素数の10%とすると、有向線分は5になってしまう。そこで例えば有向線分の最低数を予め20と設定しておくことにより、有向線分の抽象化後の数が20以下にならないように調整できる。なお、抽象化パラメータ取得部235により算出された有向線分の抽象化後の目標数と、有向線分の最低数は、後述する合成部240へ渡される。
合成部240は、メモリ225に格納される有向線分の数が抽象化パラメータにより示される抽象度に相当する数になるまで又はメモリ225に合成可能な有向線分が存在しなくなるまで、要素の文字列の読み上げの順序において隣り合う2つの要素の組に対応する2つの有向線分の組をメモリ225から読み出して合成する。そして、合成部240は、メモリ225に格納される有向線分を、合成の結果で更新する。該更新に応答して、オーバーレイ描画部230は、再び画面読み上げアプリケーションによる各要素の読み上げの順序に従って、メモリ225から各要素に対応する有向線分を読み出して連結し、表示装置11の画面に表示されている構造化文書に重ねて表示する。
ここで、好ましくは2つの有向線分の組の合成は、対応する2つの要素領域を包含する最小の領域に対して有向線分を生成することによりなされる。これを、図7を参照して説明する。まず、図7(a)に示すような、読み上げの順序において隣り合う2つの要素700及び710の組に対応する、2つの有向線分705及び715の組があったとする。なお図7では、図4(a)及び(b)を参照して説明した方法により有向線分を生成するものとする。すると合成は、対応する2つの要素領域700と710とを包含する最小の領域720に対して有向線分を生成することによりなされるので、合成後の有向線分は、上から下へ向かう、最小の矩形領域720の対角線725となる。
なお、2つの有向線分の組の中には、合成後も対応する要素の文字列の流れを適切に表現することができるものもあれば、合成することによって、対応する要素の文字列の流れを適切に表現することができなくなるものもある。そこで、本実施例では、そのように合成後も対応する要素の文字列の流れを適切に表現することができる2つの有向線分の組を優先して合成処理することとした。また本実施例では、合成することによって、対応する要素の文字列の流れを適切に表現できなくなってしまうような2つの有向線分の組を合成処理の対象から除外することとした。
合成を禁止する2つの有向線分の組の識別は、具体的には次のようにして行う。即ち、本実施例では、読み上げの順序において隣り合う2つの有向線分a及びbの組ごとに、次の(A1)及び(A2)にそれぞれ定める位置関係が、2つの有向線分a及びbの間に成り立つか否かを判断する。(A1)または(A2)のいずれか一方でもその位置関係が成り立つと判断された有向線分の組は、合成処理の対象から除外する。なお以下では、読み上げの順序は有向線分aに対応する文字列が先であるとする。
(A1)書字方向の水平成分が左から右へ向かう場合は、有向線分bの要素領域が、有向線分aの要素領域の左側または上側に位置する。書字方向の水平成分が右から左へ向かう場合は、有向線分bの要素領域が、有向線分aの要素領域の右側または上側に位置する。
(A2)有向線分aの要素領域と有向線分bの要素領域とが一定の距離以上離れている。
図8は、隣り合う2つの有向線分a及びbの組が、(A1)に定める「書字方向の水平成分が左から右へ向かう場合において、有向線分bの要素領域が、有向線分aの要素領域の左側に位置する」という位置関係を満たす一例を示す図である。
図8(a)において、番号がついた各矩形領域は、各要素の要素領域を示し、要素領域内の線分は対応する有向線分を示す。また番号は、要素間の読み上げ順序を示す。図8(a)では、番号3の要素領域に対応する有向線分と番号4の要素領域に対応する有向線分との組が、上記位置関係を満たす。これら有向線分の組を合成した後の有向線分を図8(b)に示す。図8(b)を見ると分るように、合成後の有向線分は、番号4の要素領域から番号3の要素領域を指し、合成前の要素間の読み上げ順序を適切に表現しないものとなっている。
図9は、隣り合う2つの有向線分a及びbの組が、(A1)に定める「書字方向の水平成分が左から右へ向かう場合において、有向線分bの要素領域が、有向線分aの要素領域の上側に位置する」という位置関係を満たす一例を示す図である。
図9(a)において、番号がついた各矩形領域は、各要素の要素領域を示し、要素領域内の線分は対応する有向線分を示す。また番号は、要素間の読み上げ順序を示す。図9(a)では、番号2の要素領域に対応する有向線分と番号3の要素領域に対応する有向線分との組が、上記位置関係を満たす。これら有向線分の組を合成した後の有向線分を図9(b)に示す。図9(b)を見ると分るように、合成後の有向線分は、番号3の要素領域から番号2の要素領域を指し、合成前の要素間の読み上げ順序を適切に表現しないものとなっている。
図10は、隣り合う2つの有向線分a及びbの組が、(A2)に定める「有向線分aの要素領域と有向線分bの要素領域とが一定の距離以上離れている。」という位置関係を満たす一例を示す図である。
図10(a)において、番号がついた各矩形領域は、各要素の要素領域を示し、要素領域内の線分は対応する有向線分を示す。また番号は、要素間の読み上げ順序を示す。図10(a)では、番号1の要素領域に対応する有向線分と番号2の要素領域に対応する有向線分との組が、上記位置関係を満たす。これら有向線分の組を合成した後の有向線分を図10(b)に示す。図10(b)を見ると分るように、合成後の有向線分は、番号1の要素領域と番号2の要素領域の間に位置する番号3の要素領域に対応する有向線分と交わり、読み上げ順の流れを混乱させるものとなっている。
また、優先して合成処理を行う2つの有向線分の組の識別は、具体的には次のようにして行う。なお、該識別は、合成を禁止する有向線分の組の識別に平行して、または、合成を禁止すべき不適切な組を除外した後に行う。本実施例では、読み上げの順序において隣り合う2つの有向線分の組ごとに、次の(B1)〜(B4)の判断基準に基づいてそれぞれ重みW1〜W4を計算する。そして各判断基準に対して計算した重みW1〜W4の合計を求め、合計が最も小さい組について合成処理を行う。
なお、本実施例では任意の有向線分Xに対応する要素の要素領域は全て矩形とする。またここでも、判断対象となる2つの有向線分の組を有向線分a及びbとし、任意の有向線分Xについて、その要素領域の幅をX.width、要素領域の高さをX.height、また要素領域の画面向かって左上の座標を(X.left、X.top)と表す。更に、dw = a.width - b.width、dh = a.height– b.height、dl = a.left- b.left、dt = a.top– b.top、X.area = X.width x X.heightとする。
(B1)有向線分の向き及び大きさが類似する2つの有向線分の組を優先して合成する。
W1 = dw + dh
(B2)対応する2つの要素領域が水平方向又は垂直方向に整列している2つの有向線分の組を優先して合成する。この際K>Kとして、水平方向に連続している要素を優先する。
W2 = Kx dl + K x dt
(B3)対応する2つの要素領域を包含する最小の領域が、対応する2つの要素領域の和集合により近い2つの有向線分の組を優先して合成する。
W3 = c.area – (a.area + b.area)
(B4)対応する2つの要素領域の和集合がより小さい2つの有向線分の組を優先して合成する。
W4 = a.aera + b.area
なお一度合成処理を行うと、合成後の有向線分とペアになる組について重みの値が変化するので、次の合成処理を行う前に、重みの値が変化する前後2つの組について、再度重みを計算しなおす。そして再び重みの合計が最小となる組を探し、該組について合成処理を行う。合成部240は、上記処理を、メモリ225に格納される有向線分の数が抽象化パラメータにより示される抽象度に相当する数になるまで又はメモリ225に合成可能な有向線分が存在しなくなるまで繰り返す。
合成部240はまた、抽象化パラメータ取得部235から新たな有向線分の抽象化後の目標数を受け取ると、新たな有向線分の抽象化後の目標数を基に再度合成処理をやり直す。
次に図11乃至図13を参照して、構造化文書内の要素の読み上げの順序を視覚化するための視覚装置200の動作を説明する。なお、視覚装置200の動作は、アプリケーション250が構造化文書を読み込んで表示装置11の画面に描画した後に開始する。ここで構造化文書は、ネットワーク・アダプタ18等を介してネットワーク上の他のコンピュータから受信したものでもよく、またはハードディスク装置13、30等のストレージに記憶されたものでもよい。
図11において処理はステップ1100から開始し、アプリケーション250による構造化文書の描画に応答して、視覚化装置200は読み上げ順序の視覚化のための前処理を行う。なお前処理の詳細は図12を参照して後述する。次に視覚化装置200の有向線分生成部220は、画面読み上げアプリケーションによる読み上げの対象となる文字列を有する複数の要素の各々について、該要素の文字列の書字方向に基づいて、要素の要素領域を表示位置とし、かつ書字方向を示す有向線分を生成する(ステップ1105)。生成された複数の有向線分は、有向線分生成部220により画面読み上げアプリケーションによる読み上げの順序でメモリ225に格納される。
次にステップ1110において、視覚化装置200の抽象化パラメータ取得部235は、マウス7等の入力装置を介してユーザから抽象化パラメータの値を取得し、該抽象化パラメータの値に基づいて抽象化後の有向線分の目標数を算出する。算出された抽象化後の有向線分の目標数は、抽象化後の有向線分の最低数とともに、抽象化パラメータ取得部235から視覚化装置200の合成部240へ渡される。
続いて処理はステップ1115へ進み、合成部240は、メモリ225に格納される有向線分の数が抽象化パラメータにより示される抽象度に相当する数になるまで又はメモリ225に合成可能な有向線分が存在しなくなるまで、要素の読み上げの順序において隣り合う2つの要素の組に対応する2つの有向線分の組をメモリ225から読み出して合成する。そして合成部240は、メモリ225に格納される有向線分の情報を、合成した有向線分の情報で更新する。なお合成処理の詳細は図13を参照して後述する。
次に視覚化装置200のオーバーレイ描画部230は、画面読み上げアプリケーションによる要素の文字列の読み上げの順序に従って、メモリ225から各要素に対応する有向線分を読み出して連結し、表示装置11の画面に表示されている構造化文書のデータに重ねて表示する(ステップ1120)。そして抽象化パラメータ取得部235は、ユーザにより新たに抽象化パラメータの値が入力されたか否か判定する(ステップ1125)。ユーザにより新たな抽象度が指定された場合(ステップ1125:YES)処理はステップ1110へ戻る。一方ユーザにより新たな抽象度が指定されなかった場合(ステップ1125:NO)処理は終了する。
図12は、図11に示すフローチャートのステップ1100の前処理の流れの一例を示す。処理はステップ1200から開始し、視覚化装置200の文字列抽出部205は、構造化文書の各要素から、第2アプリケーションによる読み上げの対象となる文字列を抽出する。続いて視覚化装置200の表示属性算出部210は、文字列抽出部205から受け取った読み上げ対象となる各要素について、該要素の位置、大きさといった表示属性を算出する(ステップ1205)。算出された各要素の表示属性は、表示属性算出部210から有向線分生成部220へ渡される。
続いて処理はステップ1210へ進み、視覚化装置200の書字方向決定部215は、構造化文書内において指定された言語設定に関する言語情報及び書字方向を示す書字方向情報の少なくとも一方に基づいて、読み上げ対象となる要素の文字列の書字方向を決定する。決定された文字列の書字方向は、有向線分生成部220へ渡される。そして処理は終了する。
図13は、図11に示すフローチャートのステップ1115の合成処理の流れの一例を示す。処理はステップ1300から開始し、視覚化装置200の合成部240は、メモリ225に格納される有向線分の数が抽象化パラメータにより示される抽象度に相当する数に到達したか否か、又はメモリ225に合成可能な有向線分が存在しないか否か判定する。メモリ225に格納される有向線分の数が抽象化パラメータにより示される抽象度に相当する数に到達した場合、またはメモリ225に合成可能な有向線分が存在しない場合(ステップ1300:YES)、処理は終了する。
一方ステップ1300においてNOの場合、処理はステップ1305へ進み、合成部240は、メモリ225に格納される複数の有向線分について、画面読み上げアプリケーションによる要素の文字列の読み上げ順序において隣り合う2つの有向線分の組ごとに、合成禁止の組に該当するか否か、即ち、対応する2つの要素の要素領域の組が、上述した(A1)及び(A2)のいずれかの位置関係を満たすか否かを判断し、満たすと判断した場合はその組を合成候補から除外する。
次に合成部240は、ステップ1305において合成候補から除外された組を除く、読み上げ順序において隣り合う2つの有向線分の組ごとに、上述した合成の判断基準となる重みW1〜W4を計算し、その合計を一時的に格納する(ステップ1310)。そして合成部240は、重みW1〜W4の合計が最も小さい2つの有向線分の組について、合成処理を実行する(ステップ1315)。そして処理はステップ1300へ戻る。なお、2回目以降のステップ1305及びステップ1310の処理は、その前のステップ1315において合成した有向線分と、読み上げ順において合成した有向線分の前後に並ぶ有向線分との組について行えばよい。
次に図14を参照して、本発明を、構造化文書内の要素の文字列の読み上げ順序を変更するためのプログラムのユーザインタフェースに適用した例を示す。図14(a)は、読み上げ順序を変更する前の本来の読み上げ順序の流れを示す、連結した有向線分を示す。なお図14(a)乃至(d)は全て同じ構造化文書を表示した画面を示し、各図において、番号がついた各矩形領域は、各要素の要素領域を示し、番号は、要素間の読み上げ順序を示す。また図14において要素領域内の黒丸はノブを示す。ここで要素領域3の読み上げ順序を、3番目から2番目に変更することを考える。
この場合、要素領域1から要素領域2へ向かう連結された有向線分を、要素領域1から要素領域3へ向かう連結された有向線分に変更するため、要素領域1のノブを、マウス6等の入力装置により要素領域3のノブへドラッグする。このときの画面の様子を図14(b)に示す。ドラッグ中は、読み上げ順序は未確定となるので、ドラッグしている箇所以外の有向線分は未表示とする。また読み上げ順序を変更中であることを明示するために、各要素領域のノブを白丸表示する。
図14(c)は、ドラッグ操作が終わった後の画面の様子を示す。ドラッグ操作が終わると、読み上げ順序が確定するので、確定後の読み上げ順序を示す連結された有向線分を再び画面に表示する。なお、本実施例では、読み上げ順序の変更によりスキップされる要素領域の読み上げ順序は、一番最後に繰り下がるものとした。同様に、元の読み上げ順序において、読み上げ順序が変更される要素領域よりも後に読み上げられる要素領域の新たな読み上げ順序は、変更される要素領域の読み上げ順序に応じて順次繰り下がるものとした。
このように読み上げ順序が変更された場合、オーバーレイ描画部230は、元の読み上げ順序で格納されているメモリ225内の有向線分を、新たな読み上げ順序に並び替える。そのためにオーバーレイ描画部230は、ノブの識別子に関連付けて読み上げ順序を内部のメモリに維持し、ユーザの操作に応じて、上述したように各ノブに対応する読み上げ順序を変更する。そしてオーバーレイ描画部230は、新たな読み上げ順序に従って、メモリ225から各要素に対応する有向線分を読み出して連結し、画面に表示されている構造化文書に重ねて表示する。そして、同様の処理を繰り返して全ての読み上げ順番を入れ替えると最終的に図14(d)に示すような画面が表示される。
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。上記の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。

Claims (16)

  1. プロセッサと記憶手段とを備えたコンピュータ・システムにおいて実行される、画面読み上げアプリケーションによる前記コンピュータ・システムの画面に表示された構造化文書内の要素の読み上げの順序を視覚化するための視覚化プログラムであって、前記視覚化プログラムは、前記コンピュータ・システムに、
    前記プロセッサが、前記アプリケーションによる読み上げの対象となる文字列を有する複数の前記要素の各々について、前記要素の前記文字列の書字方向に基づいて、前記要素の前記文字列が前記画面に表示される領域である要素領域を表示位置とし、かつ前記書字方向を示す有向線分を生成するステップと、
    前記プロセッサが、前記アプリケーションによる前記要素の読み上げの順序で、生成した各要素の有向線分を前記記憶手段に格納するステップと、
    前記プロセッサが、前記アプリケーションによる前記要素の読み上げの順序に従って、前記記憶手段から前記各要素に対応する前記有向線分を読み出して連結し、前記画面に表示されている前記構造化文書に重ねて表示するステップと
    を実行させる視覚化プログラム。
  2. 前記要素の前記文字列の書字方向は、前記構造化文書内において指定された言語設定に関する言語情報及び書字方向を示す書字方向情報の少なくとも一方に基づいて決定される、請求項1に記載の視覚化プログラム。
  3. 前記要素領域が矩形の形状を有しかつ前記書字方向が横書きの場合は、前記要素領域が一定以上の高さを有することを条件に、または前記要素領域が矩形の形状を有しかつ前記書字方向が縦書きの場合は、前記要素領域が一定以上の幅を有することを条件に、前記要素に対応する前記有向線分は、前記書字方向を示しかつ前記要素領域の対角方向に延びる線分として生成される、請求項1に記載の視覚化プログラム。
  4. 前記書字方向が横書きかつ前記要素領域が矩形の形状を有することを条件として、前記要素領域が一定未満の高さを有する場合は、前記要素に対応する前記有向線分は、前記書字方向を示しかつ前記要素領域の水平方向に延びる線分として生成され、及び前記書字方向が横書きかつ前記要素領域が矩形の形状を有することを条件として、前記要素領域が一定以上の高さを有する場合は、前記要素に対応する前記有向線分は、前記書字方向を示しかつ前記要素領域の対角方向に延びる線分として生成される、請求項1に記載の視覚化プログラム。
  5. 前記視覚化プログラムは、前記コンピュータ・システムに、前記プロセッサが、前記コンピュータ・システムの入力手段を介してユーザから、前記有向線分の表示の抽象度を示す抽象化パラメータを取得するステップと、前記プロセッサが、前記記憶手段に格納される前記有向線分の数が前記抽象化パラメータにより示される抽象度に相当する数になるまで又は前記記憶手段に合成可能な前記有向線分が存在しなくなるまで、前記要素の読み上げの順序において隣り合う2つの要素の組に対応する2つの前記有向線分の組を前記記憶手段から読み出して合成するステップと、前記プロセッサが、前記記憶手段に格納される前記有向線分を、前記合成の結果で更新するステップとを更に実行させる、請求項1に記載の視覚化プログラム。
  6. 前記2つの有向線分の組の合成は、対応する2つの前記要素領域を包含する最小の領域に対して前記有向線分を生成することによりなされる、請求項5に記載の視覚化プログラム。
  7. 前記2つの有向線分の組の合成は、対応する2つの前記要素領域を包含する最小の領域が、前記対応する2つの要素領域の和集合により近い前記2つの有向線分の組を優先して行われる、請求項6に記載の視覚化プログラム。
  8. 前記2つの有向線分の組の合成は、前記有向線分の向き及び大きさが類似する前記2つの有向線分の組を優先して行われる、請求項5に記載の視覚化プログラム。
  9. 前記2つの有向線分の組の合成は、対応する2つの前記要素領域の和集合がより小さい前記2つの有向線分の組を優先して行われる、請求項5に記載の視覚化プログラム。
  10. 前記2つの有向線分の組の合成は、対応する2つの前記要素領域が水平方向又は垂直方向に整列している前記2つの有向線分の組を優先して行われる、請求項5に記載の視覚化プログラム。
  11. 前記合成するステップは、前記プロセッサが、前記要素の読み上げの順序において隣り合う前記2つの要素の組であって、各要素の前記書字方向の水平成分が左から右へ向かう場合において、読み上げ順番が後の前記要素の前記要素領域が、読み上げの順番が先の前記要素の前記要素領域の左側または上側に位置する前記2つの要素の組、または各要素の前記書字方向の水平成分が右から左へ向かう場合において、読み上げ順番が後の前記要素の前記要素領域が、読み上げの順番が先の前記要素の前記要素領域の右側または上側に位置する前記2つの要素の組について、該2つの要素の組に対応する2つの前記有向線分の組の合成を禁止するステップを含む、請求項5に記載の視覚化プログラム。
  12. 前記合成するステップは、前記プロセッサが、前記要素の読み上げの順序において隣り合う前記2つの要素の組であって、読み上げの順番が先の前記要素の表示位置と、読み上げ順番が後の前記要素の表示位置とが一定の距離以上離れている前記要素の組について、該2つの要素の組に対応する2つの前記有向線分の組の合成を禁止するステップを含む、請求項5に記載の視覚化プログラム。
  13. 合成を禁止された前記2つの有向線分の組は、前記構造化文書に重ねて表示される際に、合成を禁止されなかった他の前記有向線分と区別がつくような態様で表示される、請求項11又は12に記載の視覚化プログラム。
  14. 前記有向線分の連結は、ベジエ曲線を利用して行われる、請求項1に記載の視覚化プログラム。
  15. プロセッサと記憶手段とを備えたコンピュータ・システムにおいて実行される、画面読み上げアプリケーションによる前記コンピュータ・システムの画面に表示された構造化文書内の要素の読み上げの順序を視覚化するための視覚化方法であって、
    前記プロセッサが、前記アプリケーションによる読み上げの対象となる文字列を有する複数の前記要素の各々について、前記要素の前記文字列の書字方向に基づいて、前記要素の前記文字列が前記画面に表示される領域である要素領域を表示位置とし、かつ前記書字方向を示す有向線分を生成するステップと、
    前記プロセッサが、前記アプリケーションによる前記要素の読み上げの順序で、生成した各要素の有向線分を前記記憶手段に格納するステップと、
    前記プロセッサが、前記アプリケーションによる前記各要素の読み上げの順序に従って、前記各要素に対し生成された前記有向線分を前記記憶手段から読み出して連結し、前記画面に表示されている前記構造化文書に重ねて表示するステップと
    を含む視覚化方法。
  16. 画面読み上げアプリケーションによるコンピュータ・システムの画面に表示された構造化文書内の要素の読み上げの順序を視覚化するための視覚装置であって、
    前記アプリケーションによる読み上げの対象となる文字列を有する複数の前記要素の各々について、前記要素の前記文字列の書字方向に基づいて、前記要素の前記文字列が前記画面に表示される領域である要素領域を表示位置とし、かつ前記書字方向を示す有向線分を生成する有向線分生成部と、
    前記アプリケーションによる前記要素の読み上げの順序で、生成した各要素の有向線分を記憶する記憶手段と、
    前記アプリケーションによる前記各要素の読み上げの順序に従って、前記各要素に対し生成された前記有向線分を前記記憶手段から読み出して連結し、前記画面に表示されている前記構造化文書に重ねて表示するオーバレイ描画部と
    を含む視覚化装置。
JP2009177902A 2009-07-30 2009-07-30 コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置 Active JP5005005B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009177902A JP5005005B2 (ja) 2009-07-30 2009-07-30 コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置
US12/844,462 US8340424B2 (en) 2009-07-30 2010-07-27 Visualization program, visualization method and visualization apparatus for visualizing reading order of content
US13/677,395 US8588526B2 (en) 2009-07-30 2012-11-15 Visualization program, visualization method and visualization apparatus for visualizing reading order of content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009177902A JP5005005B2 (ja) 2009-07-30 2009-07-30 コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置

Publications (2)

Publication Number Publication Date
JP2011034204A true JP2011034204A (ja) 2011-02-17
JP5005005B2 JP5005005B2 (ja) 2012-08-22

Family

ID=43527072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009177902A Active JP5005005B2 (ja) 2009-07-30 2009-07-30 コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置

Country Status (2)

Country Link
US (2) US8340424B2 (ja)
JP (1) JP5005005B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016139760A1 (ja) * 2015-03-03 2016-09-09 富士通株式会社 表示装置、表示方法、および表示プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441619A (zh) * 2007-11-22 2009-05-27 国际商业机器公司 改进阅读BiDi文档时的用户体验的方法和装置
JP5005005B2 (ja) * 2009-07-30 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置
JP5812702B2 (ja) * 2011-06-08 2015-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 文字の読み順を決定するための読み順決定装置、方法及びプログラム
US10203865B2 (en) * 2014-08-25 2019-02-12 International Business Machines Corporation Document content reordering for assistive technologies by connecting traced paths through the content
US10452231B2 (en) * 2015-06-26 2019-10-22 International Business Machines Corporation Usability improvements for visual interfaces
US10394421B2 (en) 2015-06-26 2019-08-27 International Business Machines Corporation Screen reader improvements
US11367296B2 (en) * 2020-07-13 2022-06-21 NextVPU (Shanghai) Co., Ltd. Layout analysis

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07192084A (ja) * 1993-05-12 1995-07-28 Ricoh Co Ltd 文書画像処理方法
JPH1021330A (ja) * 1996-07-03 1998-01-23 Fuji Xerox Co Ltd 文書画像処理方式
JPH11250041A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 文書処理装置および文書処理方法
JP2001101164A (ja) * 1999-09-29 2001-04-13 Toshiba Corp 文書画像処理装置及び文書画像処理方法
JP2001109612A (ja) * 1999-10-06 2001-04-20 Internatl Business Mach Corp <Ibm> 音声読み上げ範囲の指定方法および装置
JP2007102715A (ja) * 2005-10-07 2007-04-19 Ricoh Co Ltd 画像処理装置、画像処理方法及び画像処理プログラム
JP2007256529A (ja) * 2006-03-22 2007-10-04 Ricoh Co Ltd 文書画像表示装置、情報処理装置、文書画像表示方法、情報処理方法、文書画像表示プログラム、記録媒体及びデータ構造
JP2008077171A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd データ配信装置、データ表示装置、データ配信方法、データ表示方法、データ配信プログラム、データ表示プログラム、および該プログラムを記録した記録媒体
JP2008171356A (ja) * 2007-01-15 2008-07-24 Ricoh Co Ltd 画像処理装置、画像形成装置、画像処理方法、画像処理プログラムおよび記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005010992A (ja) 2003-06-18 2005-01-13 Kddi Corp 合成音声によるウェブページの説明および広告の方法及びサーバ
JP4232679B2 (ja) * 2004-04-15 2009-03-04 富士ゼロックス株式会社 画像形成装置およびプログラム
JP2006171544A (ja) 2004-12-17 2006-06-29 Nippon Telegr & Teleph Corp <Ntt> 音声ブラウザ装置、音声ブラウザ方法およびプログラム
JP5005005B2 (ja) * 2009-07-30 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07192084A (ja) * 1993-05-12 1995-07-28 Ricoh Co Ltd 文書画像処理方法
JPH1021330A (ja) * 1996-07-03 1998-01-23 Fuji Xerox Co Ltd 文書画像処理方式
JPH11250041A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 文書処理装置および文書処理方法
JP2001101164A (ja) * 1999-09-29 2001-04-13 Toshiba Corp 文書画像処理装置及び文書画像処理方法
JP2001109612A (ja) * 1999-10-06 2001-04-20 Internatl Business Mach Corp <Ibm> 音声読み上げ範囲の指定方法および装置
JP2007102715A (ja) * 2005-10-07 2007-04-19 Ricoh Co Ltd 画像処理装置、画像処理方法及び画像処理プログラム
JP2007256529A (ja) * 2006-03-22 2007-10-04 Ricoh Co Ltd 文書画像表示装置、情報処理装置、文書画像表示方法、情報処理方法、文書画像表示プログラム、記録媒体及びデータ構造
JP2008077171A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd データ配信装置、データ表示装置、データ配信方法、データ表示方法、データ配信プログラム、データ表示プログラム、および該プログラムを記録した記録媒体
JP2008171356A (ja) * 2007-01-15 2008-07-24 Ricoh Co Ltd 画像処理装置、画像形成装置、画像処理方法、画像処理プログラムおよび記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016139760A1 (ja) * 2015-03-03 2016-09-09 富士通株式会社 表示装置、表示方法、および表示プログラム
JPWO2016139760A1 (ja) * 2015-03-03 2017-08-03 富士通株式会社 表示装置、表示方法、および表示プログラム

Also Published As

Publication number Publication date
US20110026827A1 (en) 2011-02-03
US8588526B2 (en) 2013-11-19
US20130071027A1 (en) 2013-03-21
US8340424B2 (en) 2012-12-25
JP5005005B2 (ja) 2012-08-22

Similar Documents

Publication Publication Date Title
JP5005005B2 (ja) コンテンツ読み上げ順序を視覚化するための視覚化プログラム、視覚化方法、及び視覚化装置
JP4236267B2 (ja) 情報処理装置及び当該装置において実行されるレイアウト制御方法とそのプログラム
TWI578220B (zh) 網頁瀏覽器中之網頁應用程式及次要裝置之模擬技術、網頁應用程式開發工具以及使用其等之方法
US10049095B2 (en) In-context editing of output presentations via automatic pattern detection
KR101472844B1 (ko) 적응적 문서 디스플레이 장치 및 방법
JP5363355B2 (ja) スタイル要素を用いた画面表示の選択した表示領域をコピーアンドペーストする方法、システム及びプログラム
JP2005135397A (ja) 文書レイアウト方法
JP2005122728A (ja) 可変データ文書の生成及び編集するためのユーザインターフェース
KR101809457B1 (ko) 웹 문서의 편집을 지원하는 클라이언트 단말 장치 및 그 동작 방법
US7996780B1 (en) Block visualization
JP2008191710A (ja) 解析装置及びその制御方法
EP1768034A1 (en) Document processing device and document processing method
EP1744255A1 (en) Document processing device and document processing method
CN103049430A (zh) 一种基于idf格式文件的页面显示方法
JP2015521302A (ja) リンクの湾曲のインタラクティブコントロール
JP5077011B2 (ja) 表示制御装置、表示制御方法、及び、表示制御プログラム
KR101546359B1 (ko) 웹 브라우저 호환성 및 폰트 유지를 위한 웹 페이지 생성방법 및 시스템
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
JP4798579B2 (ja) 部品カタログ生成システム、部品カタログ生成方法、プログラムおよび記録媒体
WO2006137564A1 (ja) 文書処理装置
JP2006190147A (ja) 従属関係表示装置及び従属関係表示方法及び従属関係表示プログラム
US8677255B1 (en) Expanded container view for graphical editing environment
JP5466197B2 (ja) 文書生成支援方法、文書生成支援装置および文書生成支援プログラム
JP3506087B2 (ja) スタイル及びデータ構造同時作成装置
WO2006137561A1 (ja) グラフ処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120522

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5005005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150