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

  • From: "Kamil" <ca.kamilimak@xxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Sat, 24 Mar 2012 12:43:18 -0400

Hi Travis,

Thanks a lot for responding to my question.

The Inspect tool follow focus can not get objects of this app mainly because 
they are not focusable (one can not tab to them).
Besides, because of a big blanket object which hovers all other objects, the 
follow mouse feature of Inspect fails as well.

Due to the above reason, GetObjectAtPoint() would fail to pick up any object 
other than the blanket one.
I believe AccExplorer tool is successful in capturing the objects because 
it's using the OLEACC AccessibleChildren object enumerator function.

Cheers,
Kamil

----- Original Message ----- 
From: "Travis Roth" <travis@xxxxxxxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Thursday, March 22, 2012 10:13 PM
Subject: [Bulk] [jawsscripts] Re: Need your advice on a JAWS scripting 
challenge


> 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
> 

__________�

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

Other related posts: