[jawsscripts] Re: JAWSWillFollowPc/TetherJawsToPC Broken in Jaws 10, 11 and 12.

  • From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Wed, 2 Mar 2011 04:37:50 +1100

hahahahah.no, I can hear that! <groan.> and I sure don't blame you!
it sounds extremely frustrating indeed!  my head is with you on all below! I 
commiserate! thoroughly!


----- Original Message ----- 
From: "Don Marang" <donald.marang@xxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Tuesday, March 01, 2011 11:18 PM
Subject: [jawsscripts] Re: JAWSWillFollowPc/TetherJawsToPC Broken in Jaws 
10, 11 and 12.


>I do it so I can personally use these products that these huge companies
> produce that actually change and improve my daily life.  It is extremely
> frustrating that companies with such resources give no attention to
> accessibility when developing their products, do not listen to feedback, 
> and
> once I work around their accessibility issues, they completely change 
> their
> interface!  Of course, the new interface is even more inaccessible!
>
> DirecTV has been even more frustrating.  Their equipment is capable of
> transmitting and receiving DVS, but they refuse to broadcast the extra 
> audio
> signals.  I listened in on a FCC meeting where their DVS / Closed Caption
> expert explained the technical reasons why they could not pass on these
> signals.  Almost everything he said was a lye!  They also suddenly made it
> impossible to use their mobile DVR Scheduler website which I wrote JAWS
> Scripts to make it a single keystroke to schedule a recording.  They
> arbitrarily decided to redirect any access that is not a mobile device.
> Even spoofing the User Agent string is not enough to make it work anymore.
> At the same time, they made their very busy, and slow main guide webpage 
> all
> inaccessible Flash.  It is currently not possible to now get to the right
> time and channel to schedule recordings on my DVRs.  Instead of listening
> and responding to my feedback, they just keep throwing hardware and free
> movie channels to placate me.  It is not working!
>
> Don Marang
> Vinux Software Development Coordinator (vinux.org.uk)
>
> There is just so much stuff in the world that, to me, is devoid of any 
> real
> substance, value, and content that I just try to make sure that I am 
> working
> on things that matter.
> Dean Kamen
>
>
> --------------------------------------------------
> From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
> Sent: Monday, February 28, 2011 7:26 PM
> To: <jawsscripts@xxxxxxxxxxxxx>
> Subject: [jawsscripts] Re: JAWSWillFollowPc/TetherJawsToPC  Broken in Jaws
> 10, 11 and 12.
>
>> Wow don! I never saw this when I sent my last! amazing stuff! Thank you
>> for
>> sharing all this!
>> man your way more advanced into this than I am, but, of course I knewed
>> that
>> anyway!
>> <grin.>
>> Thanks for all this great info though! man! all I need now is the
>> time/application to try and incorporate/nail into my head, the background
>> concepts
>> of this kind of info! how utterly vexing for you though that you did all
>> this work and now it's completely useless? how often though must this
>> happen!
>>
>> and how frustrating this must be!
>>
>> I don't know how you do it!
>>
>> ----- Original Message ----- 
>> From: "Don Marang" <donald.marang@xxxxxxxxx>
>> To: <jawsscripts@xxxxxxxxxxxxx>
>> Sent: Tuesday, March 01, 2011 1:04 AM
>> Subject: [jawsscripts] Re: JAWSWillFollowPc/TetherJawsToPC Broken in Jaws
>> 10, 11 and 12.
>>
>>
>>> The Tether mode is very interesting when poking around in an 
>>> application.
>>> Did you know if you press the key combination for TetherJAWSToPC twice,
>>> it
>>> becomes the default when JAWS starts?  Because of the downsides of this
>>> mode, such as issues with submenus, I can not imagine using it as a
>>> general
>>> default or as the default within an application.  It is better to use
>>> individual commands, such as RouteJAWSToPC in situations where it will 
>>> be
>>> effective.
>>>
>>> I wrote an set of useful scripts for a very badly behaved desktop 
>>> Verizon
>>> application that would notify you on your PC when a call came in on your
>>> land line.  It provided a customizeable name for the caller and the
>>> number.
>>> It also kept track of the incomming call log and could interact with
>>> Voice
>>> Mails.  It is worthless now because they rewrote the application.  It is
>>> now
>>> a totally inaccessible desktop gadget that I have not figured out how to
>>> get
>>> any information out of!
>>>
>>> Mostly it is best to override one or more of the built-in event
>>> functions,
>>> like ToolTipEvent.  In my case, there was a call log listbox with only
>>> two
>>> columns, the caller's name and the date / time.  The caller's phone
>>> number
>>> only appears when the mouse hobers ober the item in the list!  By
>>> overriding
>>> the ActiveItemChangedEvent, which is triggered when entering the list or
>>> moving up / down in the list, you can add additional actions.  I totally
>>> rearranged the order in which information was announced and the format
>>> for
>>> phone numbers.  All phone numbers were transfomed into 123-456-9999.  It
>>> also RoutedJAWSToPC at the right moment.  Since this application did not
>>> have proper ToolTips or HelpBalloons, I had to use logic in the
>>> WindowCreatedEvent to identify which window just poped up.  When these
>>> ToolTip windows appeared, I captured the needed text.
>>>
>>> I pasted the ActiveItemChangedEvent  function below and a link where a
>>> zip
>>> archive of the latest code is available.  It probably makes no sense to
>>> install, since the application is no longer available and the website no
>>> longer will communicate with it.
>>>
>>> http://mysite.verizon.net/marangs/VerizonCallAssistant.html
>>>
>>> ;  Originally written for JAWS 10 Beta 3 (10.0.419)
>>> ;  Started on 26 October 2008
>>>
>>> Void Function ActiveItemChangedEvent (handle hWnd, int iCurrentID, Int
>>> iCurrentChild, handle hWndPrevious, Int iPreviousID, Int iPreviousChild)
>>>
>>> SpeechOn ()
>>> ; SayMessage (OT_DEBUG, "Current window = " + IntToString (hWnd))
>>> ; SayMessage (OT_DEBUG, "Current ID = " + IntToString (iCurrentID)) ;
>>> returns -4, The arguments of -4 are indeed an MSAA thing: That's
>>> ObjID_Client, an indicator of which part of the window was responsible
>>> for
>>> the event
>>> ; SayMessage (OT_DEBUG, "Current ID description = " +
>>> GetObjectDescription
>>> (False, 0)) ; returns the date of the item
>>> ; SayMessage (OT_DEBUG, "Current ID ACC description = " +
>>> GetObjectContainerHelp ()) ; returns null
>>> ; SayMessage (OT_DEBUG, "Current ID object name = " + GetObjectName
>>> (False,
>>> 0)) ; returns the item (name and date)
>>> ; SayMessage (OT_DEBUG, "Current ID object state = " + GetObjectState
>>> (False, 0)) ; Should return "Selected"
>>> ; SayMessage (OT_DEBUG, "Current ID object type = " + GetObjectType ()) 
>>> ;
>>> returns "List Box Item"
>>> ; SayMessage (OT_DEBUG, "Current ID value = " + GetObjectValue (False,
>>> 0))
>>> ;
>>> returns null
>>> ; SayMessage (OT_DEBUG, "Current child = " + IntToString 
>>> (iCurrentChild))
>>> ;
>>> Returns the item index
>>>
>>> ; SayMessage (OT_DEBUG, "Previous window = " + IntToString
>>> (hWndPrevious))
>>> ; SayMessage (OT_DEBUG, "Previous ID = " + IntToString (iPreviousID))
>>> ; SayMessage (OT_DEBUG, "Previous child = " + IntToString
>>> (iPreviousChild))
>>>
>>> If hWnd == ghVCAResultsListView Then
>>> Let giVCACurrentResultsItem = iCurrentChild
>>> SayFormattedMessage (OT_MESSAGE,
>>> FormatString (MSG_PRE_LIST_ITEM_L, IntToString
>>> (giVCACurrentResultsItem)),
>>> FormatString (MSG_PRE_LIST_ITEM_S, IntToString
>>> (giVCACurrentResultsItem)))
>>> If GetCharacterAttributes () & ATTRIB_BOLD Then
>>> SayMessage (OT_MESSAGE, MSG_NEW_L, MSG_NEW_S)
>>> EndIf
>>> ; SayMessage (OT_DEBUG, "Selection state = " + IntToString
>>> (lvGetItemState
>>> (hWnd, iCurrentChild) ))
>>>
>>> ; SayObjectActiveItem (True) ; Says the wrong number of items in list (1
>>> of
>>> 11)
>>> ; SayObjectActiveItem (False) ; not able to reformat phone number in
>>> search
>>> results
>>> If StringContains (gsVCAResultsTitle, LIST_RECENT) Then
>>> Let gsVCAResultsName = lvGetItemText (hWnd, iCurrentChild, 1)
>>> Let gsVCAResultsDate = lvGetItemText (hWnd, iCurrentChild, 2)
>>> SayFormattedMessage (OT_MESSAGE,
>>> FormatString (MSG_LIST_ITEM_L, gsVCAResultsName,gsVCAResultsDate),
>>> FormatString (MSG_LIST_ITEM_S, gsVCAResultsName,gsVCAResultsDate))
>>>
>>> Else
>>> Let gsVCAResultsName = lvGetItemText (hWnd, iCurrentChild, 1)
>>> Let gsVCAResultsNumber = lvGetItemText (hWnd, iCurrentChild, 2)
>>> Let gsVCAResultsNumber = ReformatPhoneNumber (gsVCAResultsNumber)
>>> SayFormattedMessage (OT_MESSAGE,
>>> FormatString (MSG_LIST_ITEM_L, gsVCAResultsName,gsVCAResultsNumber),
>>> FormatString (MSG_LIST_ITEM_S, gsVCAResultsName,gsVCAResultsNumber))
>>>
>>> EndIf
>>>
>>> JAWSCursor ()
>>> RouteJAWSToPc () ; move JAWS cursor to item to activate custom ToolTip 
>>> to
>>> capture phone number in WindowActivatedEvent
>>> LeftMouseButton () ; select item
>>> PCCursor ()
>>> Else
>>> ; Most likely in a JAWS dialog
>>> ; SayMessage (OT_DEBUG, "Call to item changed and not in list view! 
>>> Item
>>> =
>>> " + IntToString (iCurrentChild))
>>> ActiveItemChangedEvent (hWnd, iCurrentID, iCurrentChild, hWndPrevious,
>>> iPreviousID, iPreviousChild)
>>> EndIf
>>>
>>> EndFunction
>>> Don Marang
>>> Vinux Software Development Coordinator (vinux.org.uk)
>>>
>>> There is just so much stuff in the world that, to me, is devoid of any
>>> real
>>> substance, value, and content that I just try to make sure that I am
>>> working
>>> on things that matter.
>>> Dean Kamen
>>>
>>>
>>> --------------------------------------------------
>>> From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
>>> Sent: Sunday, February 27, 2011 11:29 PM
>>> To: <jawsscripts@xxxxxxxxxxxxx>
>>> Subject: [jawsscripts] Re: JAWSWillFollowPc/TetherJawsToPC  Broken in
>>> Jaws
>>> 10, 11 and 12.
>>>
>>>> Hi Don.
>>>>
>>>> Thanks so much man for this response, the only one to date on this 
>>>> issue
>>>> so
>>>> far. <smile.>
>>>>
>>>> I submit this got broken in jaws10, as it seems to work properly in
>>>> jaws9
>>>> here, I tested it.
>>>>
>>>> But, of course would very much appreciate any confirmatory info you 
>>>> feel
>>>> able to provide on this.
>>>>
>>>> it's such a handy feature for newbys without a lot of knowledge, to
>>>> quickly
>>>> gain often extremely helpful info in toolTips, when exploring new Apps,
>>>> and
>>>> I'd very much like it repaired again.
>>>>
>>>> i also so much apreciate your pointers re it having to operate at 
>>>> either
>>>> the
>>>> FocusChangedEvent level or lower/internally etc. I never thought of it
>>>> being
>>>> a builtin (internal) issue though. soooo useful to have a forum to
>>>> discuss
>>>> these things with others eh!
>>>>
>>>> with your far wider experience of all things scripting, please do let 
>>>> me
>>>> know of anything you discover?
>>>>
>>>> BTW, Are you also familiar with Object usage? i.e. any interactivity
>>>> between
>>>> JAWS and MsWord? regarding the crazy cross Reference code offScreen
>>>> reading,
>>>> that jaws continues to do every time it runs across a cross-reference 
>>>> in
>>>> msWord 2007, in versions 11/12?
>>>>
>>>> Thanks.
>>>>
>>>>
>>>> ----- Original Message ----- 
>>>> From: "Don Marang" <donald.marang@xxxxxxxxx>
>>>> To: <jawsscripts@xxxxxxxxxxxxx>
>>>> Sent: Sunday, February 27, 2011 9:06 PM
>>>> Subject: [jawsscripts] Re: JAWSWillFollowPc/TetherJawsToPC Broken in
>>>> Jaws
>>>> 10, 11 and 12.
>>>>
>>>>
>>>>> The tether function must work at either the FocusChangedEvent level or
>>>>> lower, such as internally.  I will see if I can reproduce your 
>>>>> results.
>>>>> It
>>>>> worked the way I expected a year or two ago.  This had to be at least
>>>>> JAWS
>>>>> 9, because I jumped from 5.1 to 9.  I originally thought this was an
>>>>> answer
>>>>> to a problem I had writing scripts for Verizon.  I will check the 
>>>>> dates
>>>>> an
>>>>> version I was using.  I think this was on Windows 7 as well, which
>>>>> would
>>>>> mean at least JAWS 10.
>>>>>
>>>>> Tethering effects much more than the movements of the focus caused by
>>>>> the
>>>>> Tab key.  It is not desirable for this feature to be the default.  For
>>>>> one
>>>>> thing, when using an arrow key through a menu, it will automatically
>>>>> open
>>>>> and move into all submenus!
>>>>>
>>>>> I totally agree with you about the ToolTip verbosity.
>>>>>
>>>>> Don Marang
>>>>> Vinux Software Development Coordinator (vinux.org.uk)
>>>>>
>>>>> There is just so much stuff in the world that, to me, is devoid of any
>>>>> real
>>>>> substance, value, and content that I just try to make sure that I am
>>>>> working
>>>>> on things that matter.
>>>>> Dean Kamen
>>>>>
>>>>>
>>>>> --------------------------------------------------
>>>>> From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
>>>>> Sent: Thursday, February 24, 2011 8:25 PM
>>>>> To: <jawsscripts@xxxxxxxxxxxxx>
>>>>> Subject: [jawsscripts] JAWSWillFollowPc/TetherJawsToPC  Broken in Jaws
>>>>> 10,
>>>>> 11 and 12.
>>>>>
>>>>>> mighty scripters.
>>>>>> Just letting people know of another unfortunate breakage that seems 
>>>>>> to
>>>>>> have crept in unnoticed or uncared about over the past 3 versions, 
>>>>>> and
>>>>>> that's what is, in my view,
>>>>>> the rather handy newby application exploration feature, of today's
>>>>>> subject
>>>>>> line., viz, JAWSWillFollowPC. Or, as the actual Script is named,
>>>>>> TetherJawsToPc.
>>>>>>
>>>>>> grumph!
>>>>>>
>>>>>> I have spent some time today, seeking to drill down into some of the
>>>>>> functions/scripts which might've caused this, as it would seem on the
>>>>>> surface a relatively simple one to repair maybe? but have had no luck
>>>>>> in
>>>>>> tracking it down myself.
>>>>>> The Actual TetherJawsToPc script looks identical to me between jaws
>>>>>> versions 9 and 10,
>>>>>> so am presuming the problem must be somewhat deeper, i.e. buried in
>>>>>> one
>>>>>> of
>>>>>> the functions related to tabKey or shiftTabKey pressing itself?
>>>>>> which appear to be one's maybe like, SayFocusedObject, or
>>>>>> SayObjectTypeAndText, or perhaps, GetObjectHelp?
>>>>>>
>>>>>> The Tether JawsToPc Script appears to me to just toggle the jcf
>>>>>> option,
>>>>>> (opt_Tether_Jaws_To_PC, from one setting to another,
>>>>>> So I presume, that something in the tab and shiftTab key pressing
>>>>>> functions, is maybe not checking for this setting in the relevant jcf
>>>>>> file?
>>>>>> and subsequently executing a routeJawsToPc based on it's 1 or 0?
>>>>>> something
>>>>>> like this perhaps?
>>>>>>
>>>>>> but something sure changed though between jaws 9 and 10, because
>>>>>> tha'ts
>>>>>> where it's been broken, and remained broken ever since.
>>>>>>
>>>>>> For those who may not be aware of this little gem,
>>>>>> (when it actually functions properly,)
>>>>>> When coupled with Auto ToolTip reading option set to on, (which is 
>>>>>> set
>>>>>> individually within the prefferences section for each verbosity 
>>>>>> level,
>>>>>> in
>>>>>> the verbosity dialog,
>>>>>> - which is, not, the default setting for jaws, for reasons which have
>>>>>> always totally eluded me,)
>>>>>> when tethering jawsToPc, it can give a very handy way of hearing, 
>>>>>> what
>>>>>> particular buttons or controls may do in an application, which
>>>>>> activate
>>>>>> the normal toolTip event class when mouse hovers over a control.  it
>>>>>> basically means your mouse will follow your pc focus, and thus speak
>>>>>> all
>>>>>> those tooltips automatically for you, if any are present.
>>>>>>
>>>>>> one can also of course check it's functionality simply by first
>>>>>> activating
>>>>>> the jawsCursor, turning on the tetherJawsToPc function with
>>>>>> Jawskey+Control+NumPad minus, pressing Tab, then pressing AltDelete,
>>>>>> to
>>>>>> check the jawsCursor Coordinates.
>>>>>> When it's working properly, of course if the tab key is moving focus
>>>>>> around an application window, like, for example, the winamp or vlc
>>>>>> preferences dialog,
>>>>>> pressing alt+delete after a tab press, should yield a change in the
>>>>>> coordinates output,
>>>>>> along with tooltips auto spoken, if that option has been enabled.
>>>>>> Also, subsequently pressing RouteJawsToPc, when the function is
>>>>>> working
>>>>>> properly, then executing alt+delete again, should also, not, yield 
>>>>>> any
>>>>>> change in the coordinates, when jawsCursor is active.
>>>>>> However as you'll notice in jaws 10, 11 or 12, carying out the above,
>>>>>> does, yield a change, meaning it's not tracking as it should.
>>>>>>
>>>>>> any thoughts from anyone as to how one might dig down further to find
>>>>>> out
>>>>>> where this has come adrift?
>>>>>> or if anyone would care to have a shot themselves and let us know ...
>>>>>> even
>>>>>> better! <grin.>
>>>>>> But not an urgent one, just something I'd like to fix.
>>>>>>
>>>>>>
>>>>>> thanks muchly.
>>>>>>
>>>>>> geoff c.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> __________�
>>>>>>
>>>>>> 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
>>>
>>
>> __________�
>>
>> 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: