2011-07-26 39 views
5

'da UI öğelerine erişmek için kullanılan API okuma engelli kullanıcılara yardımcı olan bir uygulama geliştiriyoruz. Kullanıcı, fare imlecini üzerine getirerek ekrandaki herhangi bir metni sesli olarak (menüler, düğme etiketleri, pencere başlıkları, vb.) Okuyabilsin (birçok işletim sisteminin bunu zaten yapabileceğini biliyorum, fakat bu bir pedagojik araçtır ve bazı ek şeyler yapıyoruz). Windows için bir çalışma uygulamasına sahibiz ve şimdi OS X'de benzer bir şey yapmak istiyoruz. Temel olarak OS X'in VoiceOver özelliğine benzer bir şeyi uygulamak istiyoruz. Sorum şu UI öğelerine erişmek için kullanabileceğimiz bir API varsa OS X'de (Windows için Microsoft Etkin Erişilebilirlik gibi). Mac OS X Erişilebilirliği hakkında okudum, ancak işletim sisteminden (veya diğer uygulamalardan) öğelere erişmemek için, kendi uygulamanızda erişilebilirliği etkinleştirmek için bir API gibi görünüyor. Burada yanlış mıyım?Mac OS X

cevap

7

Erişilebilirlik, diğer uygulamaların UI öğelerine de erişmenize izin verecektir. Apple'ın sitesinde UIElementInspector sample code'a bakın. Yapmak istediğin şeye çok yakın.

+0

Thanx, bu şimdiye sonra tam olarak ne olduğunu. Ancak bunu doğru bir şekilde anlarsam, bu API'yi sadece Kakao (ve Karbon) uygulamalarından elde edilen verileri ayıklamak için kullanabilirim, çünkü bilgi işletim sistemi tarafından değil, çerçeve tarafından sağlanır. Kakao ile ilgisi olmayan uygulamalardan (örneğin Java uygulamaları) bilgi alamam anlamına mı geliyor? – pajevic

+0

@NobleK: Gerçekten bilmiyorum. Her gün bir çok GUI Java uygulamasıyla etkileşimde bulunmam. Apple'ın kendi işletim sistemi JVM çatalını daha çok işletim sistemine daha iyi entegre etmesi için oluşturduğu için işe yarayabileceğinden şüpheleniyorum. Her durumda, sistem GUI çerçeveleri, * işletim sisteminin * olması için oldukça yakındır. Java, düşünebildiğim en önemli uygulama türüdür * kakaodan geçemez. Dışarıdaki tüm platformlar arası araç takımları, Mac’te Kakao veya Karbon’dan geçer. Grafiksel bir uygulama yapmak için pratik bir alt düzey yol yoktur. – Chuck

+0

Windows Swing Uygulamalarında, temel olarak, Windows için Erişilebilirlik API'sinin güncellenmiş sürümü olan Windows UIAutomation API'sini kullanarak bileşenleri inceleyemediğinizde siyah kutular gibi görünüyor. Salınım uygulaması ve erişilebilirlik API'si hakkında herhangi bir bilginiz varsa bunu duymak isterim. SWT ve JFace kullanarak bir düşüş, genellikle yerel denetimler kullanıyor ve bu nedenle de Erişilebilirlik API'ları için görseldir. –