RE: Another appeal for an IDispatch interface for Firefox
"Jamal Mazrui" <[email protected]> Fri, 11 Feb 2011 15:12:15 -0500
| Newsgroups | gmane.comp.mozilla.accessibility |
|---|---|
| Message-ID | <9E3F9A88A3F4A54F81C9BC47D87A17A4E12C08@P2PXMB01S1.fccnet.win.fcc.gov> |
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