[jawsscripts] Re: Need your advice on a JAWS scripting challenge

  • From: "John Martyn" <johnrobertmartyn@xxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Sat, 24 Mar 2012 03:06:43 -0700

If you take a look at the blind tunes source code, you might be able to grab 
some code to find a list of windows in the program. You'd have to modify it a 
little bit, but it would find all the handles for you. You could put them in a 
segmented list and do some interesting things with that.
John

-----Original Message-----
From: jawsscripts-bounce@xxxxxxxxxxxxx 
[mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Soronel Haetir
Sent: Friday, March 23, 2012 10:17 AM
To: jawsscripts@xxxxxxxxxxxxx
Subject: [jawsscripts] Re: Need your advice on a JAWS scripting challenge

If you are seeing 7 children I would expect that you are seeing just the 
standard window response to an accessibility query (things like the title bar, 
min/max/close buttons) etc and not anything from the application itself.

Using acc explorer does the program actually return anything that is specific 
to the application and not just the standard accessibility elements?

On 3/22/12, Travis Roth <travis@xxxxxxxxxxxxxx> wrote:
> This sounds very complex. I wonder how Inspect is able to enumerate 
> the objects when acNavigate doesn't work?
>
> I was wondering if it would be possible to build your own searching 
> function that would approach the screen via a grid-like pattern, and 
> use one of the location based functions such as GetObjectAtPoint() to 
> build an array of objects?
> If you either know how many objects you're seeking, or which ones you 
> could compare the objects found against a master list to know when you 
> have had enough, or exhausted the grid, whichever comes first.
>
> It may be possible to expediate the search by looking at the location 
> data of the object that is found and moving to the right, etc., if all 
> objects you need are visible and the MSAA location data is available 
> and accurate. A lot of questions there but without accNavigate I am 
> not sure of how else to find the objects...
>
> -----Original Message-----
> From: jawsscripts-bounce@xxxxxxxxxxxxx 
> [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Kamil
> Sent: Thursday, March 22, 2012 8:18 PM
> To: jawsscripts@xxxxxxxxxxxxx
> Subject: [jawsscripts] Re: Need your advice on a JAWS scripting 
> challenge
>
> Hi Doug,
>
> Thanks a lot for responding to my question so quickly.
>
> accChildCount reports 7 children, but accChild(1)  to 7 returns null, 
> and
> accName(1) to 7 returns blank. AccExplorer shows 7 child objects. The 
> forth object has a non-blank name.
>
> This seems to mean that neither child objects could be retrieved nor 
> their accName.
>
> I tried GetObjectInfoByName function. It can retrieve the value and 
> other info but doesn't give me the actual object. I need the object to 
> call the accDoDefaultAction method.
>
> Is GetObjectInfoByName the function you were referring to as "JAWS 
> functions for enumerating object properties"?
>
> Many of these objects are not focusable by tab key, and their pixel 
> location are not fixed. Therefore, I can not use the other object related 
> functions.
>
> Please confirm whether I understood your reply accurately or not.
>
> Thanks again,
> Kamil
>
>
> ----- Original Message -----
> From: "Doug Lee" <doug.lee@xxxxxxxxxxxxxxxx>
> To: <jawsscripts@xxxxxxxxxxxxx>
> Sent: Wednesday, March 21, 2012 10:43 PM
> Subject: [jawsscripts] Re: Need your advice on a JAWS scripting 
> challenge
>
>
>> JAWS, 13 or older, does not provide access to AccessibleChildren() 
>> per se. You may be able to get what you want using .accChildCount and 
>> childIDs; e.g., o.accName(3) for the name of the third object. Also 
>> worth a try is something like o.accChild(3) for the third full object.
>> Finally, the JAWS functions for enumerating object properties into 
>> text strings might be useful, if tedious and/or slow depending on 
>> your needs.
>>
>> On Wed, Mar 21, 2012 at 10:28:40PM -0400, Kamil wrote:
>> Hi all,
>>
>> I'm dealing with a windows-based application which its whole user 
>> interface is one window (hwnd). It's exposing its controls through 
>> MSAA as objects.
>>
>> The challenge it that even though controls are exposed as MSAA 
>> objects, the object navigation method (accNavigate) has not been 
>> implemented at all.
>> This
>> prevents me from scraping controls starting from the main and only 
>> window handle.
>>
>> Windows API (oleacc.dll), has an "AccessibleChildren" function which 
>> enumerates all children of an object and returns an object array. I'm 
>> wondering if JAWS 13 provides access to this function.
>>
>> I'm also open to any other solution to the above challenge.
>>
>> Cheers,
>> Kamil
>>
>> __________???
>>
>> View the list's information and change your settings at 
>> //www.freelists.org/list/jawsscripts
>>
>> --
>> Doug Lee, Senior Accessibility Programmer SSB BART Group - 
>> Accessibility-on-Demand mailto:doug.lee@xxxxxxxxxxxxxxxx  
>> http://www.ssbbartgroup.com "While they were saying among themselves 
>> it cannot be done, it was done." --Helen Keller __________ 
>>
>> View the list's information and change your settings at 
>> //www.freelists.org/list/jawsscripts
>>
>
> __________ 
>
> View the list's information and change your settings at 
> //www.freelists.org/list/jawsscripts
>
>
> __________ 
>
> View the list's information and change your settings at 
> //www.freelists.org/list/jawsscripts
>
>


--
Soronel Haetir
soronel.haetir@xxxxxxxxx
__________ 

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

__________�

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: