[jawsscripts] Further scripting of Firefox 3

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Wed, 16 Jul 2008 11:54:53 -0400 (EDT)

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

Other related posts: