(57)【特許請求の範囲】
【請求項１】
ユーザインターフェースを備え、前記ユーザインターフェースは要素を有し、前記要素はプロパティを有する計算機環境において、前記プロパティに値を適用する方法であって、前記計算機環境は、テーマプロパティシートとデフォルトプロパティシートとを記憶し、前記テーマプロパティシートは提示テーマに応じた少なくとも１つのプロパティの値を含み、前記テーマプロパティシートに含まれた少なくとも１つの値および前記デフォルトプロパティシートに含まれた対応する値には優先順位が予め定められており、前記方法は、
前記提示テーマを選択するためのメニューをディスプレイに表示し、前記ユーザインターフェースに適用すべき提示テーマの指定を受けるステップと、
前記プロパティの各々に対して、
前記提示テーマが指定された場合、
前記デフォルトプロパティシートに含まれた値の優先順位が当該指定された提示テーマに対応するテーマプロパティシートに含まれた対応する値より高い場合、前記デフォルトプロパティシートに含まれた値を選択し、
前記デフォルトプロパティシートに含まれた値の優先順位が当該指定された提示テーマに対応するテーマプロパティシートに含まれた対応する値より低い場合、当該指定された提示テーマに対応するテーマプロパティシートに含まれた値を選択するステップと、
前記提示テーマに対応付けされたテーマプロパティシートに値の設定がない場合、前記デフォルトプロパティシートに含まれた値を選択するステップと、
前記選択された値を前記プロパティに適用するステップと
を備えることを特徴とする方法。
【請求項２】
前記ユーザインターフェースの要素は視覚要素および音声要素からなるグループから選択されることを特徴とする請求項１に記載の方法。
【請求項３】
前記ユーザインターフェース用の提示テーマは、使いやすさテーマ、システムテーマ、およびブランドつきの（ｂｒａｎｄｅｄ）アプリケーションテーマからなるグループから選択されることを特徴とする請求項１に記載の方法。
【請求項４】
前記ユーザインターフェースは複数の要素を有し、少なくとも１つの要素は複数のプロパティを有し、前記ユーザインターフェースの前記要素のすべてに対して、前記プロパティのデフォルト値を含む最大１つのデフォルトプロパティシートがあることを特徴とする請求項１に記載の方法。
【請求項５】
前記提示テーマが指定されず、前記プロパティのデフォルト値を含むデフォルトプロパティシートがない場合、前記プロパティの値継承規則に基づいて前記プロパティの値を判断するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
ユーザインターフェースを備え、前記ユーザインターフェースは要素を有し、前記要素はプロパティを有するコンピュータであって、テーマプロパティシートとデフォルトプロパティシートとを記憶し、前記テーマプロパティシートは提示テーマに応じた少なくとも１つのプロパティの値を含み、前記テーマプロパティシートに含まれた少なくとも１つの値および前記デフォルトプロパティシートに含まれた対応する値には優先順位が予め定められているコンピュータに対し、
前記提示テーマを選択するためのメニューをディスプレイに表示し、前記ユーザインターフェースに適用すべき提示テーマの指定を受けるステップと、
前記プロパティの各々について、
前記提示テーマが指定された場合、
前記デフォルトプロパティシートに含まれた値の優先順位が当該指定された提示テーマに対応するテーマプロパティシートに含まれた対応する値より高い場合、前記デフォルトプロパティシートに含まれた値を選択し、
前記デフォルトプロパティシートに含まれた値の優先順位が当該指定された提示テーマに対応するテーマプロパティシートに含まれた対応する値より低い場合、当該指定された提示テーマに対応するテーマプロパティシートに含まれた値を選択するステップと、
前記提示テーマに対応付けされたテーマプロパティシートに値の設定がない場合、前記デフォルトプロパティシートに含まれた値を選択するステップと、
前記選択された値を前記プロパティに適用するステップと
を実行させるプログラムを記憶したことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的には、コンピュータによって提供されるユーザインターフェースに関し、より詳細には、拡張可能なユーザインターフェースに関する。
【背景技術】
【０００２】
本出願は、特許出願「Method  and  System  for  Providing  Interface  Defaults」、整理番号２１８８４２の対象に関連する対象を含む。
【０００３】
優れた設計のユーザインターフェースは、内容および提示（すなわち「スタイル」）要素の両方を利用して、効果的に強調を行い、またはユーザを適切な情報に導く。設計者は、提示選択を実行する際、伝統的に標準ツールキットに頼っている。たとえば、視覚によるユーザインターフェースでは、設計者は、何らかの内容の提示、たとえば、ニュース記事の概要を、内容のフォントを大きくし、またはフォントを対照的な色で提示する要素をツールキットから選択することによって強調する。ツールキットは、音声ユーザインターフェースに対しても同様の技術を提供し、たとえば、記事のタイトルが記事内容よりも大きくゆっくりと話されるようにする。
【０００４】
標準ツールキットでは、提示要素の組は固定している。この固定した組により、多くの利点がもたらされる。インターフェースユーザは、ウィンドウ、ドロップダウンメニュー、および押しボタンのような標準的な提示要素には既に慣れている。これらの要素のいくつかは、ほとんどの場合、他の要素を構成するのに役立ち、ユーザは、いくつかの要素が「アクティブ」になること、すなわち選択されると機能を呼び出すようになることを期待する。従来のユーザインターフェース用のツールキット中の要素の組は固定しているので、設計者は、各要素がツールキットの提供元によって入念に開発されたものであると確信する。ツールキット中の各要素にはプロパティの一貫した組が与えられ、プロパティには意味のあるデフォルト値が用意され、プロパティは合理的なやり方で相互作用する。たとえば、押しボタン要素は通常、（他の多くのプロパティの中でも）（１）色、および（２）ユーザによって押しボタンが選択されると呼び出される動作、というプロパティを有する。これらのプロパティは、合理的に相互作用する。すなわち、押しボタンにより、選択されたことを示すために色がデフォルトの青から紫に変わる。標準ツールキットは入念な開発によって支えられているので、インターフェース設計者は、インターフェースの特定の側面に注意を向けることができ、他の側面にはツールキットによって合理的に注意が向けられることを知っている。
【０００５】
有用であることはわかっているが、標準ツールキットは、インターフェース設計者に対して制約を設ける。設計者が標準ツールキット中の提示要素の固定した組によって達成できる以上のことをできるようにするために、「拡張可能（Ｅｘｔｅｎｓｉｂｌｅ）」ツールキットが開発されている。拡張可能ツールキットを用いて、設計者は、新しい提示要素を作成する。新しい要素は、新しいプロパティおよび新しい動作を有することができ、新しいやり方で他の要素と相互作用することができる。設計者は、新しく作成された要素を標準ツールキットの既存の要素と組み合わせて、自身のユーザインターフェースビジョンを実装する。
【０００６】
しかし、拡張可能ツールキットは、標準ツールキットの利点のいくつかを危うくさせる。拡張可能ツールキットは、定義上、ツールキットの提供元が１つではない。すなわち、すべての設計者が新しい提示要素を作成することができる。設計者は、自身の新しい要素を使うことができる、起こり得るすべての状況を把握できない場合があり得る。要素のプロパティは、いくつかの状況では未定義の値を有することができ、こうしたプロパティの値は、他の状況では意味をなさない場合もあり得る。１つの新しい要素がすべての状況において内部的に矛盾しない場合であっても、多くの設計者に、ただ１つのユーザインターフェースに対して複数の要素を提供させる可能性があるために、調整の問題が引き起こされる。２つの要素がユーザインターフェースの１つのプロパティを定義しようと試みると、それぞれの設定が両義に取れる状況で対立する場合があり得る。要するに、新しい要素は計画された通りに作用しない場合があり、計画通りに作用したとしても、他の新しい要素、および標準の非拡張可能ツールキットから取り出した既存の要素と、計画しておらず適切でないやり方で相互作用する場合があり得る。
【０００７】
拡張可能ツールキットの危険性は、「テーマ」に関することである。入念に設計されたユーザインターフェースでは、複数の提示プロパティ値は、おそらく個々のそれ自体は重要ではないが、選択されて協働し、インターフェースを統一された一貫性のあるものにさせる。これらの選択の組は、ユーザインターフェース用の「テーマ」と呼ばれる。たとえば、オペレーティングシステムの提供元は、色およびフォントの補足パレットを一貫して使用し、そうすることによって、ユーザは、ある特定のインターフェースがそのシステムによって提供されていることを直ちに知ることができるようになる。大型ソフトウェアパッケージの製造元は、パッケージ中の製品同士が協働するように意図されていることを強調するためであるとともに、このソフトウェアパッケージと競合他社のパッケージおよびオペレーティングシステムとを区別するための共通テーマを用いてインターフェースを提示する。別の例では、ユーザは、「使いやすさ（ａｃｃｅｓｓｉｂｉｌｉｔｙ）」テーマを選択することができ、このテーマでは、ユーザインターフェースの視覚要素がより読みやすいやり方で（たとえば、より大きいフォントまたはより際立った対比をなす色で）提示される。一貫性のあるインターフェーステーマは、ユーザが情報を論理的にグループ化するのを大いに助け、多くの最新計算機環境に見られる情報過多を大幅に改善する。しかし、インターフェースの一貫性は、設計者が自由に拡張可能インターフェースを使える場合には容易には達成されない。設計者は、既存のテーマと衝突し、またはユーザのテーマ選択を考慮しない提示要素を開発する場合もあり得る。
【先行技術文献】
【非特許文献】
【０００８】
［非特許文献１］"Cascading  Style  Sheets,  Level  2",  May  12,  1998（http://www.w3.org/TR/REC-CSS2で入手可能）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
拡張可能インターフェースツールキットの柔軟性によって引き起こされるこうした問題に対する１つの解決法は、厳しい開発および検査サイクルを新しい各提示要素に対して施行することである。当然ながら、このような厳しさによって、拡張可能ツールキットを使う動機の多くが否定されることになる。すなわち、設計者は、新しい提示要素の独自の側面に注意を向けるために拡張可能ツールキットを使い、新しい各要素が、統一されたインターフェースを作成するというごく当然なすべての必要事項を満たすことを検査するのに開発時間の多くを費やさなくてもよくなる。
【課題を解決するための手段】
【００１０】
上記のことを鑑み、本発明は、ユーザインターフェースで使われる要素に提供される値を調整することによって、提示テーマをサポートする。テーマの値は、「テーマプロパティシート」と呼ばれる論理構造に集められる。インターフェースユーザがある特定の提示テーマを好むことを表明すると、プロパティの値の設定に対して、そのテーマのプロパティシートが他の機構よりも優先される。これらの値をインターフェースにおいて適切に設定することによって、テーマプロパティシートは、インターフェースの一貫性を高める。
【００１１】
テーマの「値」は広い意味に理解される。固定した値に限定されず、テーマプロパティシートは、テーマの値を計算する規則を提供することができる。この規則は、たとえば、現在の環境の側面を考慮に入れることができる。必要な場合、プロパティ用にテーマの値を計算するために規則が呼び出される。
【００１２】
テーマプロパティシートは、インターフェース設計者が、提示テーマのことを考えずに新しい提示要素をユーザインターフェースに追加することを可能にする。設計者によって設定される各プロパティのデフォルトは、必要な場合はテーマシートによってオーバーライドされる。
【００１３】
いくつかの特定のケースでは、アプリケーション設計者は、ユーザのテーマの好みさえもオーバーライドする必要がある。これらの例外的なケースをサポートするための機構が提供される。
【００１４】
本明細書における例は主に視覚的なものであるが、これは単に、特許明細書の書面による性質によるものに過ぎない。本発明は、他のタイプのインターフェース要素、たとえば音声要素にも適用される。
【００１５】
添付の特許請求の範囲は本発明の特徴を詳細に述べるが、本発明、ならびにその目的および利点は、以下の詳細な説明を添付の図面と併せ読むことによって最もよく理解できよう。
【図面の簡単な説明】
【００１６】
【図１ａ】内容および提示要素両方を利用する、例示的なテキストベースのユーザインターフェースを示すブロック図である。
【図１ｂ】ユーザがより使いやすい（すなわち、より簡単に読むことができる）提示テーマを選択した後の、図１ａのテキストベースのユーザインターフェースを示すブロック図である。
【図２】本発明をサポートする例示的なコンピュータシステムを全体的に示す概略図である。
【図３】ユーザインターフェース要素のプロパティに値を提供することができる規則の、優先順位順に並べた位置のリストを示す図である。
【図４ａ】図４ｂと共に形成される、ユーザインターフェース要素のプロパティに提供する値を選択する例示的な方法を示すフロー図である。
【図４ｂ】図４ａと共に形成される、ユーザインターフェース要素のプロパティに提供する値を選択する例示的な方法を示すフロー図である。
【図５】どのようにして規則の優先順位を、ユーザによる提示テーマの選択さえもオーバーライドするように設定することができるかを示すブロック図である。
【図６】プロパティシートを作成する例示的な方法を示すフロー図である。
【発明を実施するための形態】
【００１７】
図面参照すると、同じ参照番号は同じ要素を指し、本発明は、適切な計算機環境において実装されるものとして示してある。以下の説明は、本発明の実施形態に基づいており、本明細書で明示的に述べていない代替実施形態に関して本発明を限定するものととるべきではない。
【００１８】
以下の説明において、他の指示がない限りは１つまたは複数の計算装置によって実施される作用および象徴的に表した動作を参照して、本発明を説明する。したがって、このような作用および動作は、時にはコンピュータによって実行されるものとして参照するが、構造化した形でデータを表す電気信号を計算装置の処理装置によって操作することを含むことが理解されよう。この操作は、データを変換し、またはそれを計算装置のメモリシステム内の位置に保持し、そうすることによって計算装置の動作を再構成し、または当業者によく理解されたやり方で変えさせる。データが保持されるデータ構造は、データの形式によって定義される特定のプロパティを有する、メモリの物理的な位置である。ただし、本発明を上記の文脈において説明してはいるが、限定を意図するものではなく、これ以降説明する様々な作用および動作はハードウェアでも実装できることが当業者には理解されよう。
【００１９】
本発明は、ユーザインターフェースにおける提示要素に値を提供する規則間の調整を行う。いくつかの実施形態では、デフォルトの値が、「デフォルトプロパティシート」と呼ばれる論理構造の中に集められる。インターフェース要素の設計者は、自分が定義する要素のプロパティに対してデフォルト値を追加する。（インターフェース設計者は、インターフェースにおいて使われる要素のいくつかを設計した人と同じ人でよいが、必ずしも同じでなくてもよい。インターフェース設計者は、要素の設計者によって作成された要素を受け取り、それをカスタマイズしてインターフェースを作成することができる。）いくつかの実施形態では、値は「テーマプロパティシート」に集められる。インターフェースユーザがある特定の提示テーマを好むことを表明すると、プロパティの値の設定に対して、そのテーマのプロパティシートが他の機構よりも優先される。インターフェースにおいて値を適切に設定することによって、テーマプロパティシートは、インターフェースの一貫性を高める。デフォルトプロパティシートは、「最後の手段のテーマ」となることができる。提示要素のプロパティが他の所で値を与えられない場合、このプロパティには、デフォルトプロパティシートで指定された値が与えられる。
【００２０】
これらのコンセプトは、本発明の実施形態によって示され、最初に図１ａにその例を示す。ユーザインターフェースが、計算装置１００の表示画面１０２に提示される。このユーザインターフェースは、２つのテキストブロック１０４および１０６から構成される。第１のテキストブロック１０４は、詩の作者についての情報を示す。このブロックは、従属的な３つのテキストブロック、すなわち作者名１０８、その名前への添字１１０、および作者の生没年１１２に分かれる。第２のテキストブロック１０６は、表示画面１０２に納まる限りの詩の本文を含む。
【００２１】
このユーザインターフェースは、内容および提示プロパティの両方を含む。内容は、２つのテキストブロック１０４および１０６中のテキストであり、提示プロパティは、たとえば、フォントのサイズおよびタイプと、表示画面１０２へのテキストの配置とを含む。これらの提示プロパティに適切な値が確実に与えられるようにするために、このインターフェースの設計者は、提示プロパティに対するデフォルト値を選択する。これらのデフォルト値は、図５の例示的なデフォルトプロパティシート５０４（後で説明する）に集められる。この例では、図１ａのユーザインターフェースの設計者は、２つのテキストブロック１０４および１０６用に筆記体に似たフォントを選び、詩のテキストブロック１０６よりも作者のテキストブロック１０４に対して大きいフォントを選んでいる。
【００２２】
本発明は非常に包括的であるが、書面による特許明細書の性質により、示すことができる例が限定されることに留意されたい。本明細書で使用する例はすべて静的で、テキストベースであり、白黒２色である。最新のユーザインターフェースに慣れている人には、たとえば、色、フルモーション画像、音、および対話性を追加することによる有用性が理解されよう。本発明は、本明細書に示すことはできなくとも、このようなすべてのインターフェース要素を包含することを意図している。
【００２３】
インターフェースユーザは、当然ながら、図１ａのデフォルトの提示スタイルを読みにくいと思う可能性がある。この問題に対処するために、図１ｂのユーザは、プルダウンメニュー１１４を呼び出し、提示に対して「使いやすさ」テーマを選択する。使いやすさテーマシート（たとえば、後で説明する図５の５０２を参照）は、一貫性があり、より読みやすいインターフェースを提供するための、選択された提示プロパティ用の値を含む。一般に、この提示テーマは、インターフェース設計者によって設定されたデフォルト値をオーバーライドする。たとえば、テキストボックス１０４および１０６の両方が、図１ａに示すデフォルトより大きいフォントで提示される。また、内容の大部分が、一般に図１ａの筆記体フォントより読みやすいローマン体フォントで提示される。ただし、これには例外が１つあり、添字フィールド１１０はインターフェース設計者によって選択された筆記体フォントのままである。本発明のいくつかの実施形態によると、設計者は、自身による値の選択が重要であるので、インターフェースユーザの選択さえもオーバーライドすべきであると指定することができる。図１ａおよび１ｂの例では、添字１１０は作者の名字のイニシャルではなく、作者の称号である。Ｒとは、ｒｅｇｉｎａ、つまり女王のことである。このインターフェース作成者は、この詩が英国女王エリザベス１世によって書かれたものであるということを強調するのは重要であると考え、添字１１０用の筆記体フォントという自身の選択がユーザの提示テーマ選択をオーバーライドするようにしたのである。作成者がどのようにしてこうすることができるのかは、図５に関連して後で説明する。
【００２４】
図１ａおよび１ｂの計算装置１００は、どのアーキテクチャでもよい。図２は、本発明をサポートする例示的なコンピュータシステムを概略的に示すブロック図である。図２のコンピュータシステムは、適切な環境の一例に過ぎず、本発明の使用または機能の範囲に対するどのような限定を示唆することも意図していない。計算装置１００は、図２に示すどの構成要素にも、またはその組合せにも関するどのような依存も要件も有していると解釈するべきではない。本発明は、他の数多くの汎用もしくは専用計算機環境または構成とも動作する。本発明との使用に適した公知の計算機システム、環境、および構成の例には、パーソナルコンピュータ、サーバ、ハンドヘルドまたはラップトップ装置、タブレット装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、および上記のシステムまたは装置のいずれも含む分散型計算機環境などがあるが、それに限定されるものではない。最も基本的な構成において、計算装置１００は通常、少なくとも１つの処理装置２００およびメモリ２０２を含む。メモリ２０２は、（ＲＡＭなどの）揮発性でも、（ＲＯＭやフラッシュメモリなどの）不揮発性でも、またはこの２つの何らかの組合せでもよい。この最も基本的な構成は、図２に破線２０４で示してある。計算装置１００は、追加の特徴および機能を有することができる。
【００２５】
たとえば、計算装置１００は、磁気ディスクおよび光ディスクやテープを含むがそれに限定されない、追加の記憶装置（取外し可能および固定型）を含むことができる。このような追加の記憶装置は、図２に取外し可能記憶装置２０６および固定記憶装置２０８で示してある。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するどの方法でも技術でも実装される、揮発性および不揮発性媒体、取外し可能および固定型媒体を含む。メモリ２０２、取外し可能記憶装置２０６、および固定記憶装置２０８は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク、他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、他の磁気記憶装置、および、所望の情報を格納するのに使うことができ、装置１００によってアクセスすることができる他のどのような媒体も含むが、それに限定されるものではない。このようなどのコンピュータ記憶媒体も、装置１００の一部になることができる。装置１００は、装置が他の装置と通信することを可能にする通信チャネル２１０を含むこともできる。通信チャネル２１０は、通信媒体の例である。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の移送機構などの被変調データ信号で具体化し、どのような情報配信媒体も含む。「被変調データ信号」という用語は、信号中の情報を符号化するようなやり方で設定されまたは変更される信号特性の１つまたは複数を有する信号を意味する。限定ではなく例として、通信媒体は、配線接続された媒体、たとえば配線接続されたネットワークおよび直接配線接続、ならびに無線媒体、たとえば音波、ＲＦ、赤外線、および他の無線媒体を含む。本明細書で使用する「コンピュータ可読媒体」という用語は、記憶媒体および通信媒体両方を含む。計算装置１００は、たとえばキーボード、マウス、ペン、音声入力装置、タブレット、タッチ式入力装置などの入力装置２１２も有することができる。出力装置２１４、たとえば（タッチ式入力装置と統合することができる）ディスプレイ１０２、スピーカ、およびプリンタも含むことができる。これらのすべての装置は、当該分野において公知であり、本明細書で詳細に説明する必要はない。
【００２６】
図３は、ユーザインターフェースのプロパティに値を提供する規則の可能なソースのいくつかを示す。図３のルックアップ順序３００は、どの規則ソース（ｒｕｌｅ  ｓｏｕｒｃｅ）が他のどの規則ソースより優先されるかを示す。後で説明するいくつかの例外があるが、２つまたはそれ以上の規則ソースがそれぞれ、所与のプロパティに値を提供する規則を含むとき、優先順位の高い規則ソースが「勝ち」、すなわち、その規則が適用され、他の規則ソースからの規則は無視される。
【００２７】
所与のプロパティに値を提供するために複数の規則が適用されるとき、図４ａおよび４ｂのフロー図に示す例示的な方法を用いて、規則のどれを使うか選択することができる。所与のプロパティに対して、規則の探索はルックアップ順序３００の最上位要素（等価には、図４ａのステップ４００）で始まる。（図４ａおよび４ｂのステップ４００から４１０のそれぞれにおける検査は、規則ソースがその所与のプロパティに値を提供する規則を含むか検査することを含むことも意味していることに留意されたい。）テーマのプロパティシートまたはデフォルトプロパティシートが重要であると指定されている場合、また、そのシートがプロパティに値を提供する規則を含む場合、その規則が適用される。フロー図では、図４ｂのステップ４１４で、重要と指定されたシートの規則が適用されることを意味する。これは、図１ｂにおいて、ユーザが使いやすさテーマシートを重要と指定すると起こることである。
【００２８】
重要なプロパティシートがプロパティに値を提供しない場合、手順は、規則順序３００における次に低い要素（等価的には、図４ａのステップ４０２）に続く。インライン規則（ｉｎ−ｌｉｎｅ  ｒｕｌｅ）がプロパティに値を提供する場合、図４ｂのステップ４１４でその規則が適用される。
【００２９】
インライン規則がプロパティに値を提供しない場合、手順はステップ４０４に続き、プロパティシート中の、重要と指定されていない規則の有無を検査する。この探索は、具体的には所与のプロパティを含むユーザインターフェースの要素に当てはまるプロパティシートに対するものである。いくつかの実施形態では、ステップ４０２のインライン規則およびステップ４０４のプロパティシートは、優先順位が等しい。この場合、これらの２つのステップは、同時に実行されるものとみなすことができる。
【００３０】
手順は続いて、ルックアップ順序３００を使って規則ソース全体を探索する。ステップ４０４で適用可能な規則が見つからない場合、続いて、所与のプロパティを含む、要素の祖先（ａｎｃｅｓｔｏｒ）のプロパティシート全体を探索し（ステップ４０６）、重要と指定されていないデフォルトプロパティシート全体を探索し（ステップ４０８）、値継承規則全体を探索し（ステップ４１０）、最後にデフォルト値を適用する（ステップ４１２）。図１ａにおいて、ユーザインターフェースのプロパティの値を設定するのはデフォルトプロパティシート（ステップ４０８）である。いずれの場合でも、優先順位の最も高い適用可能な規則が所与のプロパティに値を提供するために適用される。
【００３１】
ルックアップ順序３００ならびに図４ａおよび４ｂのフロー図は例示に過ぎないことに留意されたい。より効率的な方法が同一の結果を生じることが当該分野において公知である。これらの規則ソースのいくつかが、また、これらの規則をどのようにして適用するべきかが、従来技術で説明されていることにも留意されたい。従来技術の詳細および例については、たとえば、その全体が本明細書に組み込まれる非特許文献１を参照されたい。
【００３２】
上の図１ｂの説明では、インターフェース設計者の、添字１１０用のフォントスタイルの選択（筆記体）が、ユーザによって選択された使いやすさテーマのフォント（ローマン体）をオーバーライドしたことに言及した。これは、図３の一般的なルックアップ順序３００に対する例外である。図１ｂのシナリオを一例として用いて、図５は、本発明の実施形態によってこのオーバーライド能力をインターフェース設計者に与えるための一方法を示している。規則ソース５００の組は、使いやすさテーマシート５０２およびデフォルトプロパティシート５０４の両方を含む。図１ｂのプルダウンメニュー１１４から使いやすさテーマを選択することによって、ユーザは、使いやすさテーマシート５０２が重要と指定されるようにさせ、その結果デフォルトプロパティシート５０４より優先されるようにする。したがって、全体として、重要なテーマシート５０２によって提供されるフォントのサイズおよびタイプに対する値が、デフォルトプロパティシート５０４によって提供される値をオーバーライドする。添字フィールド１１０に対するフォントタイプは、この一般規則に対する例外である。というのは、デフォルトプロパティシート５０４はその値の割当てにおいて、使いやすさテーマシート５０２より特定のものだからである。上述したように、添字フィールド１１０は一種のテキストブロックであり、その結果、以下の使いやすさテーマ規則を同様に適用する。
TextBlock  ｛Font  =  "Roman"｝
ただし、どの適用可能な規則をプロパティに適用するか探索する際、本発明の実施形態では、デフォルトプロパティシートをテーマシートの一部であるとみなすことができる。その結果、デフォルトプロパティシート中のごく特定の規則が、テーマシート中のより一般的な規則に優先することになる。この例では、特定の規則
Suffix  ｛Font  =  "Script"｝
が上で挙げたより一般的な規則に優先する。添字フィールド１１０は、筆記体フォントのままとなる。
【００３３】
インターフェース設計者がこの能力を使ってインターフェースユーザの提示テーマ選択をオーバーライドするのは、ごくまれであると期待される。そうでないと、ユーザはインターフェースの提示に対する自身による制御を信用しなくなり、互いに矛盾する部分をもつインターフェースが開発されやすくなる。しかし、この能力は、この能力が必要とされる特定の状況のために残される。
【００３４】
図６は、デフォルトプロパティシートを作成する例示的な方法を提供する。ステップ６００および６０２で、異なるプロパティに関するシートにデフォルト値規則が追加される。規則は、同じ要素にも異なる要素にも関係することができる。上述したように、規則は、単純な値でもよく、たとえばユーザインターフェースの現在の環境に基づく何らかの計算を必要とするものでもよい。ステップ６０４で、デフォルトプロパティシートは、通常値を重要でないとしているが、ユーザは、ステップ６０８でこのシートを重要なものに「格上げ」することができる。同じ技術が、テーマプロパティシートを作成するのに用いられる。
【００３５】
いくつかの実施形態では、デフォルトプロパティシートへの規則の追加順序は重要でない。この「規則順序からの独立（ｒｕｌｅ−ｏｒｄｅｒ  ｉｎｄｅｐｅｎｄｅｎｃｅ）」は、所与の状況においてどの規則を適用するかに関する曖昧性を防ぐのに使うことができる。規則順序からの独立を確実にする一方法は、以下の２つのタイプの規則のみを許可することである。
【００３６】
・ツリーセレクタをもたず、規則を追加する要素のタイプと同じである、（カスケーディングスタイルシートのシンタックスを用いて）「最も左側の」タイプをもつ規則
・ツリーセレクタをもつ規則であって、最後のツリーセレクタが、
（ｉ）子孫セレクタではなく子セレクタである規則
（ｉｉ）規則を追加する要素のタイプと同じ「最も左側の」タイプを有する規則
【００３７】
上記の定義において、「ツリーセレクタ」は、「ツリー中の他の要素に対する要素の関係に注目しているどのセレクタ」も広く意味する。最もよく知られているツリーセレクタの例は、子セレクタおよび子孫セレクタであるが、この定義は、他のセレクタ、たとえば第１の子セレクタ、隣接セレクタ、第ｎの子セレクタ、親セレクタ、および祖先セレクタも企図している。
【００３８】
以下は、タイプ「Ｆｏｏ」の要素を追加することを可能にする規則の例である。
【００３９】
Foo  ｛  ｝                        コメント：同じタイプ、ツリーセレクタなし
Foo  [Property  =  "value"]  ｛  ｝    コメント：ツリーセレクタをもたない属性セレクタ
Foo  >  Bar  ｛  ｝                  コメント：ツリーセレクタが子セレクタである
Foo  >  Bar  Baz  ｛  ｝              コメント：他のツリーセレクタが子セレクタでなくとも、最後のツリーセレクタ（左端から最も離れている）が子セレクタである以下の規則は許可されない
Foo  Bar  ｛  ｝                    コメント：最後のツリーセレクタが子セレクタではなく子孫セレクタである
Bar  >  Foo  ｛  ｝                  コメント：最後の（かつ、この場合、唯一の）ツリーセレクタのタイプ（Ｂａｒ）が規則を追加する要素のタイプと同じではない
【００４０】
これらの規則が特に有用であることがわかったが、他の実施形態では、曖昧性を排除する他の規則を実装することができる。
【００４１】
以上、本発明の原理を適用することができる多くの可能な実施形態を検討したが、図面に関連して本明細書で説明した実施形態は、例示のみを意図しており、本発明の精神を限定するものととるべきではないことを理解されたい。たとえば、例示した実施形態を、本発明の精神から逸脱することなく、視覚的インターフェースおよび非視覚的インターフェースの他のプロパティを包含するように拡張できることが当業者には理解されよう。本発明をソフトウェアモジュールまたはソフトウェア構成要素によって説明したが、ハードウェア構成要素で等価に置き換えることができることが当業者には理解されよう。したがって、本明細書に記載した本発明は、このようなすべての実施形態が添付の請求項およびその等価物の範囲内であり得ることを企図している。
【符号の説明】
【００４２】
１００  計算装置、装置
１０２  表示画面、ディスプレイ
１０４  テキストブロック、第１のテキストブロック、作者のテキストブロック、テキストボックス
１０６  テキストブロック、第２のテキストブロック、詩のテキストブロック、テキストボックス
１０８  作者名
１１０  添字、添字フィールド
１１２  作者の生没年
１１４  プルダウンメニュー
２００  処理装置
２０２  メモリ
２０６  取外し可能記憶装置
２０８  固定記憶装置
２１０  通信チャネル
２１２  入力装置
２１４  出力装置
３００  ルックアップ順序、規則順序、一般的なルックアップ順序
５００  規則ソース
５０２  使いやすさテーマシート、重要なテーマシート
５０４  デフォルトプロパティシート
【図１ａ】
0005376541.tif 000002
【図１ｂ】
0005376541.tif 000003
【図２】
0005376541.tif 000004
【図３】
0005376541.tif 000005
【図４ａ】
0005376541.tif 000006
【図４ｂ】
0005376541.tif 000007
【図５】
0005376541.tif 000008
【図６】
0005376541.tif 000009