[jawsscripts] steps for using hsc re solving issue of Checked and unchecked status of items with unhelpful graphic identification.

  • From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Sat, 31 Jan 2009 02:34:42 +1100

Dean. does the color of the actual Item change perhaps?

BTW, if you have hsc installed, and connected to your applications,
even just using the simple connection process, which acomplishes heaps of
what hsc does anyway,
i.e. the Use "HotSpotClicker.jsb" line in the top of your jss,
as long as there are other events in your jss file, it won't work just with
that one line in there,
 that should compile, and then work to connect it.
although I haven't specificly tried it obviously in either of your apps, but
just to let you know that you could most probably use it to help you suss
this from the front end of things. for a start, it's got a built in manual
per pixel color test utility, utilizing AltShiftNumPad5.  Which you can use
with either the mouse or invisible cursors.
It actually speaks each color as you move around with alt+shift+arrows, but
I usually disable both that, and the auto graphics read as well, as I find
them kind of annoying to leave on automatic read.
you can do that with alt+control+shift+period, and alt+control+shift+slash.

anywayz, IN this kind of case, you'd probably use the jaws cursor for
investigative purposes, because you want to see what color a certain pixel
might change to, when the item is checked, and then what it changes to when
clicked again, to uncheck it.
you may also like to set your mouseNavigation down to 1 pixel at a time
whilst doing this investigation, by going into home row, then left arrowing
and you'll hear jaws say, 2, 1, 50, etc. it wraps around back to the
highest, so maybe leave it at one if you want.
So, after focusing your pc cursor on an item, route JawsToPc, then
move to the left or right of your item maybe, or, if the item itself changes
color, then you don't even need to do that. but just find a pixel somewhere
in the area of the item, that clearly alters color to reflect what state the
checked item is in as you click.
So leftClick, then hit altShiftNumPad5, to listen, till you find a pixel
that might reflect the changed state.
You might obviusly need eyes to assist with this process initially, since
you won't necessarily know what state is what, unless there's a button like
there is in some of these situations, saying "check all," or "uncheck all."
if there is, then you wouldn't need eyes.

Then, when you find one, leave the jaws cursor on that pixel, and do the
following:

1. begin the hotspot definition process.
use Control+Alt+Shift+A to begin the wizard, since in this case   you don't
need words or proper graphics.

2. then in the first question, when it asks what positioning mode you want,
hit p twice till you hear, PcCursorRow.

3. Go through the steps of the wizard, being careful as always, to make
correct assessments about removing any dynamic information from whatever
various windows it offers you, only leaving in there things you're sure wil
always be there no matter what state the app is operating in. i.e. remove
any document names or specialized window names you think might not always
remain etc.
I generally by default for example, usually delete totally, any, current,
Window names it asks for, but leve in something in the rest of any other
window type requests it asks about.

4. when you get to label, just label it anything to identify it to you in
testing, because we're not gunna have that label spoken on hotspot
activation.

5. when it asks do you want that spoken, say no. when it asks for a key, say
yes, and assign something comfortable for you, control1 or whatever.
something that won't need to be used in normal operation of your program
obviously.

6. then the next step, is to activate the ControlAltShiftF3, Assign a
UserFunction hotkey.
when you press that, it should first ask you to choose the hotspot to which
you wish to add a post processing function.

7. Choose the hotspot you've just created, and hit enter.

then it'll give you a list of some predefined user post processing functions
to choose from, starting with, "create your own."

8. arrow down to the second one, HscDecodeHotSpotColor, and press enter.
it should tell you that the function has been successfully assigned, and
instruct you to now activate the hotspot to start defining what your going
to assign to the color changes when they occur.

9. so go ahead and do that. hit your hotspot key.  it should then click the
mouse there, so the color will have changed from what it was when you last
listened to it, be aware of that, and it should ask you, what function
should run when blah blah blah color is found at that location.

10. arrow down once and you should hear, HSDSayPhraseByColor. Don't ask me
why it's d and not c here, but it is. <smile.> then hit enter.

then hsc should say, "enter the phrase to be spoken for color, blah."

11. type checked or unchecked, as desired, and hit enter.

12. now, activate your hotspot again. it should click at that location for
you, and now there should be the altered color there, which it should then
see, and go through the same process as above again.
i.e. Firstly ask you what function it should run when it sees that color,
and then, what should be spoken etc.
it remembers the last function you assigned as well, making that process
just that bit sweeter.

I've just tested it here with audio grabber, and it seems to work as
expected.
give it a whirl if you like.

