Re: Another appeal for an IDispatch interface for Firefox
Alexander Surkov <[email protected]> Tue, 15 Feb 2011 19:04:00 +0800
| Newsgroups | gmane.comp.mozilla.accessibility |
|---|---|
| Message-ID | <[email protected]> |
Hi, Jamal. I don't know well JAWS scripting but I think they should provide a way to get IAccessible for Firefox. If it's general vbscript then who does executes it? Do these platforms provide a way to get IAccessible for desired application? What kind of interfaces do you look for? Thank you. Alexander. On Sat, Feb 12, 2011 at 4:12 AM, Jamal Mazrui <[email protected]> wrote: > Hi Alexander, > The JAWS scripting language, and scripting languages in general, can only > access COM object models through an IDispatch interface. They cannot work > with IUnknown or other, low-level COM interfaces. > > A problem with Firefox extensions is that an end-user has to separately > install and authorize them, whereas screen reader scripts or apps can be > distributed in a more friendly manner. I also do not know of a way that > an extension can integrate with the screen reader synchronously. For > example, I would want to instantiate a COM object via the CreateObject or > GetObject functions of the JAWS scripting language. My script might then > call methods and retrieve properties from the Firefox object model in order > to get desired pieces of information. The script might then use one of the > Say or Braille functions of the JAWS scripting language in order to convey > that information to the user. > > This kind of technique is used extensively by scripts for JAWS and > Window-Eyes (which generally uses VBScript for such purposes). It is used, > for example, in scripts to increase the accessibility and usability of > Microsoft Word, Excel, and PowerPoint, as well as Internet Explorer. It is > also used for accessing myriad other COM object models that are part of > Windows, e.g., with ProgIDs like > "Scripting.FileSystemObject,"VBScript.RegExp," "WScript.Shell," and the WMI > object model. > > Jamal > > ------------------------------ > *From:* Alexander Surkov [mailto:[email protected]] > *Sent:* Friday, February 11, 2011 2:04 PM > *To:* Jamal Mazrui > *Cc:* [email protected] > *Subject:* Re: Another appeal for an IDispatch interface for Firefox > > Hi, Jamal. > > What kind of interfaces are looking for? You can use IAccessible interface > for Firefox UI and web pages content from scripts (for example, from JAWS > scripts). If you need more power then we could try to make that for > IAccessible2. I'd certanly wouldn't do that for ISimpleDOM interfaces, what > is an equivalent of IE interfaces at some precision, due to number of > reasons. > > But technically if you talk about accessibility extensions for Firefox why > does Firefox addons approach not work for you? Here you can use Gecko > nsIAccessible interfaces (and much more) from JS and have no restrictions. > > Thank you. > Alexander. > > > On Sat, Feb 12, 2011 at 1:20 AM, Jamal Mazrui <[email protected]>wrote: > >> This is to reiterate a suggestion I made a couple years ago. On >> Windows, it certainly aids accessibility for assistive technology >> developers to be able to obtain information about Firefox user interface >> controls and web content via a COM interface. Unfortunately, however, >> an early-bound, low-level COM interface that is tailored to C++ >> programmers does not help scripters of assistive technology. JAWS, >> Window-Eyes, and Hal, for example, include full-fledged scripting >> languages that are designed for advanced users with skill in a high >> level programming language. Such individuals often know from personal >> experience what kinds of enhancements to their browsing experiences >> would be most helpful. The 3rd party market of accessibility extensions >> to Firefox would be significantly larger, in my opinion, if scripters >> could build extensions on top of their assistive technologies. >> >> For this to happen, the COM object models of Firefox (and other Mozilla >> applications such as Thunderbird) need to be additionally exposed via a >> late-bound IDispatch interface with a ProgID that supports automation >> clients. For example, the syntax to obtain an initial COM object might >> be something like >> >> OFirefox = CreateObject("Firefox.Application") >> >> I know that adding an IDispatch interface is not a trivial programming >> project. Nevertheless, it is a common practice among software >> developers for Windows applications, and I think the benefits would be >> significant on that platform. Internet Explorer offers such an >> interface, and as a result, I know of JAWS and Window-Eyes scripters >> (including myself) who have put it to good use, e.g., enabling access to >> the DOM of the current web page in ways not facilitated by default >> screen reader functionality. >> >> Regards, >> Jamal >> >> Jamal Mazrui >> Deputy Director, Accessibility and Innovation Initiative >> Federal Communications Commission >> 202.418.0069 >> >> _______________________________________________ >> dev-accessibility mailing list >> [email protected] >> https://lists.mozilla.org/listinfo/dev-accessibility >> > >