Done already. No worries - it's in my best interests if they make this type of thing work. Stay well Jacob Kruger jacob.kruger@xxxxxxxxxxxx From: program-l-bounce@xxxxxxxxxxxxx [mailto:program-l-bounce@xxxxxxxxxxxxx] On Behalf Of Justin Daubenmire Sent: Friday, September 04, 2009 1:06 PM To: program-l@xxxxxxxxxxxxx Subject: [program-l] Re: UIA in jaws 11 public beta Hi Jacob, You'll want to report this to freedom scientific on the public beta testing form. /Justin ----- Original Message ----- From: Jacob Kruger<mailto:Jacob.Kruger@xxxxxxxxxxxx> To: program-l@xxxxxxxxxxxxx<mailto:program-l@xxxxxxxxxxxxx> Sent: Friday, September 04, 2009 4:59 AM Subject: [program-l] Re: UIA in jaws 11 public beta Ok, also return nothing in jaws 11as well, and FWIW, the one, GetObjectContainerHelp has the following description: This function returns the AccDescription property of the container of an MSAA object if it has one. This is also trying either to make it use MSAA, or try decide for itself. Stay well Jacob Kruger jacob.kruger@xxxxxxxxxxxx<mailto:jacob.kruger@xxxxxxxxxxxx> From: program-l-bounce@xxxxxxxxxxxxx [mailto:program-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jacob Kruger Sent: Friday, September 04, 2009 10:48 AM To: program-l@xxxxxxxxxxxxx Subject: [program-l] Re: UIA in jaws 11 public beta Well, FWIW, while in the small standard windows app, the two jaws scripting functions now tried, GetObjectContainerHelp and GetObjectDescription basically call the standard controls a button and textbox, in the WPF app they don't return anything whether I tell them to automatically find the info, or specifically use MSAA, so, no go there - will try it out in jaws 11 as well. Stay well Jacob Kruger jacob.kruger@xxxxxxxxxxxx From: program-l-bounce@xxxxxxxxxxxxx [mailto:program-l-bounce@xxxxxxxxxxxxx] On Behalf Of Travis Roth Sent: Tuesday, September 01, 2009 3:54 PM To: program-l@xxxxxxxxxxxxx Subject: [program-l] Re: UIA in jaws 11 public beta Jacob, I just wanted to mention JAWS operates in a couple of ways. The first way, is using its off screen model (OSM). This is what a lot of its functions use and return info from. For example GetWindowSubTypeCode(). This function does not link to MSAA information in my experience. For example, in a .Net edit box GetWindowSubtypeCode() will often return unknown, while the MSAA functions will return it is a textbox. So the first trick is to figure out if you're needing to deal with the OSM, or MSAA/UIAutomation. In your case, it'd be the latter. The next trick, is then to use the corresponding functions. A problem I have had with MSAA, and thus I suspect others have had, was always its inconsistent implementation. In the simple controls like buttons, it was fairly straight forward and you could find the accessibility information in the same place, e.g., accName and accRole of the object. In more complex controls, for example the Visual Studio 2005 code editor, the accessibility information was all over the place, different objects in the MSAA hierarchy returning different pieces. Oftentimes frustration has been expressed Why can't JAWS do better with MSAA? Figure it out automatically if the info is there? That'd be nice, but I suspect some consistency would help. When I looked at the VS.Net 2005 code editor's MSAA objects and pieced together info from different objects to sort out what the current line with focus was, what character on the line had focus, etc., I could see how difficult this would be for any screen reader to figure out automatically. It'd take quite the artificial intelligence for when each custom control puts the MSAA info in its own custom place. Hopefully UIAutomation will improve on this. That is what it is intended to do. I have not had enough experience with it one way or the other at this point. In short though, that is a bit what you are up against. Step one wil be to figure out if you're using OSM functions of JAWS, or the accessibility API functions (MSAA/UIAutomation) functions. Step 2 will be to figure out of the given control, where it is hiding the relevant information in the object hierarchy, and can JAWS find it on its own, or will it need to be told where exactly it is hiding. Again, hopefully with UIAutomation this will be more consistent, so say when JAWS encounters a rich text edit field it'll know where to look. Anyways, not sure if this helps you but there's a little background... From: program-l-bounce@xxxxxxxxxxxxx [mailto:program-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jacob Kruger Sent: Tuesday, September 01, 2009 3:27 AM To: program-l@xxxxxxxxxxxxx Subject: [program-l] Re: UIA in jaws 11 public beta Ok, just tried it out on some of my WPF apps including the menu system etc., and it also doesn't seem able to read menu items with system functionality included in them, such as cut, copy and paste. Also tried out a bit of my current jaws scripting testing, which I suppose use the older functions since I started them off testing within jaws 10, but they also say unknown window type for certain standard controls like text box, button, etc. will Have to look into the UI Automation script attributes and see how that works, but will let you know. Stay well Jacob Kruger jacob.kruger@xxxxxxxxxxxx From: program-l-bounce@xxxxxxxxxxxxx [mailto:program-l-bounce@xxxxxxxxxxxxx] On Behalf Of Justin Daubenmire Sent: Tuesday, September 01, 2009 1:36 AM To: program-l@xxxxxxxxxxxxx Subject: [program-l] UIA in jaws 11 public beta Hey all, Jaws 11 public beta is available. For programmers, jaws 11 has UIA/wpf support.... UIA Support User Interface Automation (UIA) support is available in JAWS 11 and later. UIA is successor to the older Microsoft Active Accessibility (MSAA) framework. It is an Application Programming Interface (API) for User Interface (UI) accessibility that is designed to help Assistive Technology products such as JAWS and MAGic to interact with standard and custom UI elements of applications or the operating system. Please test it out on wpf applications or UIA in general, maybe even visual studio 2010, and please submit any bugs you find to freedom scientific. The jaws scripting language has support now for UIA so I am curious to see how it helps out in scripting visual studio 2010 so please forward this email onto jaws scripters who may be interested in scripting vs 2010. Public jaws 11 beta download is here: http://freedomscientific.com/downloads/jaws/JAWS-public-beta.asp /Justin No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.5.409 / Virus Database: 270.13.72/2337 - Release Date: 08/31/09 05:50:00 No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.5.409 / Virus Database: 270.13.76/2342 - Release Date: 09/02/09 18:03:00 No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.5.409 / Virus Database: 270.13.76/2344 - Release Date: 09/03/09 18:05:00 No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.5.409 / Virus Database: 270.13.76/2344 - Release Date: 09/03/09 18:05:00