[jawsscripts] Re: Further scripting of Firefox 3

  • From: Christopher Chaltain <cchaltain@xxxxxxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Wed, 16 Jul 2008 20:06:33 -0500

Jamal,

I'm curious; what will your Firefox 3 scripts do? I've been using 
Firefox 3, and I find it already fairly accessible. The biggest 
annoyance I have right now is that it doesn't seem to be reading column 
headers as I move through tables. It reads row headers just fine. It may 
be something about the tables themselves, but it worked fine in Firefox 
2 and it works in IE 7. Although it seems relatively accessible to me 
now, I'm sure it could be better, and I'm excited to hear that things 
could be even nicer with some scripting effort.

Jamal Mazrui wrote:
> I made a bit of progress scripting Firefox 3, so am sharing it here in
> case someone can go further.  This requires installation of the SayTools
> COM server attttt
> http://EmpowermentZone.com/saysetup.exe
>
> SayTools wraps a few Python modules, including one related to MSAA.  It
> also includes a higher level convenience function I wrote called
> MSAAGetTree, which takes a window handle as a parameter and returns a
> string of MSAA properties in the client area of that window.  Since
> SayTools can evaluate arbitrary Python code at runtime, other MSAA
> inquiries could be made via Python code passed as a string to the SayTools
> Eval method.
>
> I have not figured out how to get JAWS 9 to recognize keys in
> Firefox3.0.jkm, even though the script file  it looks for is
> Firefox3.0.jsb.  Has someone solved this one?  For now, I inserted code in
> the AutoStart event (I copied the code in Firefox.jss for Firefox version
> 2 into the Firefox3.0.jss file that JAWS seems to associate with Firefox
> 3).
>
> Below is my AutoStartEvent function, followed by the text returned by the
> MSAAGetTree method of SayTools.  Evidently, information about links and
> other properties of the page is present (I navigated to
> FreedomScientific.com).  The information is incomplete, however, and at
> this point, I do not know why.
>
> Jamal
>
> void Function AutoStartEvent ()
> Var
> Handle h,
> Object o,
> String s
>
> Let h = GetFocus()
> Let h = FindWindow(GetAppMainWindow(h), "MozillaContentWindowClass", "")
> ;MessageBox(IntToString(h))
> Let o = CreateObject("Say.Tools")
> Let s = o.MSAAGetTree(h)
> CopyToClipboard(s)
>  MessageBox(s)
>
> Let giMSAAMode = GetJCFOption (OPT_MSAA_MODE)
> EndFunction
>
> [Output of MSAAGetTree method]
>
> 1
> RoleText: document
> Name: Freedom Scientific - Products for the Visually Impaired
> Location: (8, 141, 970, 823)
> StateText: focused+read only+focusable
> Window: 2360164
> ChildCount: 3
>
> 1.1
> RoleText: div
> Location: (8, 141, 775, 659)
> Window: 2360164
> ChildCount: 7
>
> 1.1.1
> RoleText: div
> Location: (8, 141, 775, 70)
> Window: 2360164
> ChildCount: 5
>
> 1.1.1.1
> RoleText: div
> Location: (578, 141, 179, 19)
> StateText: floating
> Window: 2360164
> ChildCount: 1
>
> 1.1.1.1.1
> RoleText: link
> Name: Change Page for Low Vision
> Value: http://freedomscientific.com/tools/change-style.asp
> Location: (578, 147, 179, 13)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.1.1.1.1
> RoleText: editable text
> Name: Change Page for Low Vision
> Value: http://freedomscientific.com/tools/change-style.asp
> Location: (578, 147, 179, 13)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.1.2
> RoleText: p
> Location: (598, 141, 0, 0)
> StateText: invisible+offscreen
> Window: 2360164
>
> 1.1.1.3
> RoleText: div
> Location: (388, 186, 150, 14)
> StateText: floating+focusable
> Window: 2360164
> ChildCount: 2
>
> 1.1.1.3.1
> RoleText: link
> Name: Skip to Main Content
> Value: http://freedomscientific.com/#skip
> Location: (395, 186, 136, 14)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.1.3.1.1
> RoleText: editable text
> Name: Skip to Main Content
> Value: http://freedomscientific.com/#skip
> Location: (395, 186, 136, 14)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.1.3.2
> RoleText: editable text
> Location: (388, 186, 0, 0)
> StateText: read only
> Window: 2360164
>
> 1.1.1.4
> RoleText: div
> Location: (563, 141, 220, 65)
> Window: 2360164
> ChildCount: 1
>
> 1.1.1.4.1
> RoleText: form
> Name: Search
> Location: (563, 181, 220, 25)
> Window: 2360164
> ChildCount: 6
>
> 1.1.1.4.1.1
> RoleText: text
> Name: Search
> Location: (574, 184, 46, 14)
> Window: 2360164
> ChildCount: 1
>
> 1.1.1.4.1.1.1
> RoleText: editable text
> Name: Search
> Location: (574, 184, 46, 14)
> StateText: read only
> Window: 2360164
>
> 1.1.1.4.1.2
> RoleText: editable text
> Location: (620, 184, 4, 14)
> StateText: read only
> Window: 2360164
>
> 1.1.1.4.1.3
> RoleText: editable text
> Name: Search
> Location: (624, 181, 124, 20)
> StateText: focusable
> Window: 2360164
>
> 1.1.1.4.1.4
> RoleText: editable text
> Location: (748, 184, 4, 14)
> StateText: read only
> Window: 2360164
>
> 1.1.1.4.1.5
> RoleText: push button
> Name: Search
> Description: Description: Go
> Location: (752, 186, 20, 20)
> StateText: focusable
> Window: 2360164
>
> 1.1.1.4.1.6
> RoleText: editable text
> Location: (563, 181, 0, 0)
> StateText: read only
> Window: 2360164
>
> 1.1.1.5
> RoleText: white space
> Location: (395, 206, 0, 15)
> StateText: read only
> Window: 2360164
>
> 1.1.2
> RoleText: div
> Location: (8, 211, 775, 45)
> Window: 2360164
> ChildCount: 2
>
> 1.1.2.1
> RoleText: p
> Location: (8, 211, 775, 32)
> Window: 2360164
> ChildCount: 13
>
> 1.1.2.1.1
> RoleText: link
> Name: Home
> Value: http://freedomscientific.com/default.asp
> Location: (55, 222, 57, 21)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.2.1.1.1
> RoleText: editable text
> Name: Home
> Value: http://freedomscientific.com/default.asp
> Location: (55, 222, 57, 21)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.2.1.2
> RoleText: graphic
> Location: (111, 223, 6, 15)
> Window: 2360164
>
> 1.1.2.1.3
> RoleText: link
> Name: Products
> Value: http://freedomscientific.com/product-portal.asp
> Location: (118, 222, 88, 21)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.2.1.3.1
> RoleText: editable text
> Name: Products
> Value: http://freedomscientific.com/product-portal.asp
> Location: (118, 222, 88, 21)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.2.1.4
> RoleText: graphic
> Location: (205, 223, 6, 15)
> Window: 2360164
>
> 1.1.2.1.5
> RoleText: link
> Name: Purchase
> Value: http://freedomscientific.com/purchase.asp
> Location: (212, 222, 92, 21)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.2.1.5.1
> RoleText: editable text
> Name: Purchase
> Value: http://freedomscientific.com/purchase.asp
> Location: (212, 222, 92, 21)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.2.1.6
> RoleText: graphic
> Location: (303, 223, 6, 15)
> Window: 2360164
>
> 1.1.2.1.7
> RoleText: link
> Name: Support
> Value: http://freedomscientific.com/support.asp
> Location: (310, 222, 79, 21)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.2.1.7.1
> RoleText: editable text
> Name: Support
> Value: http://freedomscientific.com/support.asp
> Location: (310, 222, 79, 21)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.2.1.8
> RoleText: graphic
> Location: (388, 223, 6, 15)
> Window: 2360164
>
> 1.1.2.1.9
> RoleText: link
> Name: Training
> Value: http://freedomscientific.com/training.asp
> Location: (395, 222, 81, 21)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.2.1.9.1
> RoleText: editable text
> Name: Training
> Value: http://freedomscientific.com/training.asp
> Location: (395, 222, 81, 21)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.2.1.10
> RoleText: graphic
> Location: (475, 223, 6, 15)
> Window: 2360164
>
> 1.1.2.1.11
> RoleText: link
> Name: About Us
> Value: http://freedomscientific.com/about/about.asp
> Location: (482, 222, 90, 21)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.2.1.11.1
> RoleText: editable text
> Name: About Us
> Value: http://freedomscientific.com/about/about.asp
> Location: (482, 222, 90, 21)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.2.1.12
> RoleText: graphic
> Location: (571, 223, 6, 15)
> Window: 2360164
>
> 1.1.2.1.13
> RoleText: link
> Name: Vision Loss Facts
> Value: http://freedomscientific.com/about/vision-facts.asp
> Location: (578, 222, 159, 21)
> StateText: focusable+linked
> Window: 2360164
> ChildCount: 1
>
> 1.1.2.1.13.1
> RoleText: editable text
> Name: Vision Loss Facts
> Value: http://freedomscientific.com/about/vision-facts.asp
> Location: (578, 222, 159, 21)
> StateText: read only+linked
> Window: 2360164
>
> 1.1.2.2
> RoleText: link
> Location: (8, 211, 0, 0)
> StateText: invisible+offscreen+selectable
> Window: 2360164
>
> 1.1.3
> RoleText: div
> Location: (8, 256, 775, 184)
> Window: 2360164
> ChildCount: 5
>
> 1.1.3.1
> RoleText: div
> Location: (474, 256, 309, 186)
> StateText: floating
> Window: 2360164
> ChildCount: 1
>
> 1.1.3.1.1
> RoleText: embed
> Location: (474, 256, 321, 196)
> StateText: focusable
> Window: 2360164
> ChildCount: 1
>
> 1.1.3.1.1.1
> RoleText: link
> Name: Click here to download plugin.
> Value: http://freedomscientific.com/#
> Location: (474, 256, 321, 196)
> StateText: focusable+linked
> Window: 918600
> ChildCount: 1
>
> 1.1.3.1.1.1.1
> RoleText: editable text
> Name: Click here to download plugin.
> Value: http://freedomscientific.com/#
> Location: (480, 294, 165, 15)
> StateText: read only+linked
> Window: 918600
>
> 1.1.3.2
> RoleText: h1
> Description: L1
>
> __________ 
> View the list's information and change your settings at 
> //www.freelists.org/list/jawsscripts
>
>
>   

-- 
Christopher

cchaltain@xxxxxxxxxxxxx

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

Other related posts: