-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Integration with OS accessibility APIs #814
Comments
I cobbled this together as an example after @LexiconCode asked me about UI Automation after I mentioned it in the dictationtoolbox general channel: https://gist.github.com/caspark/36b1f2b47e37735e323863b1dda7458f It's just a quick demo of fetching text from the control under the cursor. |
Some notes regarding using uiautomation PIP package.
|
Application EvaluationSuccessful - UI AutomationThese are applications that bear minimum of enabled grep text from various fields
UnsuccessfulThese are applications that have been unsuccessful grab text for various reasons.
|
Hello, VS Code dev here, Please note for vscode accessibility support And let me know if we can help somehow from the VS Code side. |
Python-UIAutomation and pywinauto do not properly support functionality to fully grab the necessary information like carrot absolute/relative and so on. This means were limited to improving 1 of the 2 above projects. Orca or Nvda |
I will update this thread this week there's been some significant changes. Accessibility and Document Object Model (DOM) API Comparisons |
@itsrainingschmen has funded $200.00 to this issue.
|
@lexxish @alexboche
Is your feature request related to a problem? Please describe.
Put simply re-implementing Dragon's Select-and-Say capability and text navigation.
Describe the solution you'd like
Work to explore tool that use accessibility API.
Key concepts
Accessibility APIs
There can be overlap between applications with the respective OSs. I have only research tools for exploring the Windows OS
Windows OS
Microsoft Active Accessibility (MSAA)
UI Automation
Accessibility Insights for Windows (UIAutomation/win32) (best in class)
aViewer 2.0.3 (MSAA/IA2/ARIA/HTML/UIAutomation)
au3spy
Inspect
spy++ part of visual studio.
winspy
Linux
AT-SPI
IAccessible2 (IA2)
Mac
Accessibility API
Other APIs
Accessible Rich Internet Applications (ARIA)
Scintilla
MFC classes to encapsulate the Scintilla edit control
Java Access Bridge is for Windows OS interface with Java software
https://doc.bccnsoft.com/docs/jdk7-docs/technotes/guides/access/jab/introduction.html
https://docs.oracle.com/javase/7/docs/technotes/guides/access/enable_and_test.html
https://docs.oracle.com/javase/7/docs/api/javax/accessibility/package-summary.html
https://github.com/nvaccess/nvda/blob/defed0ef2317cf3192922692a40cc2eb92d41143/source/JABHandler.py
Describe alternatives you've considered
Additional context
Dragonfly as a Accessibility API which is OS/controller agnostic, Due to the pyia2 that exposes Google Chrome, Firefox and Gitter(electron based on chrome) is limited.
The Dragonfly accessibility if you can be leveraged by this Caster grammar accessibilityapi.py
https://www.autoitscript.com/forum/topic/153520-iuiautomation-ms-framework-automate-chrome-ff-ie/page/8/
https://github.com/pywinauto/pywinauto/wiki/How-to-enable-accessibility-(tips-and-tricks)
Accessibility and Document Object Model (DOM) API Comparisons
accessibility.linuxfoundation.org/a11yspecs/atspi/adoc/a11y-dom-apis.html
How to proceed
I've been looking into the following as many of the accessibility API UI automation platforms.
WinAppDriver
robotframework
pywinauto
Python-UIAutomation
pyatspi2 for AT-SPI
The next step would be experiment integrating APIs and frameworks into Dragonflys Accessibility API. Staying in line with its design principles.
IssueHunt Summary
Backers (Total: $200.00)
Become a backer now!
Or submit a pull request to get the deposits!
Tips
The text was updated successfully, but these errors were encountered: