Pete Brunet, Mike Squillace, Larry Weiss, Barry Feigenbaum, Sueann Nichols, Aaron Leventhal, Rich Schwerdtfeger, Neil Soiffer, Michael Stewart, Cathy Laws
COM needs to know about the interface to do marshalling. A prototype Eclipse IA2 implementation was getting errors. Larry Weiss learned how to create a proxy DLL which is 99% machine generated and this resolved the problem.
What is the convention for managing this DLL? For MSAA, it's always on the system.
There are several options:
The IA2 community creates/publishes the DLL and its install process (regsrvr32 or a small install program). Apps would either require users to do the install or the apps could install it.
Each app creates and registers their own proxy DLL.
Similar to the first option but includes a reference counting scheme. This would be a lot of overhead for little benefit. And some apps could choose to not use it and render the counting scheme useless.
The ATs (and test tools) do the install/registration instead of the user or application. This is attractive because
There are fewer ATs than apps.
You don't need IA2 unless there is an AT.
Note: The in-process portion of the ATs don't need the proxy DLL, but it's likely that the AT scripting engines do.
For options 1 and 2, it's important for an app to not uninstall the proxy DLL.
There appears to be no best practice.
Option 3 is too much work; option 2 is prone to error. Option 4 seems to have an edge over option 1.
Over time there will be versioning issues to consider, i.e. the dummy DLL might have to change over time. Since there is no logic this would be an easy change. If the method signatures or data structures change the GUID needs to change and best practice is that the name of the interface changes, e.g. IAccessibleAction2.
Janina will invite Neal to tomorrow's FSGA meeting.
Neal posted the interface spec. It could be used on Win, Linux, and OSX.
On Win platform - interfaces can be accessed in-process - on other platforms this will not be true so the math spec will want to consider that, e.g. passing data with events.
Type libs and dispatch interfaces
The Python comtypes package needs a type library. Pete will add type library support to the IDL.
Are dispatch interfaces needed? TBD.
Alexander Surkov starting this week. He will have something in about a month.
Nothing new over last month; will release on alphaWorks in a week
Working with Sueann Nichols on a check list
Can now present IA2; defining interfaces; no widgets enabled yet.
Eclipse defines an accessibility package for Eclipse. It is currently limited to the subset of Linux/MSAA but the definition can now be expanded. The goal is to allow those that use SWT to be able to easily extend the behavior of the controls, by adding callbacks to provide accessible name, description, etc. This is being expanded to add the new attributes and extending support to custom controls.
The Eclipse team is working on a canvas widget. Canvas is used by those who write custom controls. MSAA doesn't provide enough info today, but IA2 will.
enabled and sensitive are the same, enabled will be removed
Boundary type of sentence will be removed, but the constants will remain the same)
Bill Haneman doesn't want to remove state armed - but it should be removed.
Other issues related to the IDL
Fix cases like transient which as a circular definition.
A process is needed to ensure harmonization of ATK and IA2.