IT翻訳 Nobuyuki の仕事部屋

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

Gecko Info for Windows Accessibility Vendors校正その12

2005-04-30 07:23:00 | InReview
昨日は、あたかも夏の一日のようにお暑うございました。まだ 4 月でございますよ。今朝は丁度よい程度に涼しくてよかったです。それでは朝の一仕事として校正作業を。・・・・・・・その前に昨日好評であった Mozilla VS Gecko 仮面 を再びどうぞ。


原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示

The get_computedStyle method is used to find out the cumulative, computed results for all style rules applied to a node. The return value numStyleProperties specifies the number of style properties for this node, and the last 2 parameters return 2 arrays corresponding to style property name and style property value. Another [in] parameter, useAlternativeMediaProperties, indicates whether you want style information for the default media type (usually screen), or a set of alternative media types specified in nsISimpleDOMDocument::set_alternateViewMediaType(mediaTypeString) . See the W3C's website for a list of official media type name . Unfortunately, at this time the argument useAlternateView is ignored.
HRESULT get_computedStyle(
/* [in] */ unsigned short maxStyleProperties,
/* [in] */ boolean useAlternateView, // If TRUE, returns properites for media as set in nsIDOMDocument::set_alternateViewMediaTypes
/* [out] */ BSTR *styleProperties,
/* [out] */ BSTR *styleValues,
/* [out] */ unsigned short *numStyleProperties);


get_computedStyle メソッドはノードに適用されるすべてのスタイルルールのために累積//→蓄積され//、計算された結果を見出すのに使われます。戻り値 numStyleProperties はこのノード用のスタイルプロパティーの数を決め、//訳抜け→最後の 2 つのパラメーターは//スタイルプロパティー名とスタイルプロパティー値に対応する 2 つの配列を返します。もう一つのパラメータ(値)//→[in]パラメーター// useAlternativeMediaProperties は初期設定メディア方式(ふつうは画面)用に、もしくは nsISimpleDOMDocument::set_alternateViewMediaType(mediaTypeString) に決められた代替メディア方式用にスタイル情報を必要とするかどうか//→用のスタイル情報を必要とするか、もしくは nsISimpleDOMDocument::set_alternateViewMediaType(mediaTypeString) に定められた代替メディア方式を必要とするかどうか*1//を示します。公式なメディア方式名の一覧表は W3C のウェブサイトを見てください。残念ながら、今回は引数 useAlternateView は無視されます。
HRESULT get_computedStyle(
/* [in] */ unsigned short maxStyleProperties,
/* [in] */ boolean useAlternateView, // TRUE なら、nsIDOMDocument::set_alternateViewMediaTypes におけるセットとして//→に設定された*2//メディア用プロパティを返す。
/* [out] */ BSTR *styleProperties,
/* [out] */ BSTR *styleValues,
/* [out] */ unsigned short *numStyleProperties);


*1→indicate whether you want style information for the default media type (usually screen), or a set of alternative media types と whetehr A or B の構文である
*2→*1にあるように、初期設定メディア方式ではなく、代替方式を指示する

A variation on this method is get_computedStyleForProperties, which lets turns the styleProperties array into an [in] parameter, letting you specify only those style properties you're interested in. This helps minimize the cost of marshalling for those times in which you're interested in only a few style properties per node.
HRESULT get_computedStyleForProperties(
/* [in] */ unsigned short numStyleProperties,
/* [in] */ boolean useAlternateView, // If TRUE, returns properites for media as set in nsIDOMDocument::set_alternateViewMediaTypes
/* [in] */ BSTR *styleProperties,
/* [out] */ BSTR *styleValues);


このメソッドの仲間のひとつは get_computedStyleForProperties であり、興味//*→関心//のある属性だけを決定させることで、このメソッドは styleProperties 配列をパラメーターへと変えさせます//*3→styleProperties 配列を[IN]パラメーターへと変えさせます//。この事は、ノードあたり興味のあったスタイルプロパティの//→関心のあるごくわずかなスタイルプロパティの//回数分のみで済むので、マーシャリングのコストを最小限に抑えます。
HRESULT get_computedStyleForProperties(
/* [in] */ unsigned short numStyleProperties,
/* [in] */ boolean useAlternateView, // TRUE なら、nsIDOMDocument::set_alternateViewMediaTypes におけるセットとしてメディア用プロパティを返す。
/* [in] */ BSTR *styleProperties,
/* [out] */ BSTR *styleValues);


*3→「このメソッドは」がなくても、styleProperties が「変えさせます」の主語になるようです

To scroll the document in order make a specific element visible in the window, use scrollTo(boolean placeTopLeft). If the parameter placeTopLeft is TRUE the document will be scrolled so that the element is placed in the top left corner of the window. If placeTopLeft is FALSE, the document will only be scrolled if the element is not already visible, or the document will be scrolled the minimum amount to make the element visible anywhere within the current window.
HRESULT scrollTo([in] boolean placeTopLeft);


ウィンドウで見える特定の要素を作るためにドキュメントをスクロールするために//*→ウィンドウで特定の要素が見えるよう順繰りにドキュメントをスクロールするには//、scrollTo(boolean placeTopLeft) を使って下さい。パラメーター placeTopLeft が TRUE ならエレメントがウィンドウの上部左角に来るようにドキュメントがスクロールされます。placeTopLeft が FALSE ならばもしエレメントがもう見えなければ、ドキュメントはスクロールされるだけか、また現在のウィンドウのどこかにエレメントを見せるために最低限の移動分だけスクロールされます。
HRESULT scrollTo([in] boolean placeTopLeft);


You can also get to any other node by traversing the ISimpleDOMNode structure. The DOM content tree is a superset of the MSAA tree. In other words, you can always QueryInterface from an IAccessible to an ISimpleDOMNode, but often not the other way around.
HRESULT get_parentNode (/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT get_firstChild (/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT get_lastChild (/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT get_previousSibling(/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT get_nextSibling (/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT childAt(/* [in] */ unsigned childIndex, /* [out] */ ISimpleDOMNode **newNodePtr);


ISimpleDOMNode 構造を探索することでまたどこか他のノードへ移動できます。DOM コンテンツツリーは MSAA ツリーの上位集合です。つまり、IAccessible から ISimpleDOMNode へ必ず QueryInterface できますが、その逆は簡単には出来ません。
HRESULT get_parentNode (/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT get_firstChild (/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT get_lastChild (/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT get_previousSibling(/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT get_nextSibling (/* [in] */ ISimpleDOMNode *newNodePtr);
HRESULT childAt(/* [in] */ unsigned childIndex, /* [out] */ ISimpleDOMNode **newNodePtr);


Finally we provide a convenience method for getting the actual HTML within a DOM subtree. This only applies if the node is HTML.

HRESULT innerHTML([out, retval] BSTR *innerHTML);

Please look at the ISimpleDOMNode.idl file for parameter types and the definitions of the node type constants.


最終的に、DOM 従ツリー内に実際の HTML を取得するための便利なメソッドを提供します。このメソッドはノードが HTML であれば適用します。

HRESULT innerHTML([out, retval] BSTR *innerHTML);

ノードタイプの定数の定義とパラメータータイプとを調べるためにどうか ISimpleDOMNode.idl を見てください;//→パラメーターの型と、ノードタイプの定数の定義については ISimpleDOMNode.idl ファイルを見てください。//


本日はここまでにしましょうね。

Gecko Info for Windows Accessibility Vendors校正その11

2005-04-29 09:26:18 | InReview
それでは、本日も Gecko 仮面!、・・・・ではなくて、 Mozilla 対 Gecko 仮面 にようこそおいでやす。

Mozilla vs Gecko 仮面


原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示



ISimpleDOMNode

To get to the ISimpleDOMNode interface for an object, you start with an IAccessible*, and then you QueryService to the ISimpleDOMNode*:
IServiceProvider *pServProv = NULL;
pAccessible->QueryInterface(IID_IServiceProvider, (void**)&pServProv);
ISimpleDOMNode *pSimpleDOMNode;
if (pServProv) {
const GUID refguid = {0x0c539790, 0x12e4, 0x11cf, 0xb6, 0x61, 0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8};
HRESULT result = pServProv->QueryService(refguid, IID_ISimpleDOMNode, (void**)&pSimpleDOMNode);
if (SUCCEEDED(hresult) && pSimpleDOMNode != NULL) {
/* This is a Mozilla node! Use special ISimpleDOMNode methods described in ISimpleDOMNode.idl. */
}
}


ISimpleDOMNode

オブジェクト用に ISimpleDOMNode を得るために//→オブジェクトに ISimpleDOMNode インターフェイスを得るには//、IAccessible* から開始して、ISimpleDOMNode* へ QueryService をします:
IServiceProvider *pServProv = NULL;
pAccessible->QueryInterface(IID_IServiceProvider, (void**)&pServProv);
ISimpleDOMNode *pSimpleDOMNode;
if (pServProv) {
const GUID refguid = {0x0c539790, 0x12e4, 0x11cf, 0xb6, 0x61, 0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8};
HRESULT result = pServProv->QueryService(refguid, IID_ISimpleDOMNode, (void**)&pSimpleDOMNode);
if (SUCCEEDED(hresult) && pSimpleDOMNode != NULL) {
/* This is a Mozilla node! Use special ISimpleDOMNode methods described in ISimpleDOMNode.idl.//訳抜け→これは Mozilla ノードです。ISimpleDOMNode.idl. に記述されている特別な ISimpleDOMNode メソッドを使用してください// */
}
}


The get_nodeInfo method is used to get basic information about a node such as the tag name and namespace ID, node type (see ISimpleDOMNode.idl for definitions), node value (text held in the node), a unique ID for use in tracking where events occur, and the number of children. The namespace ID is meaningless until you get the namespace URI for it, through the ISimpleDOMDocument interface (see below).
HRESULT get_nodeInfo(
/* [out] */ BSTR *nodeName, // For elements, this is the tag name
/* [out] */ short *nameSpaceID,
/* [out] */ BSTR *nodeValue,
/* [out] */ unsigned int *numChildren,
/* [out] */ unsigned int *uniqueID, // see description of unique ID's in above section on events
/* [out] */ unsigned short *nodeType);


タグの名前、名前スペース ID、ノードタイプ(定義は ISimpleDOMNode.idl を参照)、ノード値(ノードに保持されるテキスト)、イベントの起こる場所や子の数を追跡するのに使われる一意の ID などのノードについて基本的情報を取得するために、get_nodeInfo が使用されます//→get_nodeInfo メソッドを使って、基本的情報を取得します。使用されるタグの名前、名前スペース ID、ノードタイプ(定義は ISimpleDOMNode.idl を参照)、ノード値(ノードに保持されるテキスト)、イベントの起こる場所を追跡するのに使う一意の ID 、子の数などの情報です//。ISimpleDOMDocument インターフェイス(下記を参照)通じて、ID 用に名前スペース URI を取得しないうちは、名前スペース ID は意味を持ちません//→によって、ID 用に名前スペース URI を取得して初めて、名前スペース ID は意味を持ちます//
HRESULT get_nodeInfo(
/* [out] */ BSTR *nodeName, // これはエレメント用にの//→の//タグの名前である。
/* [out] */ short *nameSpaceID,
/* [out] */ BSTR *nodeValue,
/* [out] */ unsigned int *numChildren,
/* [out] */ unsigned int *uniqueID, // イベントについての上記項目にある一意の ID の説明を参照のこと。
/* [out] */ unsigned short *nodeType);


The get_attributes method returns the set of attribute, value pairs for a given node, as well as the namespace ID for each attribute. The return value numAttribs specifies the number of attributes for this node, and the last 3 parameters return 3 arrays corresponding to attribute name, namespace ID, and attribute value.
HRESULT get_attributes(
/* [in] */ unsigned short maxAttribs,
/* [out] */ BSTR *attribNames,
/* [out] */ short *nameSpaceID,
/* [out] */ BSTR *attribValues,
/* [out] */ unsigned short *numAttribs);


get_attributes メソッドは各属性用の名前スペース ID に加えて、任意のノード用に属性と値のペアの組合せを返します。返された値の numAttribs はこのノード用に属性の数を決め、最後の 3 個のパラメーターは、属性、名前スペース ID 、属性値に対応する三つの配列を返します。
HRESULT get_attributes(
/* [in] */ unsigned short maxAttribs,
/* [out] */ BSTR *attribNames,
/* [out] */ short *nameSpaceID,
/* [out] */ BSTR *attribValues,
/* [out] */ unsigned short *numAttribs);


A variation on this method is get_attributesForNames, which lets turns the attribNames array into an [in] parameter, letting you specify only those attributes you're interested in. This helps minimize the cost of marshalling for those times in which you're interested in only a few attributes per node.
HRESULT get_attributesForNames(
/* [in] */ unsigned short numAttribs,
/* [in] */ BSTR __RPC_FAR *attribNames,
/* [in] */ short __RPC_FAR *nameSpaceID,
/* [out] */ BSTR __RPC_FAR *attribValues);


このメソッドの仲間のひとつは get_attributesForNames であり、興味のある属性だけを決定させることで、このメソッドは attribNames 配列をパラメーターへと変えさせます//→関心のある属性だけを決定させることで、このメソッドは attribNames の配列を [in] パラメーターへと変えさせます//。この事は、ノードあたり興味のあった属性の//→関心のあるごくわずかな属性の//回数分のみで済むので、マーシャリングのコストを最小限に抑えます。
HRESULT get_attributesForNames(
/* [in] */ unsigned short numAttribs,
/* [in] */ BSTR __RPC_FAR *attribNames,
/* [in] */ short __RPC_FAR *nameSpaceID,
/* [out] */ BSTR __RPC_FAR *attribValues);


長い節なので、続きはまた明日にします。フーツ・・・・・

Gecko Info for Windows Accessibility Vendors校正その10

2005-04-28 23:52:56 | InReview
あすから、GWですね。私は、GWにはどこにも行かず、のんびりと庭弄りにでも精を出すのがいいですね。外出は、GW 後と昔から決めています。どこに行っても、人人ですからね。・・・・・



原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示

Additional DOM Support

There are a number of things available in the parsed HTML or XML of a document that MSAA will not tell you. For example, if you want to make available an outline view of the document to your users, how will you find out which paragraphs are headings? According to MSAA, they are all just text.

To solve this problem, we provide access to the content DOM for Gecko documents, through two interfaces:

* ISimpleDOMNode gives you the actual parsed structure of a document, by node.
* ISimpleDOMText supports scrolling and rectangular bounds information on a character by character basis
* ISimpleDOMDocument contains basic document information, such title, URL, doctype and mime type.


追加 DOM サポート//→ DOM サポートの追加//

MSAA によって明らかにされていない、ドキュメントの HTML や XML の解析でたくさんの役立つ事があります。例えば、ドキュメントの概要一覧//→ アウトライン表示*1//をユーザーに提供したいと思うならば、見出しになっている段落をどのように見分けるでしょうか。MSAA によればそれらの段落はすべてテキストだけになっています。

この問題を解決するために、2つのインターフェイスを通じて、Gecko ドキュメント用のコンテンツ DOM へのアクセスを提供します:

* ISimpleDOMNode はノードごとに、実際に解析されたドキュメントの構造を提供します。
* ISimpleDOMText はスクロールと文字ベースの文字についての四角い境界情報//→文字毎のベースに基づいたスクロールや四角い境界の情報//をサポートします。
* ISimpleDOMDocument はタイトル、URL、ドキュメントタイプ、MIME タイプなどの基本的ドキュメント情報を保持します。


*1→アウトライン表示 an outline view: 別文書からの訳語の統一による;アクセシビリティにおける UI の将来計画について

Compiling the .idl Files

To use these interfaces, you'll need to get the ISimpleDOMNode.idl, ISimpleDOMText.idl and ISimpleDOMDocument.idl file. You must make a header files for them, by running these commands:
MIDL ISimpleDOMNode.idl
MIDL ISimpleDOMText.idl
MIDL ISimpleDOMDocument.idl

That will generate ISimpleDOMNode.h and ISimpleDOMDocument.h, which define the interfaces. It will also create ISimpleDOMNode_i.c and ISimpleDOMDocument_i.c, which contain the necessary IID constants.


.idl ファイルをコンパイルする

これらのインターフェイスを使用するためには、 ISimpleDOMNode.idl、 ISimpleDOMText.idl と ISimpleDOMDocument.idl ファイルを取得する必要があります。これらのコマンドを実行してインターフェイス用のヘッダーファイルを作成しなければなりません//→以下のコマンドを実行してこれらのファイル用にヘッダーファイルを作成しなければなりません//:(草稿訳注:for them = these interfaces でいいか?)  
MIDL ISimpleDOMNode.idl
MIDL ISimpleDOMText.idl
MIDL ISimpleDOMDocument.idl

//→そうすると、//インターフェイスを定義する ISimpleDOMNode.h と ISimpleDOMDocument.h が作られます。必要な IID 定数を保持する ISimpleDOMNode_i.c と ISimpleDOMDocument_i.c もまた作られます。


以上



Gecko Info for Windows Accessibility Vendors 校正その9

2005-04-27 21:55:22 | InReview
もうあといくつ寝ると楽しいGWだ。でも今日も油断せずにがんばろう!



原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示

Intentional Differences with Internet Explorer

For the most part, where we support a method of IAccessible, we have tried to duplicate Internet Explorer's uses of IAccessible. Please let us know if you find any differences not listed here:


Internet Explorer との意図的な相違

IAccessible のメソッドをサポートするほとんどの部分では、Internet Explorer が IAccessible を使用することへの再現を試みています。ここに挙げられていない差異//→相違//に気付かれたならご連絡下さい:


How Page Loading is Tracked

When the current MSAA tree is no longer relevant, an EVENT_OBJECT_STATE_CHANGE occurs on the root pane object. The STATE_SYSTEM_BUSY flag is now set for the root pane object.

Once the new page is ready to be displayed and traversed via its IAccessible tree, the old content window is destroyed, and a new window is created. Next, an EVENT_OBJECT_STATE_CHANGE is thrown for the new root pane, with its STATE_SYSTEM_BUSY flag cleared.


ページのロード//→読み込み//の追跡方法

現在の MSAA ツリーがもはや関係しなくなると//→との関係が切れると//、ルートペインオブジェクトに EVENT_OBJECT_STATE_CHANGE が発生します。STATE_SYSTEM_BUSY フラグが今や//→すると STATE_SYSTEM_BUSY フラグが//ルートペインオブジェクトのために設定されます。

新しいページが IAccessible ツリーによって表示され移動される準備が一度整うと、古いコンテンツのウィンドウは破壊され、新しいウィンドウが作られます。次に、 STATE_SYSTEM_BUSY フラグがクリアされた状態で、EVENT_OBJECT_STATE_CHANGE が新しいルートペインに投じられます


Enhancing Performance on the Client End via IEnumVARIANT

Mozilla trunk builds starting August 23 support IEnumVARIANT on non-leaf IAccessible's.

This means, whenever you get an IAccessible, you can QI it to IEnumVARIANT. If that succeeds, then it has children. You can then get the number of children via IAccessible::get_accNumChildren(), then allocate an array of VARIANT's to hold the children, and call IEnumVARIAINT::Next() to get all the children in one call. The VARIANT's we provide will always be VT_IDISPATCH.

Using IEnumVARIANT in this way is much faster than getting the children via get_accChild() or accNavigate(). See MSDN for more information.


IEnumVARIANT によってクライアントエンドの性能を向上する

8月23日に開始する Mozilla トランクビルドはリーフのない IAccessible の IEnumVARIANT をサポートします。

この事で、IAccessible が取得される時はいつも、IEnumVARIANT へ QI できます。それが上手く行けば、IAccessible は子を備えます。その時、IAccessible::get_accNumChildren() によって子の数を取得でき、それから子を保持する VARIANT の配列を割付けし、一度の呼出しですべの子を取得するために kbd>IEnumVARIAINT::Next() を呼び出すことができます。提供される VARIANT は必ず VT_IDISPATCH です。

このように IEnumVARIANT を使用すると get_accChild() や accNavigate() で子を得るよりははるかに速く得ることがでいます。もっと情報が必要であれば MSDN をご参照下さい。


そんなに難しい節ではないですね。



Gecko Info for Windows Accessibility Vendors 校正その8

2005-04-26 21:11:51 | InReview
昨日の続きです。



原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示

MSAA Features We Do Not Support

These features are slated for possible future development:

* More MSAA events: EVENT_OBJECT_NAMECHANGE, EVENT_OBJECT_VALUECHANGE, EVENT_OBJECT_SELECTION, EVENT_OBJECT_SELECTIONADD, EVENT_OBJECT_SELECTIONREMOVE, EVENT_OBJECT_SELECTIONWITHIN
* Accessibility for XUL (eXtensible User-interface Language), and the browsers that use it (Netscape, Mozilla).


サポートしない MSAA 機能

これらの機能は将来開発の予定です:

* もっと多くの MSAA イベント//→さらに追加されるべき MSAA イベント//: EVENT_OBJECT_NAMECHANGE、EVENT_OBJECT_VALUECHANGE、EVENT_OBJECT_SELECTION、 EVENT_OBJECT_SELECTIONADD、EVENT_OBJECT_SELECTIONREMOVE、 EVENT_OBJECT_SELECTIONWITHIN
* XUL 用アクセシビリティ(eXtensible ユーザーインターフェイス言語)//→XUL (eXtensible User-interface Language: eXtensible ユーザーインターフェイス言語) のためのアクセシビリティ//とそれを使用するブラウザ (Netscape, Mozilla)。

No one has yet asked for the following features (if you need something, please contact Aaron Leventhal ):

だれにもまだ以下の機能は要請されていません//→以下の機能はだれにもまだ要請されていません//。(必要なものがあれば、Aaron Leventhal にご連絡をください ):

* IAccessible methods that we don't currently support:
get_accHelp get_accHelpTopic put_accName put_accValue
* We do not currently support the Visual Basic (IDispatch) bindings for IAccessible.
* We do not currently support directional navigation.
* We do not currently support scroll bars as IAccessible objects, although we do support EVENT_SYSTEM_SCROLLINGEND and ISimpleDOMNode::ScrollTo(), explained below.
* We do not currently support MSAA alerts.
* We do not currently support STATE_SYSTEM_MOVEABLE, STATE_SYSTEM_SIZEABLE or STATE_SYSTEM_MARQUEED.
* We do not currently support ROLE_SYSTEM_ROW, ROLE_SYSTEM_ROWHEADER or ROLE_SYSTEM_COLUMNHEADER. Internet Explorer doesn't either, and we're going for compatibility. You can get this information via our additional DOM support.


* 現在サポートしていない IAccessible //→の//メソッド:
get_accHelp get_accHelpTopic put_accName put_accValue
* IAccessible 用に Visual Basic (IDispatch) バインディングはサポートしていません//→ IAccessible に Visual Basic (IDispatch) のバインディングを現在サポートしていません//
* 方向ナビゲーション//→ 方向指定操作*1////→ 現在//サポートしていません。
* 下記に説明していますように、 EVENT_SYSTEM_SCROLLINGEND と ISimpleDOMNode::ScrollTo() はサポートしていますが、IAccessible オブジェクトとして現在スクロールバーはサポートしていません。
* MSAA アラートは//→ 現在//サポートしていません。
* STATE_SYSTEM_MOVEABLE、STATE_SYSTEM_SIZEABLE や STATE_SYSTEM_MARQUEED は現在サポートしていません。
* ROLE_SYSTEM_ROW、ROLE_SYSTEM_ROWHEADER や ROLE_SYSTEM_COLUMNHEADER は現在サポートしていません。//→これらは// Internet Explorer もサポートしていませんが、//→私たちは IE との//互換性を確保しようとしています。私たちが、DOM サポートを追加する事によってこの//→これらの*2//情報は取得可能です。


*1→ 方向指定操作=directional navigation:以下のリンクの訳語に従った; アクセシビリティにおける UI の将来計画について
*2→これらの情報: ROLE_SYSTEM_ROW、ROLE_SYSTEM_ROWHEADER や ROLE_SYSTEM_COLUMNHEADER

以上






Gecko Info for Windows Accessibility Vendors 校正その7

2005-04-21 20:46:15 | InReview
また花の話ですが、大半のチューリップの花弁が落ちた今、我が家の花壇で元気なのはノースポルという、白い花弁の素朴な花です。これはとても繁殖力が強く、瞬く間に根を広げて、次から次へと開花を継続します。多分野草から発達してきた花で、昔の生命力が今も分子構造に保持されているのでしょう。私は園芸愛好家ではありませんが、花壇になんらかの花を植えておきたいと考えるのは人情で、それほど時間もとれない事から、手間のかからない花を育てるようにしています。その代表格がノースポルとマリーゴールドです。マリーコールドは、予定ではノースポルの後に植えるつもりで、現在、種から苗を育成中です。立派な苗が沢山できて、花壇全部を黄色一色に染める一風情を思い浮かべると、今からわくわくとします。

と言ったところで、今日また例によって、作業を継続します。



原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示

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.


オフスクリーンモデル内において、イベントが発生した場所を追跡する方法。

スクリーンリーダは自分自身のデーター構造//→内に//データーを保持する事があるので、イベントの可能性のある各標的に//→イベントのターゲットとなる事がある各対象に対して//一意の識別子を備える事が重要になります。こうしてイベントが発生する時、スクリーンリーダは自分自身のデーターモデル内のオブジェクトを MSAA のイベントが発生するオブジェクトと関連付ける事が可能になります。


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.


複数の方法でこの件はサポートされます:

1. ISimpleDOMNode に QueryService を使えます(下記を参照)、そして get_nodeInfo() method によって(ドキュメント内に)DOM ノード用の一意の//→DOM ノード用の(ドキュメント内で)一意の*1// 32 ビットの ID を取得できます。
2. イベントが発生する時、ウィンドウハンドルと子 ID が渡されます。渡される子 ID はイベントがルートで発生するなら CHILDID_SELF であるか、一意の ID であるかどちらかです//→CHILDID_SELF であり、そうでなければ、一意の ID であるかどちらかです*2//希望するならこの一意の ID を使って、メソッド #1 (ISimpleDOMNode::get_nodeInfo) によって得られた MSAA ツリーをロードする時に保持した一意の ID へと関連付け直す事が出来ます//→もしそうしたいならば、この一意の ID を使って、MSAA ツリーのロード時に、メソッド #1 (ISimpleDOMNode::get_nodeInfo) によって得られ、保持する一意の ID へと関連付け直す事が出来ます。//
3. どの直系の子を使いたいかを決めるために、get_accChild とその他の IAccessible メソッド//→ IAccessible のその他のメソッド//によって、普通は VARIANT 構造内の 1Val フィールドを使うことになります(草稿訳注:この場合 one と they は同じ代名詞のように思える)。現在の IAccessible を直接参照するなら可能な値は lVal=CHILDID_SELF (0) ですが、直下の子たちの一つを参照するなら lVal >=1 です。さらに、イベントが発生する時得る//→ 得られた//一意の子 ID を//→ すぐ//使うことが出来ます。そして、それをルートペインアクセシビリティの子 ID として扱って、ツリーをどれ程下ろうともイベントが発生する子孫のアクセシビリティをすべて得ることも可能です//→ イベントが発生する子孫のアクセシビリティは、ツリーをどれ程下ろうともすべて得ることができます//。(草稿訳注:decendant は descendant の typo?)


*1→unique なのは document 内と限定する。
*2→ルートである場合は CHILDID_SELF、それ以外は、任意の一意の ID ということか。

-To be continued till tomorrow-





Gecko Info for Windows Accessibility Vendors 校正その5

2005-04-20 20:49:30 | InReview
昨日の続きです。



原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示

How to Find a Gecko Window

All Mozilla windows have the window class called "MozillaWindowClass". In addition, you can find out whether a window is a content window or a XUL UI window. This is done by checking the low bit of the control ID, which is returned when you make the Win32 API call controlId = ::GetWindowLong(hWnd, GWL_ID) & 1. If the result is 0, this is a UI window; if it is 1, then this is a content window. At this point, embedding clients don't use XUL, so for them you only need to find the top MozillaWindowClass window. Fortunately, you won't need separate logic for all different clients. Whenever you see a MozillaWindowClass window focused, keep moving to the first child if it has a control ID of 0. If it has a control ID of 1, find the first ancestor that also has a control ID of 1. This is where you should start when using MSAA to get the content tree for a Mozilla application.


Gecko ウィンドウを見つける方法

すべての Mozilla のウィンドウは "MozillaWindowClass" と呼ばれるウィンドウクラスを備えています。その上//→それに加えて、//ウィンドウがコンテンツウィンドウであるか、XUL UI ウィンドウであるかを見分けるのは可能です。これは、コントロール ID のロービットをチェックすることで分かります。Win32 API に controlId = ::GetWindowLong(hWnd, GWL_ID) & 1 を呼出しさせる時、ロービットは//→ロービットが//返されます。もし結果が 0 であると、UI ウィンドウであり、もし 1 だとコンテンツウィンドウです。この時点では、埋め込まれたクライアントは XUL を使用しません。そこでクライアントのために 先頭の Mozilla ウィンドウクラスウィンドウを見つけさえすればいい事になります。幸運なことに、すべての異なるクライアントのために別個のロジックは必要となりません。 Mozilla ウィンドウクラスウィンドウにフォーカスがある場合はいつも//→必ず//、コントロール ID 0 を備えていれば最初の子まで移動を続けて下さい。もし、コントロール ID 1 を備えていれば、同様に//→同じように//コントロール ID 1 を備えている最初の祖先を見つけて下さい。MSAA を Mozilla アプリケーションのためにコンテンツツリーを取得するために使用する時は、ここから始めます//→MSAA を使用している時は、Mozilla アプリケーションへここでコンテンツツリーの取得を開始すべきです*1//


→*1:最初の訳だと何を開始するか不明;start to get the content ..... とする。

Gecko Info for Windows Accessibility Vendors 校正その5

2005-04-19 06:54:05 | InReview
昨日の続きです。



原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示

How to Find a Gecko Window

All Mozilla windows have the window class called "MozillaWindowClass". In addition, you can find out whether a window is a content window or a XUL UI window. This is done by checking the low bit of the control ID, which is returned when you make the Win32 API call controlId = ::GetWindowLong(hWnd, GWL_ID) & 1. If the result is 0, this is a UI window; if it is 1, then this is a content window. At this point, embedding clients don't use XUL, so for them you only need to find the top MozillaWindowClass window. Fortunately, you won't need separate logic for all different clients. Whenever you see a MozillaWindowClass window focused, keep moving to the first child if it has a control ID of 0. If it has a control ID of 1, find the first ancestor that also has a control ID of 1. This is where you should start when using MSAA to get the content tree for a Mozilla application.


Gecko ウィンドウを見つける方法

すべての Mozilla のウィンドウは "MozillaWindowClass" と呼ばれるウィンドウクラスを備えています。その上//→それに加えて、//ウィンドウがコンテンツウィンドウであるか、XUL UI ウィンドウであるかを見分けるのは可能です。これは、コントロール ID のロービットをチェックすることで分かります。Win32 API に controlId = ::GetWindowLong(hWnd, GWL_ID) & 1 を呼出しさせる時、ロービットは//→ロービットが//返されます。もし結果が 0 であると、UI ウィンドウであり、もし 1 だとコンテンツウィンドウです。この時点では、埋め込まれたクライアントは XUL を使用しません。そこでクライアントのために先頭の Mozilla ウィンドウクラス//→MozillaWindowClass//ウィンドウを見つけさえすればいい事になります。幸運なことに、すべての異なるクライアントのために別個のロジックは必要となりません。 Mozilla ウィンドウクラス//→MozillaWindowClass//ウィンドウにフォーカスがある場合はいつも//→必ず//、コントロール ID 0 を備えていれば最初の子まで移動を続けて下さい。もし、コントロール ID 1 を備えていれば、同様に//→同じように//コントロール ID 1 を備えている最初の祖先を見つけて下さい。MSAA を Mozilla アプリケーションのためにコンテンツツリーを取得するために使用する時は、ここから始めます//→MSAA を使用している時は、Mozilla アプリケーションへここでコンテンツツリーの取得を開始すべきです*1//


→*1:最初の訳だと何を開始するか不明;start to get the content when using MSAA..... とする。

今も花粉症は健在、Hay fever 負けないぞ、・・・・・・・・・・・・アチュ!

Gecko Info for Windows Accessibility Vendors 校正その6

2005-04-18 01:01:46 | InReview
IT とは関係のない話ですが、昨年は花壇が野菜畑になってしまいました。真っ赤なミニトマトが次から次へと実を結び、ほぼ2ヶ月間にわたり、サラダの食材を継続して提供してくれました。数えませんでしたが、合計で7~8百個の収穫があったと思います。もちろん、我が家だけで、食べきれずに近所におすそ分けして喜ばれたり、お向かいさんに自由に摘み取っていただいたりしました。なぜそんな事になったかと言いますと、マリーゴールドの苗が育たなかったためです。実は、一昨年マリーゴールドが花壇一面に咲き誇り、黄色いボリュームのある光景が長期間楽しめたので、昨年も種から苗を育てようとしたのですが、なぜかまともに育ちませんでした。その代わり、初めて試みたミニトマトの苗が育ち、それを試しに花壇に植えたところ、発育旺盛に実を結び、思いがけない食料基地が構築されてしまいました。トマトの味も、酸味のないほろ甘いもので、これは、日当たりの好い花壇のお陰で、野菜畑としても申し分ない立地条件であることが、分かりました。
さて、昨年の予期せぬ成功に味をしめた愚妻は、今年もミニトマトを植えようと言います。昨日ホームセンターへ行って、ミニトマトとマリーゴールドの種を購入し、早速ビニールポットに土を充填し、種をひとつひとつ丁寧に落とし込んで、最後に水差しで程よい水分を供給しました。しかし、同じ土地で2年続けて、豊作となるはずはないのは、マメ科のスイートピーが連作できないようなものだと思い、それならば、今年は花壇はマリーゴールドにして、トマトの苗は、別の場所にしようかなどと、まじめに考え出した自分に気付き、思わず笑い出してしまった、春うららな一日でありました。



原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示

MSAA Support: IAccessible Methods

To use MSAA with Gecko, you'll need the tools and docs that come with the MSAA SDK . The method AccessibleObjectFromWindow() will get you the root IAccessible corresponding to the top level window. Hold on to this root IAccessible, and use it to walk through the entire tree of IAccessible's.


MSAA サポート: IAccessible メソッド//→のメソッド*0//

Gecko で MSAA を使用するために、 MSAA SDK を備えているツールとドキュメントが必要です//→必要になります*1//AccessibleObjectFromWindow() メソッドはトップレベルのウィンドウに対応するルート IAccessible を取得させます//→AccessibleObjectFromWindow() メソッドで、トップレベルのウィンドウに対応するルート IAccessible が取得できます*2//ルート//→このルート// IAccessible を保持して IAccessible の全ツリーを移動するために//→するのに//使用して下さい。


*0→ IAccessible インターフェイスに所属するメソッドの意味。プログラムに習って、注記の番号も 0 から始める・・・・・・・・本当かな?
*1→原文の未来形の語感をより明確に伝える
*2→人を主体とする表現の方が自然か・・・・・

We currently support MSAA for HTML content, ala the IAccessible interface and MSAA events.

* IAccessible methods that we support:
get_accParent get_accChildCount get_accChild get_accName
get_accValue get_accDescription get_accRole get_accState
get_accFocus get_accDefaultAction accLocation accSelect
accHitTest accDoDefaultAction accNavigate get_accKeyboardShortcut


//挿入→IAccessible インターフェイスと MSAA イベントである限りは、HTML コンテンツのために MSAA を現在サポートします*3//

*サポートしている IAccessible メソッド:
get_accParent get_accChildCount get_accChild get_accName
get_accValue get_accDescription get_accRole get_accState
get_accFocus get_accDefaultAction accLocation accSelect
accHitTest accDoDefaultAction accNavigate get_accKeyboardShortcut


*3→ala = "as long as" の短縮形として解釈、こんな短縮あるのですね。asap(=as soon as possible)はよく聞きますけれど・・・・・・

MSAA Support: IAccessible Events and Unique ID's
What MSAA events do we support?

* EVENT_OBJECT_FOCUS is fired for focus changes on any kind of focusable object
* EVENT_OBJECT_STATECHANGE is used in check boxes, radio buttons, text fields, combo boxes and list boxes. It's also used in the root pane object to show when the STATE_BUSY flag changes from loading new content.
* EVENT_SYSTEM_SCROLLINGEND is used to indicate when a document has scrolled, even if only 1 line. Gecko does it's best to fire this event when the scrolling is finished, rather than fire excessive events.
* EVENT_SYSTEM_MENUPOPUPSTART and EVENT_SYSTEM_MENUPOPUPEND are fired when XUL menus are opened or closed.
* EVENT_SYSTEM_MENUSTART and EVENT_SYSTEM_MENUEND are fired when the XUL menubar is activated or deactivated.
* EVENT_OBJECT_SHOW, EVENT_OBJECT_HIDE and EVENT_OBJECT_LOCATIONCHANGE are fired for the caret object.


MSAA サポート: IAccessible イベントおよび一意の ID
私たちがサポートする MSAA イベントは何?

* EVENT_OBJECT_FOCUS はすべてのフォーカス可能オブジェクト上でフォーカスの変更のために起動されます。
* EVENT_OBJECT_STATECHANGE はチェックボックス、ラジオボタン、テキストフィールド、コンボボックス、リストボックスにおいて使用されます。また、STATE_BUSY フラグが新しいコンテンツからいつ変更になるかを示すために//→新しいコンテンツを読み込み中の状態から何時変更になるかを示すのに//、ルートペインオブジェクトにおいても使用されます。
* EVENT_SYSTEM_SCROLLINGEND は一行だけであっても、ドキュメントがいつスクロールしたかを示すために、使われます//→示すのに使われます//。スクロールが完了する時、過剰にイベントを起動せずに、このイベントを起動するのが最適である事を Gecko が示します。
* EVENT_SYSTEM_MENUPOPUPSTART と EVENT_SYSTEM_MENUPOPUPEND は XUL メニューバーが開かれたり閉じられた時起動されます。
* EVENT_SYSTEM_MENUSTART と EVENT_SYSTEM_MENUEND は XUL メニューバーが有効になったり無効になった時起動されます。
* EVENT_OBJECT_SHOW, EVENT_OBJECT_HIDE と EVENT_OBJECT_LOCATIONCHANGE はキャレットオブジェクトのために起動されます。


-To Be Continued-


Gecko Info for Windows Accessibility Vendors 校正その4

2005-04-17 21:27:39 | InReview
本日は長く難しい節を一気に料理します。(・・・・・・料理人と言えば、味平だっけ????)



原題: Gecko Info for Windows Accessibility Vendors

訳題: Windows アクセシビリティベンダー向け Gecko 情報

原文:  青色表示
訳文:  黒色表示
校正文: 赤色表示
校正対象範囲: 黒色太字表示
*n(=int)校正コメント:赤色表示

Windows Applications Based on the Gecko Layout Engine

Gecko is a rendering engine that Mozilla, Netscape and other new browsers use. Gecko can render a variety of content, not just HTML and supports key web standards such as Cascading Style Sheets, Javascript and the W3C DOM. Gecko also handles the users keystrokes and mouse clicks. Gecko is the core architecture that we are adding accessibility to, in order to support accessibility in all applications that are based on it.


Gecko レイアウトエンジンに基づく Windows アプリケーション

Gecko は Mozilla、Netscape、その他のブラウザ//→新規ブラウザ//が使う表示エンジンです。Gecko は HTML だけでなく様々なコンテンツを表示可能で、Cascading Style Sheets、Javascript、W3C DOM などの主要ウェブの標準をサポートします。Gecko はまたユーザーのキーストローク//→キー入力*1//やマウスクリックをも操作します。Gecko は中核の構造体であり、Gecko に基づく全てのアプリケーションにおいてアクセシビリティをサポートするために、私たちはそこにアクセシビリティを追加しました//→Gecko に基づく全てのアプリケーションにおいてアクセシビリティをサポートするために、私たちは中核の構造体である Gecko にアクセシビリティを追加しているところです//


→keystroke*1:キー入力; カタカナ英語(キーストローク)をどこまで和語に置き換えるかいつも迷うところです。「キー打ち」という訳語もあります。

embedded Clients (support MSAA)

embedded clients use Gecko only in the content window, at the moment for HTML and generic XML only. Since they use standard Windows controls (or support MSAA for their own user interface), they can be made accessible.

* MFCembed testing client: This is a very simple package, great for testing basic HTML accessibility with your products and the Gecko rendering engine. Contact Aaron Leventhal - aaronleventhal@ m o o n s e t . net for a copy.
* Many other clients are being developed, and are on the horizon.


(MSAA をサポートする)埋め込まれたクライアント

現在は HTML と標準的な XML だけ用に埋め込まれたクライアントは、ウィンドウコンテンツにおいてのみ Gecko を使います//→埋め込まれたクライアントは、現在 HTML と包括的な XML だけに、ウィンドウコンテンツだけで Gecko を使います//それらは標準のウィンドウコントロール(あるいはそれら自身のユーザーインターフェイス用に MSAA をサポートする)を使用しますので、アクセスされる事が可能になります
//→それらクライアントは標準のウィンドウコントロールを使用する(あるいは自分自身のユーザーインターフェイス用に MSAA をサポートする)ので、アクセスできるように(*2)なります//

* MFCembed テストクライアント: これは非常に簡単なパッケージであり、あなたの製品と Gecko 表示エンジンによって基本的 HTML アクセシビリティを試験するのに最高です。コピーのご請求は Aaron Leventhal - aaronleventhal@ m o o n s e t . net へご連絡下さい。
* その他多数のクライアントが開発されつつあり、もうすぐ公表されるでしょう。


→アクセスできるように(*2):態を変換すると下記のようになります
 they can be made accessible→
 the standard Windows controls can make them(=clients) accessible


XUL-Based Clients (now also support MSAA!)

XUL-based clients make full use of the Gecko architecture, not only for HTML content, as well as for menus, dialogs and the entire user interface via an XML language called XUL (eXtensible User-interface Language). None of the user interface contains standard Windows controls -- not even the menus! This is done to ensure a common look and feel across all supported platforms. MSAA support for XUL is available in Mozilla 1.0+.

* Mozilla the browser
* Netscape 6.x


XUL ベースのクライアント(今また MSAA をサポートする!)//→XUL ベースのクライアントは-今 MSAA をもサポートする!//

HTML コンテンツだけでなく、メニュー、ダイアログボックス、XUL(eXtensible User-interface Language) と呼ばれる XML 言語を使った全ユーザーインターフェイス用に//→に//、XUL ベースの//→をベースとする//クライアントは Gecko 構造体//→Gecko のアーキテクチャー//を全面的に使用しています//→使用します//。ユーザーインターフェイスには、メニューさえ//→メニューも//含めて、標準ウィンドウコントロールを備えたものはありません。すべてのサポートされるプラットフォームに関わる共通のルックアンドフィールを有効にするためにこうしています//→ためです//。XUL 用の//→への// MSAA のサポートは Mozilla 1.0+ において//→で//有効です。

* Mozilla 代表ブラウザ
* Netscape 6.x



フーッツ疲れた、?????立ち眩みが・・・・・・・