[nvda] Latest NVDA changes

Hi all,

I have just committed revision 211 to sourceforge.

There are some major changes to internet explorer support, and I would like people's feedback.

Mozilla support is currently broken, while waiting for some help from the person who is in charge of Mozilla windows accessibility.

The changelog is as follows:

*NVDAObjects and virtualBuffers now use a new metaclass called autoPropertyType which creates properties for specially named methods in a class. Example: the property 'name' will exist if either _get_name(self) or _set_name(self,val) exists.

*Started adding epydoc compatible docstrings to NVDAObjects. Eventually I would suggest that NVDAObjects, virtualBuffers and synthDrivers all be set up for ease of epydoc document generation.

*Moved the virtualBuffer management functions in to virtualBuffers/management.py, previously they were in virtualBuffers/__init__.py. Now virtualBuffers themselves can access these functions if need be.

*Re-wrote most of the base virtualBuffer type. Now all virtualBuffers have a text buffer, and a set of ID lists that hold start and end positions in the text buffer. Think of this as a list of fields in the text buffer denoted by an ID. But ineaad of one ID for each field, its a list of IDs (this is so that its easyer to implement layers of fields). There are functions to get the IDs at a certain position, get the start and end position for a certain ID, append text (with some IDs) to the end of the buffer, insert text (and some IDs) at any given point in the buffer, and remove text by ID.

*Re-wrote most of the MSHTML virtualBuffer (internet explorer) so it now uses the new virtualBuffer structure.

This means now that when arrowing around an internet explorer virtualBuffer, lists, links, form fields, headings etc are reported as you move in to them but they are not actually printed in the buffer. Previously the text in the buffer physically had link, or heading, or table, written, now all you see is the actual text, but the virtualBuffer itself keeps track of what fields you are moving through and reports them accordingly. These fields also read even in sayAll.

*Removed the code that allowed font and style attributes to be spoken when they changed with in the middle of a line. It just got very slow, and made some rather dojy code. However, you can still hear font and style changes when arrowing in and out of them, or when in say All, changes will be reported at least when moving from one line to the next. Of course you still need the appropriate settings in nvda.ini for these to be heard.

*If speak typed characters or speak typed words is set to on, but you are currently focused on an object with its protected state set (e.g. password field) NVDA will only say * for each character.

*Started work again on Mozilla support, but it is currently not in any workable state. I am currently waiting on some help from the person who wrote the windows accessibility support for Mozilla. Once I do fix the problem though, it seems it will be able to be as good (if not better) than current internet explorer support.

*Moved a few scripts from specific NVDAObjects in to the default appModule. NVDAObjects will still have scripts for keys that are not specific to NVDA but need some help to speak etc, but all NVDA-specific keys will be in the default appModule. This will make it much easier in the future to implement different keyMaps for laptops etc.



As people can see, the NVDA api is far from static at the moment, but every day I am moving closer and closer to a complete structure that I like the most. Once it reaches this stage (this will probably be when NVDA can read Mozilla documents just as well as internet Explorer, plus when it is made sure that it works with a few more applications that need their own appModules), api documentation will be properly written, plus of course user documentation can be started.



Thanks everyone for all your support so far.



Mick



To post messages to the list send email to
nvda@xxxxxxxxxxxxx
To unsubscribe from the list send a blank message to:
nvda-request@xxxxxxxxxxxxx
with 'unsubscribe' in the Subject field.
Thank you for your continued support of Nonvisual Desktop Access, an open 
source free screen reader for Microsoft Windows:
http://www.kulgan.net/nvda/

Other related posts: