2011-07-26 15 views
5

私たちは読書障害のある人を助けるアプリケーションを開発しています。ユーザーは、マウスカーソルを上に置くことによって、アプリケーションが画面上のテキスト(メニュー、ボタンラベル、ウィンドウタイトルなど)を大声で読み上げるようにすることができます(これは多くのOSがこれを行うことができますが、これは教育的ツールです我々はいくつかの追加のものをやっている)。私たちはWindows用のアプリケーションを持っていますが、今度はOS Xで同様のことをしたいと思います。基本的にOS XのVoiceOver機能に似たものを実装したいと思っています。私の質問は、UI要素にアクセスするためのAPI OS Xでは(Microsoft Active Accessibility for Windowsのように)。私はMac OS Xのアクセシビリティについて読んできましたが、OS(または他のアプリ)の要素にアクセスするのではなく、自分のアプリでアクセシビリティを有効にするAPIのように思えます。私はここで間違っていますか?Mac OS XのUI要素にアクセスするためのAPI

答えて

7

アクセシビリティでは、他のアプリのUI要素にもアクセスできます。 AppleのサイトでUIElementInspector sample codeをチェックしてください。あなたがしたいことに非常に近いです。

+0

ありがとうが、これは私が後だった正確に何です。しかし、これを正しく理解すれば、このAPIを使って、Cocoa(およびCarbon)アプリケーションからデータを抽出することができます。なぜなら、情報はフレームワークによって提供され、OS自体では提供されないからです。 Cocoaとは関係のないアプリケーション(Javaアプリケーションなど)から情報を得ることができないということですか? – pajevic

+0

@ノーブル:私は正直に分かりません。私は毎日多くのGUI Javaアプリケーションと対話しません。私はAppleが独自のカスタマイズされたJVMフォークを主に作ってから、OSにうまく統合できるようになると思う。とにかく、システムのGUIフレームワークは、OSにかなり近い*です。 Javaは、私がココアを通らないかもしれないと考えることができる唯一の主要な種類のアプリです。そこにあるクロスプラットフォームのウィンドウツールキットはすべて、Mac上のCocoaまたはCarbonを経由します。実際にグラフィカルアプリケーションを作成するための実践的な低レベルの方法はありません。 – Chuck

+0

Windows Swingアプリケーションは、基本的にブラックボックスと思われますが、Windows用のAccessibility APIの更新版であるWindowsのUIAutomation APIを使用してコンポーネントを検査することはできません。スイングアプリケーションとアクセシビリティAPIに関する情報がありましたら、それを聞いてみたいと思います。 SWTとJFaceを使用したフォールバックは、通常ネイティブコントロールを使用しているため、アクセシビリティAPIを視覚的に示しています。 –

関連する問題