BLIND-DEV Archives

Development of Adaptive Hardware & Software for the Blind/VI

BLIND-DEV@LISTSERV.ICORS.ORG

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Brendan McKeon <[log in to unmask]>
Reply To:
BLIND-DEV: Development of Adaptive Hardware & Software for the Blind/VI" <[log in to unmask]>
Date:
Sun, 8 Jun 1997 06:03:03 +-100
Content-Type:
text/plain
Parts/Attachments:
text/plain (57 lines)
Aloha,

Out of curiosity, anyone out there using MSAA to do things other
than simple "hit-testing" (ie. ObjectFromPoint followed by get_accName/
Value/Description/etc.) ?

(For those unfamiliar with MSAA - or Active Accessibility - more info
can be found at http://www.microsoft.com/enable/dev/msaa.htm)

These "interesting" things include: tracking a particular object for
name/state/value changes, using the object hierachy for things other
than single-shot next/prev requests, doing anything useful with
WinEvents etc.

I've been playing around with MSAA for quite a while, and while
hit-testing ("what's that thing at (x,y)?") is perhaps the most
obvious use - and perhaps the easiest way to integrate it into
an existing screen reader - MSAA does appear to have some other
quite interesting possibilites.

Things that I've managed to coax MSAA into doing include:
    - tracking changes (name/location/etc) to a specific
      object (eg. tell me when *this* status bar changes)
    - Using WinEvents to track the currently focused object

Both of these tasks initially appeared to be fairly simple,
but ended up requiring quite a few works-arounds, special-case-ing
and other hackery - I'll hopefully get around to posting about
my experiences with MSAA later on...


In the meantime, I've put an interesting MSAA toy program on the
web at http://www.cs.tcd.ie/bmckeon/msaa/winrash.zip

Basically it's a telnet server - but instead of giving you shell
access to a filesystem as a conventional unix-like telnet server
would, this telnet server gives you shell-like access to your
GUI. Once "logged in", you can "change directory" about the
GUI objects - moving from /Desktop to /Desktop/notepad, for
example. See the accompanying readme.txt for disclaimer and
instructions. It's a bit fiddly at times, though - not recommended
for the impatient.

Using it, I was able to start and control the Microsoft CD player
applet on my machine from a text only telnet terminal on the other
side of campus. Not particularly useful, since I'd need the volume
to be set to really loud before I'd be able to hear the CD playing,
but it does show off what MSAA can be prodded into doing...


Brendan.
--
char c[160],z;main(x,d){for/*/        Brendan McKeon          /*/(x=159;x--
;c[x]=32);c[79]=z;c[39]=88/*/         [log in to unmask]         /*/;for(d=31;x
=78,puts(c+z),d--;z=80-z)/*/  http://www.cs.tcd.ie/bmckeon  /*/for(;--x;c[x
+80-z]=88-56*!(c[z-!0+x]/*/                                /*/-c[z+x+1]));}

ATOM RSS1 RSS2