[jawsscripts] Re: Easier way of writing scripts

  • From: Chris Smart <csmart8@xxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Thu, 17 Nov 2011 10:33:39 -0500

Besides, if you want to learn to write scripts, you'll soon 
discover how quickly a single misplaced character breaks things.

At 10:28 AM 11/17/2011, you wrote:
>I think it was pretty clear Chris made that comment tongue in 
>cheek. I'd
>suggest taking a step back before assuming every comment is a 
>criticism
>and replying with such negativity.
>
>To be honest, I thought it was a worthwhile correction, although in
>reading deeper into the email, it was clear it was just a typo. Since
>not everyone reads every line of every message, I still thought it 
>was a
>valuable correction and done in a light hearted way.
>
>On 17/11/11 09:18, Andre Williams wrote:
> > Wow, you can't find anything better to do with yourself than 
> make these
> > completely insignificant corrections?
> >
> > Someone out there is probably feeling sorry for you.
> >
> > Say goodbye.
> >
> > A-W
> >
> > ---- Original Message -----
> > From: "Chris Smart" <csmart8@xxxxxxxxx>
> > To: <jawsscripts@xxxxxxxxxxxxx>
> > Sent: Thursday, November 17, 2011 7:08 AM
> > Subject: [jawsscripts] Re: Easier way of writing scripts
> >
> >
> > uh it's hot spot clicker, not slicker. *LOL*
> > although it is pretty slick.
> >
> > At 11:02 PM 11/16/2011, you wrote:
> >> Regarding HotSpotSlicker... This message alone has tons of great
> >> info! Thank
> >> you tremendously Jeff for taking the time to convey this 
> information.
> >>
> >> I'm gonna give Jackie's suggestion a shot first and hopefully I
> >> will get
> >> some positive results. If not I'll try the more automated
> >> HotSpotClicker
> >> utility and hopefully it will give me a better idea as to what is
> >> happening
> >> in Jaws' brain.
> >>
> >> By the way, does anyone know what programming language was used to
> >> write
> >> jaws?
> >>
> >> A-W
> >>
> >> ----- Original Message -----
> >> From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> Sent: Wednesday, November 16, 2011 7:18 PM
> >> Subject: [jawsscripts] Re: Easier way of writing scripts
> >>
> >>
> >> HI.
> >>
> >> I was fortunate enough to be in on the ground floor of significant
> >> testing/development of hsc with Jim Snowbarger, one seriously
> >> compitent
> >> scripter in my view,
> >> back in 2005/2006,
> >> and from my understanding, that was exactly it's purpose!
> >> As Christopher highlights it below.
> >>
> >> I had *exactly* the same desires as A W had, and somehow stumbled
> >> upon this
> >> app that Jim had constructed, in it's very early stages. And 
> got sooo
> >> excited at what I saw were it's possibilities, that I contacted
> >> him to see
> >> if i could inspire further development/extension. and Jim 
> graciously
> >> responded! ... yeah. it turned into a bit of a
> >> monsterously  feature-rich
> >> incredibly funky tool!
> >>
> >> Unfortunately, I kinda moved out of the music industry several
> >> years back
> >> now,
> >> where the applications we wanted to use, were sooo jaws
> >> unfriendly, that hsc
> >> really became an essential tool for being able to access/drive
> >> some of the
> >> pluggins we wanted to use in that environ,
> >> to facilitate locating/clicking in specific areas on the often 
> totally
> >> graphical, and thus blank to jaws cursor,
> >>  front-ends of these things.
> >>
> >> So unfortunately I've been now several years out of the hsc
> >> headspace.  so
> >> am far less useful now as to it's day-to-day operation/state, 
> than I
> >> would've been back in 2006.
> >> Like most software, my oppinion is that it's got it's learning
> >> curve, and
> >> quirky bits that take a bit of getting one's head around,
> >> But, having now delvved into more scripting language than I knew
> >> back in
> >> 2005 when I first started with Jim on this amazing tool, I still
> >> think it's
> >> caveats are simpler to learn to navigate, than the raw scripting
> >> language
> >> itself, for solving the types of problems your wanting to 
> solve Andre.
> >>
> >> So, in other words, I'd personally encourage you to dig into this
> >> tool, if
> >> your interested in automation with custom keystrokes within jaws,
> >> which it
> >> sounds like you pretty much are.
> >>
> >> It doesn't get talked about up here much, because the real
> >> scripter types,
> >> who know how to use the language, obviously prefer to utilize 
> their
> >> individual functions/script commands, to specifically meet the
> >> requirements
> >> of each situation, as you heard doug describe.
> >> But, for esssentially non-programmery types, who want a menu
> >> driven front
> >> end first, to then be able to easily tweak the resultant hotspot
> >> definition
> >> as needed afterwards,
> >> and who can still follow basic logic, I fully believe hsc is an
> >> incredibly
> >> useful and much needed mid-ground approach.
> >> And easier, in my view, than getting one's head around gobs of
> >> functions in
> >> order to do very simple tasks, as Andre points out.
> >>
> >> You have no doubt already read comparison's with hsc and frame
> >> manager, in
> >> the documentation Andre.
> >> It's worth thus pointing out, that although hsc does 
> significantly,
> >> significantly more than frames manager ever did, and in my view
> >> has a much easier way of manually editing each line of code 
> that it
> >> generates than the frames manager definitions,
> >> within the hsc definition editor, reached after instalation, with
> >> AltControlShiftF4,
> >> The builtin frames manager in jaws itself, can also be made to do
> >> some of
> >> the things your talking about.  particularly if the text of the
> >> stuff you
> >> wanna click on, is already visible to the jaws cursor, and 
> thus the
> >> FindString type commands, that presumably both frames manager 
> and hsc
> >> functionality both employ, can be used to locate the stuff you
> >> wanna click
> >> on.
> >>
> >> So just to make you aware of that.
> >> And, of course because frames manager does less, it's arguably a
> >> bit simpler
> >> to learn. I started with that myself.
> >> But, it has it's limitations, and I believe hsc is just a
> >> fantastic tool for
> >> the types of customizations your talking about.
> >>
> >> I can remember/will tell you that The single most primary caveat,
> >> that most
> >> readily, "breaks," hotspot clicker from
> >> successfully/reliably  clicking on
> >> it's assigned, "spot," is, insufficient understanding/handling, of
> >> the part
> >> of the spot creation wizard which asks the user to remove dynamic
> >> information from the titleBars of up to, oh goodness, maybe  as
> >> many as 4,
> >> different window types, that it might deem relevant to the 
> spot your
> >> creating.
> >> I.e. Application window, TopLevel Window, RealWindow, and
> >> CurrentWindow.
> >> This is called the, "window validation criteria."
> >> Frames Manager has it as well.
> >>
> >>
> >> And, although to the uninitiated, it can initialy appear as 
> just an
> >> irrelevant  pain that one would prefer not to have to deal with,
> >> as it's name suggests, it's actual purpose is, to help insure,
> >> that one
> >> doesn't just perform a, blind, mouseClick, at a given spot,
> >> without first
> >> seeking to validate that the environment that was present when you
> >> defined
> >> the spot, is still sufficiently there, to warrant a fair shot at
> >> clicking
> >> there.
> >> , that the result you initially defined the spot to bring about,
> >> at spot
> >> definition time,
> >> is still gunna be valid, to bring about again,
> >> at spot activation time.
> >> i.e. when you hit your hotkey for the click.
> >> So, it's kinda a good thing, but it doesn't appear like that when
> >> you first
> >> get into hsc.
> >>
> >> However, of course, the other side of this spectrum that your 
> juggling
> >> against, is that if the environment validation criteria, is 
> left too
> >> strict/tight,
> >> then the least change in any one of the windowNames, which might
> >> not at all
> >> mean that your spot has become inOpperable,
> >> will invalidate the match criteria, and hsc will think it's no
> >> longer safe
> >> to click there, and will prevent you from doing so. bringing a,
> >> "Donk,"
> >> sound from your computer, and the dreaded "hotspot failed," 
> message.
> >> and if you leave all your windowNames validation criteria totally
> >> unedited,
> >> as the hotspot wizard first presents them to you, almost certainly
> >> your spot
> >> will fail the very next time you open your app, since many 
> legitimate
> >> changes can happen in those window names, which may not invalidate
> >> your spot
> >>from doing what it was designed for.
> >>
> >> If that makes sense. I'm not very adept at explaining complex
> >> concepts and
> >> making them simple to understand. I apologize for this.
> >>
> >> So Now the thing is, it's pretty crucial, to remove anything from
> >> each of
> >> these window types, during the hotspot creation wizard. This is
> >> particularly
> >> relevant for the first spot you define, since it tries to,
> >> "learn,"/remember, the answers given in the definition of the
> >> first spot in
> >> a given environment, if it finds similar criteria in subsequent
> >> hotspots,
> >> defined in that same environment.
> >> notice I'm using the term, "spots," and, "hotspots,"
> >> interchangeably here.
> >> They mean the same thing.
> >>
> >> now there's two primary caveats to be aware of in doing this.
> >> one simple one is, that you need to watch that your sometimes
> >> quite lengthy
> >> windowName/title, might extend over two lines, rather than one. so
> >> make sure
> >> you utilize control+Home and control+end, rather than just home
> >> and end,
> >> whilst navigating the windowName your trimming.
> >>
> >> The Second slightly more complex problem, is, of course, that you
> >> may not
> >> necessarily really know, what criteria is going to remain
> >> constant, and what
> >> not, in your windowNames, as you are messing around in your
> >> application.
> >>
> >> Thus making it rather difficult to really know, what to remove,
> >> and what to
> >> leave alone.
> >>
> >>
> >> So, my basic rule of thumb for newbys at this, is, to remove
> >> anything from
> >> these window names, that you aren't absolutely confident will be
> >> there,
> >> during all the times you want your click to actualy work.
> >> And if your unsure, then delete whatever your unsure of.
> >> e.g. I almost always recommend deleting the entire 
> CurrentWindowName,
> >> sometimes abbreviated in hsc to just, WindowName, because I've
> >> found that
> >> this can change so readily, that it often provides more headaches
> >> than joys,
> >> to leave anything in there as part of validation criteria.
> >>
> >> Secondly, if you are wanting hsc to look for a particular
> >> word/phrase  to
> >> insure greater reliability for your click spot, if such is visible
> >> to jaws
> >> cursor,
> >> then after obviously placing the jaws cursor at the spot you want
> >> to define,
> >> and over one of the words, activate the Graphics/Words hotspot
> >> creation
> >> wizard, using altControlShiftG, rather than the standard
> >> AltControlShiftA,
> >> wizard. This will then take into account the word or graphic name
> >> which may
> >> be under the jaws cursor, and ask you questions about how you'd
> >> like hsc to
> >> treat this.
> >> usually searching from topDown, is best, but there may be
> >> situations where
> >> the spot is near the bottom of a window, that you'd prefer hsc to
> >> search
> >> bottom up, which you can also choose.
> >> Tip: although the wizard may often ask you only about a single
> >> word, you can
> >> define this to be a longer phrase after the fact, by delving 
> into the
> >> definition for that spot, after completion of the wizard.
> >> You'll find a whole bunch of after-the-fact twekable stuff in
> >> there, which
> >> I'm sure the rather comprehensive documentation will explain in
> >> detail for
> >> you if desired.
> >>
> >> oh there's just a million and 1 things I could rave on and on
> >> about, in the
> >> mastering of hsc.  But I think that should do for starters.
> >>
> >> I will just conclude though, by saying that integration of hsc
> >> into the
> >> internet explorer environment, is not nearly as simple, as just
> >> using it in
> >> a local application. for which it was initially designed.
> >> for obvious reasons. and this is treated a little in the
> >> documentation.
> >> There's a bunch of other things you need to be aware of, when
> >> doing spots in
> >> an app such as internet explorer, given that it can host just sooo
> >> many
> >> webpage environments, all potentially requiring different 
> validaition
> >> criteria, and maybe a separate hotspot set for each page, which
> >> you'd then
> >> ultimately like it to load automatically when it detected that
> >> webpage. rah
> >> rah rah.
> >> So I'm not going into that one now.
> >>
> >> happy clicking.
> >>
> >> And perhaps ask your questions one by one, as you delve into hsc
> >> more as you
> >> try things. if you decide it's something you'd like to learn to
> >> master.
> >> just don't get too frustrated if things don't work out as you 
> expect
> >> straight away. like all software really, specially for us, it's a
> >> slower
> >> learning curve to getting the result you want, than you wish it
> >> was.  But, I
> >> can tell you from personal experience, I think hsc is a very very
> >> funky
> >> tool, the stuff it can do, once you learn how to drive it well.
> >> and realy
> >> dig into it.
> >> I believe it can permit blind user access to drive stuff that 
> would be
> >> almost impossible without it, in some applications.
> >>
> >>
> >> Geoff Chapman.
> >>
> >> ----- Original Message -----
> >> From: "Christopher Chaltain" <chaltain@xxxxxxxxx>
> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> Sent: Thursday, November 17, 2011 6:31 AM
> >> Subject: [jawsscripts] Re: Easier way of writing scripts
> >>
> >>
> >>> I wonder if Hot Spot Clicker from http://hotspotclicker.org/
> >> will help
> >>> with Andre's situation. I'm not sure, since I haven't used it
> >> myself,
> >>> but it looks like it's purpose is to make clicking on different
> >> areas of
> >>> the screen easier and without having to resort to scripting.
> >>>
> >>> On 16/11/11 13:20, Doug Lee wrote:
> >>>> Your frustration is understandable, but the basic problem is 
> that
> >>>> application developers use many different methods of
> >> displaying the
> >>>> various parts of their applications, and each method can have
> >>>> different accessibility characteristics.  In short, each type of
> >>>> control in an application can require its own accessibility
> >> solution.
> >>>> Freedom Scientific writes solutions to what it considers the 
> most
> >>>> common control types, but they simply can't predict or 
> manage all
> >>>> possible situations that happen out there. Since JAWS is
> >> scriptable,
> >>>> others can help out by coding for more situations; but 
> still, more
> >>>> accessibility issues exist than there are capable hands to 
> address
> >>>> them.
> >>>>
> >>>> So in summary, the fact that JAWS can't natively handle all the
> >>>> applications you may use is as lamentable as it is inevitable.
> >>>>
> >>>> On Wed, Nov 16, 2011 at 11:09:41AM -0800, Andre Williams wrote:
> >>>> Yes, I think this is the problem with all this scripting
> >> business. Look
> >>>> at
> >>>> the amount of stuff you listed which one has to learn to get
> >> started. If
> >>>> this is your work then this is something that has to be
> >> learned, but if
> >>>> you
> >>>> are coming at this from the perspective of the regular user
> >> needing
> >>>> simple
> >>>> script features not already existing in jaws, then one must
> >> now take
> >>>> hours
> >>>> and hours of personal time to learn this stuff as well as
> >> paying for
> >>>> tutorials and stuff. I just want to make jaws quickly click on
> >> a tab on
> >>>> my
> >>>> screen, but it appears I have to learn tons of scripting
> >> first. I am not
> >>>> directing my comments at you Jacky, I'm only conveying my
> >> frustration
> >>>> with
> >>>> what seems like a process that should not be this difficult. I
> >> already
> >>>> paid
> >>>> lots for jaws so I don't plan on continuing to sink more money
> >> into it.
> >>>>
> >>>> Just so I have a better perspective of the investment of time,
> >> what will
> >>>> go
> >>>> into writing a script that will make jaws click on a specific
> >> tab with a
> >>>> press of a hotkey? I've already studied the layout of the
> >> screen a bit
> >>>> and
> >>>> found that the tabs don't move, nor do the other items I want
> >> to access
> >>>> with
> >>>> hotkeys. Can this type of script be written easily, or do I
> >> have to learn
> >>>> all the things Jacky suggested?
> >>>>
> >>>> A-W
> >>>>
> >>>> ----- Original Message -----
> >>>> From: "Jackie McBride" <abletec@xxxxxxxxx>
> >>>> To: <jawsscripts@xxxxxxxxxxxxx>
> >>>> Sent: Wednesday, November 16, 2011 10:49 AM
> >>>> Subject: [jawsscripts] Re: Easier way of writing scripts
> >>>>
> >>>>
> >>>> Andre, there are many ways, depending on the app. Moving to a
> >> window
> >>>> handle or control ID, doing a findstring(), Looking for a
> >> particular
> >>>> window class & control ID combination, going thru the window
> >> or object
> >>>> hierarchy--those are just a few for starters. I can't really
> >> be more
> >>>> definitive because, as I said, it really depends on the
> >> application &
> >>>> how it's structured.
> >>>>
> >>>> I'd recommend u study the basics of scripting manual included
> >> in the
> >>>> Jaws help topics, as well as some of the jaws scripts which are
> >>>> located in the settings/enu directory of your jaws folder. My
> >>>> scripting 101 materials are also available for purchase at:
> >>>> www.screenreaderscripting.com
> >>>> if u feel the other materials aren't sufficient to meet your
> >> needs.
> >>>>
> >>>> On 11/16/11, Andre Williams <andre.williams.1965@xxxxxxxxx> 
> wrote:
> >>>>> HI all,
> >>>>>
> >>>>> Does anyone know of a more elegant manner of writing a script
> >> than
> >>>>> specifying every command? I'm looking to refine the
> >> accessibility of
> >>>>> WordWeb
> >>>>> a bit more and would like to not have to use script text 
> such as
> >>>>> page up
> >>>>> page up
> >>>>> home
> >>>>> next word
> >>>>> next word
> >>>>> say word
> >>>>>
> >>>>> Is it possible to somehow take the jaws cursor to a specific
> >> icon or
> >>>>> point
> >>>>> on the screen then hit a hotkey to tell Jaws that this is the
> >> object I
> >>>>> want
> >>>>> to use in my script?
> >>>>>
> >>>>> For example, WordWeb has several tabs. One of these tabs is
> >> used to read
> >>>>> the
> >>>>> Wikipedia article for the word one is wanting to define. I
> >> would like to
> >>>>> use
> >>>>> the jaws scripting functions or keyboard commands to write a
> >> script that
> >>>>> makes jaws jump directly to this desired Wikipedia tab object
> >> without
> >>>>> all
> >>>>> the PageUp (), Home (), NextWord () commands.
> >>>>>
> >>>>> If this is possible, please help a brotha out and let me know
> >> how this
> >>>>> can
> >>>>> be done.
> >>>>>
> >>>>> A-W
> >>>>>
> >>>>> __________???
> >>>>>
> >>>>> View the list's information and change your settings at
> >>>>> //www.freelists.org/list/jawsscripts
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> Christopher (CJ)
> >>> chaltain@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
> >>
> >> __________�
> >>
> >> View the list's information and change your settings at
> >> //www.freelists.org/list/jawsscripts
> >
> >
> > --------------------------------------------------
> > CTS MASTERING: PROFESSIONAL MIXING AND MASTERING
> > Clear True Sound
> > www.ctsmastering.com
> > and be sure to "like us" on Facebook:
> > https://www.facebook.com/pages/CTS-Mastering/139114066128698
> >
> > __________�
> >
> > 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
> >
>
>
>--
>Christopher (CJ)
>chaltain@xxxxxxxxx
>__________�
>
>View the list's information and change your settings at
>//www.freelists.org/list/jawsscripts


--------------------------------------------------
CTS MASTERING: PROFESSIONAL MIXING AND MASTERING
Clear True Sound
www.ctsmastering.com
and be sure to "like us" on Facebook:
https://www.facebook.com/pages/CTS-Mastering/139114066128698 

__________�

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

Other related posts: