Estamos desarrollando una aplicación que ayuda a personas con problemas de lectura. El usuario puede dejar que la aplicación lea en voz alta cualquier texto de la pantalla (menús, etiquetas de botones, títulos de ventanas, etc.) colocando el cursor del mouse sobre él (sé que muchos SO ya pueden hacerlo, pero esta es una herramienta pedagógica y estamos haciendo algunas cosas adicionales). Tenemos una aplicación que funciona para Windows y ahora nos gustaría hacer algo similar en OS X. Básicamente queremos implementar algo similar a la función VoiceOver de OS X. Mi pregunta es si hay una API que podamos usar para acceder a los elementos de la interfaz de usuario. en OS X (como Microsoft Active Accessibility para Windows). He estado leyendo acerca de la Accesibilidad para Mac OS X, pero parece más una API para habilitar la accesibilidad en su propia aplicación, no para acceder a elementos del sistema operativo (u otras aplicaciones). ¿Me equivoco aquí?API para acceder a los elementos de la interfaz de usuario en Mac OS X
Respuesta
La accesibilidad también le permitirá acceder a los elementos de la IU de otras aplicaciones. Consulte el UIElementInspector sample code en el sitio de Apple. Está muy cerca de lo que quieres hacer.
Sí, se llama API de accesibilidad. Está muy bien documentado aquí:
https://developer.apple.com/library/mac/documentation/Accessibility/Conceptual/AccessibilityMacOSX/
http://developer.apple.com/library/mac/#documentation/Accessibility/Reference/AccessibilityLowlevel/
Su primer enlace es ahora 404. –
fijo gracias ... –
Es 404 de nuevo. –
- 1. AirPlay API para Mac OS X
- 2. Escribir interfaz gráfica de usuario para la aplicación de línea de comandos en Mac OS X
- 3. Dirección MAC de la interfaz en OS X (C)
- 4. API de voz a texto de Mac OS X. ¿Cómo?
- 5. API para detectar sesiones activas en Mac OS X con cambio de usuario rápido
- 6. Mac OS X - shell script de ejecución de la interfaz gráfica de usuario de escritorio
- 7. Interfaz de red virtual en Mac OS X
- 8. SetWindowsHookEx para Mac OS X?
- 9. ldconfig para Mac OS X
- 10. Bug Tracking Software para Mac OS X
- 11. Configuración de DHCP en Mac OS X
- 12. UIActivityIndicatorView para Mac OS X?
- 13. Pantalla de bloqueo por api en mac os X
- 14. Ajustes de oscilación para Mac OS X
- 15. ¿Se puede acceder a los elementos de la interfaz de usuario de otra conversación? (no establecer)
- 16. Cliente SVN independiente para Mac OS X
- 17. JNotify en Mac OS X?
- 18. Un MapKit para Mac OS X?
- 19. Actualizaciones de aplicaciones en Mac OS X
- 20. Makefile para dummies? Mac OS X
- 21. consola EFI en Mac OS X (Intel)
- 22. Mac OS X equivalente para DirectShow, GraphEdit
- 23. Desarrollo de Blackberry en Mac OS X
- 24. ¿Es libusb el método preferido en Mac OS X para acceder a dispositivos USB?
- 25. Edición de conjunto en Mac OS X
- 26. ¿Dónde están los registros de PostgreSQL en Mac OS X?
- 27. Pascal IDE para Mac OS X
- 28. Clase UIDevice para Mac OS X?
- 29. wxPython 2.9 en Mac Os X
- 30. mac os x acceso datos en bruto de framebuffer
Gracias, esto es exactamente lo que estaba buscando. Pero si entiendo esto correctamente, solo puedo usar esta API para extraer datos de las aplicaciones Cocoa (y Carbon) porque la información la proporciona el marco, no el sistema operativo en sí mismo. ¿Significa que no puedo obtener información de aplicaciones que no tienen nada que ver con Cocoa (por ejemplo, aplicaciones Java)? – pajevic
@NobleK: Honestamente, no lo sé. No interactúo con muchas aplicaciones de GUI Java a diario. Sospecho que podría funcionar, ya que Apple creó su propia horquilla JVM personalizada principalmente para integrarla mejor en el sistema operativo. En cualquier caso, los marcos de la GUI del sistema son muy similares a * ser * el sistema operativo. Java es el único tipo de aplicación que puedo pensar que * podría * no pasar por Cocoa. Todos los kits de herramientas de ventana multiplataforma que hay a través de Cocoa o Carbon en la Mac. Realmente no hay una forma práctica de bajo nivel para hacer una aplicación gráfica. – Chuck
En Windows Swing, las aplicaciones parecen básicamente cuadros negros, no se pueden inspeccionar los componentes mediante la API UIAutomation de Windows, que es la versión actualizada de la API de accesibilidad para Windows. Si tiene información sobre la aplicación swing y la API de accesibilidad, me encantaría escucharla. Como un retroceso usando SWT y JFace usualmente usa controles nativos y por lo tanto es visual para API de accesibilidad. –