[jawsscripts] Re: Tracking a focus rectangle

  • From: Doug Lee <doug.lee@xxxxxxxxxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Sat, 14 Jul 2012 01:20:50 -0400

I've had to do stuff like this occasionally, and yes, it's a challenge
to keep the code from being slow. A few ideas, assuming a simple
custom highlight color is not enough - and watch out, if using that,
for empty rectangles, which will not trigger anything based on a
highlight color:

Figure out the minimum width and height of the rectangle you want, and
the smallest screen area in which it can ever reside. Also figure out
the minimum width of a detectable sign of the rectangle, usually its
border. Use the second of these to determine the screen area to scan,
then write code to scan across horizontal or vertical lines in that
space, as far apart as dictated by the answer to the first question,
and only checking as many pixels as required based on the answer to
the third question. Once you find a rectangle edge, either trace round
it to find the others or repeat the same trick in the other direction
across your screen space. Of course if you find the four walls of your
rectangle you can mathematically determine the corner coordinates for
it.

Finally, you can cache the last findings and write a quick "Is it
still where it was" checker, so the scans only occur when things are
actively changing.

A lot of work, this can be, but this sort of thing can really make
some impossible-looking stuff just work.

On Fri, Jul 13, 2012 at 11:23:40PM -0500, Jim Snowbarger wrote:
The situation is sort of like a spreadsheet, but not in Excell, in a software 
design tool. It's the entities on a diagram.  As you operate the arrows, you 
move focus to one entity or another, along prescribed paths.  And, the way the 
program indicates focus is by moving a box around that encloses an  entity.    
The box is, of course,  indicated by alternating bands of color.
Jaws doesn't track that focus change, even though Track Focus Rectangle is 
turned on.   And, the focus object isn't moving around.  And, I can't think of 
any place where you can specify the definition of a focus rectangle.  
So,  I guess I'll have to search for it myself.
Anyway, for some reason I don't seem to have any code around where I did this, 
even though I've certainly seen it before.  So, I'm about to rewrite some 
clever code to search for that box, and know  I'll have a great time doing it, 
even though if I were more orderly, I wouldn't have to.  But, it will be a nice 
 little short brain teaser, though when I get it done, it's going to be a dog 
of a performer.  An old dog.  So, is there a better way to approach this?  You 
guys know any tricks I might try?  Or, something obvious I've overlooked? 
Think twice, if it's really simple.  Are you sure you wanna tell me? You know 
you might be depriving a compulsive programmer of his kicks.  <grin>
__________???

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

Other related posts: