IT翻訳 Nobuyuki の仕事部屋

ボランティアでソフトウエアーローカライズのために翻訳をしている。

Gecko Info for Windows Accessibility Vendors更新対応6

2005-06-03 22:46:36 | InTranslated
Le vent se leve.
Il faut vivre.
風たちぬ、いざ生きめやも。---- P. ベルレーヌ(訳者;堀口大学でしたかね?)

英訳すると、
A breath of wind has risen.
So, life has a reason. by Nobuyuki(^_^ゞ

さて、本日もいつものように・・・・・・・


原文(旧):  青色表示
原文(新):  緑色表示
訳文(新):  黒色表示
*注記/コメント: 赤色表示

旧バージョン: Gecko Info for Windows Accessibility Vendors Rev.1.02
新バージョン: Gecko Info for Windows Accessibility Vendors Rev.1.13

How to track where the event happened, within your own offscreen model

Because screen readers sometimes store data in their own data structures, it is important for them to have a unique identifer for each potential target of an event. This way, when an event occurs, they can correlate objects within their own data model with objects that MSAA events occur on.
//→この段落は、大きく書き換えられています。//

How to track where the event happened, within your own offscreen model

Ordinary zero-indexed child IDs are not practical for representing events. The problem is that the child ID system that is used by MSAA doesn't work well when you have a deep tree of objects in a window. It would be impractical to number all of the nodes in a document starting at 0, because whenever a node is inserted or removed it would be computationally very expensive to renumber things. So, the Firefox childID handed back from events is based on an algorithm that uses the pointer value of the related internal DOM node. This computed child ID for events is always a negative value, unique to the IAccessible firing the event


普通、子の ID が添え字 0 から始まるのはイベントを表すのに実用的でありません。問題点は、MSAA が採用する ID システムは、ウィンドウでオブジェクトが深いツリー構造となっている場合うまく機能しないことです。ドキュメントのすべてのノードに 0 から始まる番号をふることは実用的でありません。というのは、ノードが挿入されたり削除される都度、番号付けをやり直すのはプログラム上高価につくからです。そこで、イベントから戻される Firefox の子 ID は関連する内部 DOM モードのポインター値を使うアルゴリズムに基づくようになっています。イベントに対して計算されるこの子 ID は必ず負の数であり、イベントを起動する IAccessible にとって一意です。

We provide support for this in several ways:

1. You can QueryService to an ISimpleDOMNode (see below), and get a unique (within the document) 32 bit ID for the DOM node via the get_nodeInfo() method.
2. When an event occurs, we hand you a window handle and a childID. The childID we give you is either CHILDID_SELF, if the event occured on the root, or a unique ID. If you wish, you can use this unique ID to correlate back to the unique ID's you store when loading the MSAA tree, obtained via method #1 (ISimpleDOMNode::get_nodeInfo).
3. Ordinarily, one would use the lVal field in the VARIANT structure with get_accChild and the other IAccessible methods, to specify which direct child they wish to use. Possible values are lVal=CHILDID_SELF (0) to directly refer to the current IAccessible, or an lVal >=1 to refer to one of the immediate children. Additionally, you can now use the unique childID given when an event occurs, and treat it like a childID of the root pane accessible, to get whatever decendant accessible the event occured on, no matter how deep in the tree it is.
//→この段落も、全面的に書き換えられています。//

These negative childID's from events can be used with AccessibleObjectFromEvent(), or on the root accessible of a window with any IAccessible method that takes a VARIANT, such as get_accChild().

Because screen readers usually cache an entire document's worth of data, it can be extremely useful for them to receive a child ID that helps them correlate back to a known object. We provide support for this technique via ISimpleDOMNode::get_nodeInfo(), which returns a uniqueID for any IAccessible that can be cached in the internal model. When an event is received, the negative childID should match one of these cached uniqueID's, if the entire document has been stored and kept current. Keeping an internal cache current means getting new subtrees of IAccessibles whenever an EVENT_REORDER is received, indicating important changes have invalidated part of the model.


これらのイベントからの負の数である子 ID は AccessibleObjectFromEvent() によって使用されるか、get_accChild() のような、VARIANT を採るすべての IAccessible のメソッドによってウィンドウのルートアクセシビリティで使われます。

スクリーンリーダは、普通全ドキュメントに匹敵するデータをキャッシュするので、既知のオブジェクトに正しく戻ることができるようになる子 ID を受け取るのはスクリーンリーダにとってとてもありがたいことです。内部モデルでキャッシュされることが可能なすべての IAccessible に対する一意の ID を返す ISimpleDOMNode::get_nodeInfo() によって、私たちはこの技術に対してサポートを提供します。イベントが受け取られた時、全ドキュメントが保持され、現状維持されているなら、負の数の子 ID は、これらのキャッシュされた一意の ID の中のひとつと合致します。内部キャッシュを現状維持するとは、EVENT_REORDER が受け取られる時は必ず、IAccessibles の新しいサブツリーを取得することであり、重要な変更が発生してモデルの一部が無効化されたことを示します。


本日までの完了分は、あらたに新草稿へ追加反映します。
なお、訳文について、気がつかれたことがある方は忌憚なく、ご意見をお寄せください。
旧草稿新草稿

(^-^)/~~~~ またね・・・・