From: "Jitendra" <jeet.invincible@xxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Friday, January 30, 2009 7:15 PM
Subject: [jawsscripts] Re: thank you dean, Re: Re: Checked and unchecked
status of graphic


> As I don't have such program, it's only way to install and check if I can
> so is this program free? or do you find any color change, or any graphic
> using ctrl+left or right arrow to check the status of the current item?
> or do homerow msaa keys return something meaningful?
> Thank you.
> Dean Masters wrote:
> > Is this function supposed to work whenever you run into the window class
in
> > the script? The program I am working on uses a different class. Rather
than
> > the TCheckList it uses TEasyCheckList.unicodeClass.
> >
> > I commented out the line from your script that had the window class and
> > created a new line that included the one in my program. I then added a
Say
> > to speak when that class was moved to. I didn't get any sign of the
class
> > being recognized.
> >
> > Also in this class there doesn't seem to be a graphic representing the
> > checkbox at all. there is nothing at all to let you know if there is a
> > checkbox or which items in the list view have been selected.
> >
> > I have gotten the checkboxes in another window class to be spoken when
> > changed or when arrowing up or down the list.
> >
> > Thanks,
> > Dean
> > ----- Original Message ----- 
> > From: "Jitendra" <jeet.invincible@xxxxxxxxx>
> > To: <jawsscripts@xxxxxxxxxxxxx>
> > Sent: Monday, January 26, 2009 12:30 PM
> > Subject: [jawsscripts] Re: thank you dean, Re: Re: Checked and unchecked
> > status of graphic
> >
> >
> > | Thanks, I remember of reading some of your messages days back, but let
> > | me know if it works for you,.
> > | Dean Masters wrote:
> > | > thanks for this. I have a Bible software program that uses this
window
> > | > class. I can't see the checkboxes in them. There seems to be no
graphic
> > | > either. but I will see if this function helps.
> > | >
> > | > Dean
> > | >
> > | > ----- Original Message ----- 
> > | > From: "Jitendra" <jeet.invincible@xxxxxxxxx>
> > | > To: <jawsscripts@xxxxxxxxxxxxx>
> > | > Sent: Saturday, January 24, 2009 9:48 PM
> > | > Subject: [jawsscripts] Re: Checked and unchecked status of graphic
> > | >
> > | >
> > | > | Hello, After having that much trouble, and asking you all, I was
able
> > to
> > | > | discover the following, it solves my problem, and hope useful to
some
> > of
> > | > | you as well. its not that much complicated or special though.
> > | > | Void Function CheckStatus ()
> > | > | Var
> > | > | Handle hwnd,
> > | > | Int Color,
> > | > | string Class
> > | > | Let hwnd = GetFocus ()
> > | > | Let Class = GetWindowClass (hwnd)
> > | > | If Class == "TCheckListBox" Then
> > | > | SaveCursor ()
> > | > | JAWSCursor ()
> > | > | SaveCursor ()
> > | > | RouteJAWSToPc ()
> > | > | PriorCharacter ()
> > | > | Let Color = GetColorText ()
> > | > | If Color == "0" Then
> > | > | SayFormattedMessage (OT_MESSAGE, "checked")
> > | > | Else
> > | > | SayFormattedMessage (OT_MESSAGE, "not checked")
> > | > | EndIf
> > | > | EndIf
> > | > | EndFunction
> > | > | Thanks everyone, specially david and Jeff.
> > | > | __________
> > | > | Visit and contribute to The JAWS Script Repository
> > http://jawsscripts.com
> > | > |
> > | > | View the list's information and change your settings at
> > | > | //www.freelists.org/list/jawsscripts
> > | > |
> > | >
> > | >
> > | > __________
> > | > Visit and contribute to The JAWS Script Repository
> > http://jawsscripts.com
> > | >
> > | > View the list's information and change your settings at
> > | > //www.freelists.org/list/jawsscripts
> > | >
> > | >
> > | >
> > |
> > |
> > | __________
> > | Visit and contribute to The JAWS Script Repository
http://jawsscripts.com
> > |
> > | View the list's information and change your settings at
> > | //www.freelists.org/list/jawsscripts
> > |
> >
> >
> > __________
> > Visit and contribute to The JAWS Script Repository
http://jawsscripts.com
> >
> > View the list's information and change your settings at
> > //www.freelists.org/list/jawsscripts
> >
> >
> >
>
> __________
> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
> View the list's information and change your settings at
> //www.freelists.org/list/jawsscripts
>

__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

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

Other related posts: