Download List

Sponsored link

Project Description

NVDA Japanese Team releases Japanese version of the NVDA open-source screen reader for Windows.

GitHub releases

System Requirements

System requirement is not defined

Released at 2009-09-25 18:00
nvdajp_trunk R3278J (2 files Hide)

Release Notes

No Release Notes


Revision: 3234

Author: nvda Date: 14:42:34, 2009年9月15日 Message: IAccessibleHandler.OrderedWinEventLimiter: do not store the last menuEvent in the genericEventCache, instead make flush just read last menu event directly. This stops the possibility of a menu event being lost due to a threads event count going past its maximum for generic events. Store foreground winEvents in the focusEventCache rather than in the genericEvent Cache again so it doesn't get lost if generic event count for a thread goves above the maximum allowed. This should fix an issue in Notepad++ where pressing alt+w and then a number would cause a menu end which NVDA would ignore, and therefore NVDA's idea of the focus would be wrong.

Revision: 3235

Author: nvda Date: 15:08:15, 2009年9月15日 Message: winConsoleHandler.connectConsole: if attachConsole fails then log a debug waring and return. This stops errors when a dos console quickly appears and disappears, or when NVDA for some reason was run from the console that has the focus using python, not pythonw. Have connectConsole also return True or False based on whether it connected or not. For now not used. winConsoleHandler.disconnectConsole: if consoleObject is None, then just return False. Return True if it successfully disconnected.

Revision: 3236

Author: nvda Date: 16:35:46, 2009年9月15日 Message: Add a command line argument (-s or --secure) to enable secure mode, which disables the Python console. This should be used in secure environments.

Revision: 3237

Author: nvda Date: 16:35:52, 2009年9月15日 Message: service: The service must start NVDA as the system user, which means it has administrator privileges. Therefore, start NVDA in secure mode.

Revision: 3238

Author: nvda Date: 13:26:59, 2009年9月16日 Message: IAccessibleHandler: instead of checking if a winEvent is for a native UIA window in winEventCallback, check this in OrderedWinEventLimiter.flushEvents. Also cache the answer to whether its a UIA window or not, for the period of the flush. This should massivly cut down the amount of times NVDA neds to call UIAIsServerSideProvider(window), which may speed things up when using UIA.

Revision: 3239

Author: nvda Date: 14:37:50, 2009年9月16日 Message: IAccessibleHandler: make sure to check UIAHandler.handler before calling anything on it. Fixes bad errors introduced in last commit.

Revision: 3240

Author: nvda Date: 8:37:25, 2009年9月17日 Message: Improvements for object navigation and focus ancestors etc when crossing API boundaries. Specifically fixes an issue where NVDA would not report that a UAC dialog in Windows 7 was a dialog. Specific Changes:

*Remove specific versions of _correctRelationForWindow from UIA and IAccessible NVDAObjects and instead replace them with a correctAPIForRelation on the Window NVDAObject. Apart from removing redundant code, this method also improves checking that determins whether we've crossed an API boundary. *correctAPIForRelation takes an optional keyword argument of 'relation', which should be a string describing the relationship of this new object, to the old one. It should be the same property name (e.g. parent, next, previous...). correctAPIForRelation passes the relation keyword argument on to the new object if the API class changes. *Window NVDAObject's parent, next, previous and firstChild properties now wrap the final Window NVDAObject returned in a self.correctAPIForRelation. * no longer calls findBestAPIClass. This means that when instanciating an object, you will no longer automatically get an object from a sub-API. If you want this, you must call findBestAPIClass manually and use the returned API class instead.

?This change is necessary so as to not have findBestAPIClass called more than necessary, plus I don't think that particular feature was ever relied upon anyway, except for Window's properties, which now call correctAPIForRelation thus it would be redundant.

*Window, IAccessible, JAB and UIA NVDAObjects can now be instanciated with a 'relation' keyword argument. However only IAccessible does something special with this: if relation is parent and only a windowHandle was given, then the IAccessible client will be used, even if the window does have a titlebar/systemMenu etc. *UIA, IAccessible and Window NVDAObjects' parent properties provide relation="parent" to correctAPIForRelation so that the next API is aware of the relation. JAB never calls correctAPIForRelation on a parent, it only uses super.
Revision: 3241

Author: nvda Date: 8:46:09, 2009年9月17日 Message: controlTypes: Fix incorrect ROLE_CALENDAR constant (probably caused by an automatic merge). Fix spelling of thumb.

Revision: 3242

Author: nvda Date: 9:20:41, 2009年9月17日 Message: Fix a missed call to the now renamed _correctRelationForWindow().

Revision: 3243

Author: nvda Date: 16:38:34, 2009年9月17日 Message:

  • IAccessibleHandler: Don't ignore focus on the taskbar or desktop's parent. We actually do care about focus on the taskbar, as this is often where you land when exiting an application.
  • Add a Taskbar IAccessible NVDAObject, which simply sets the name to Taskbar.
Revision: 3244

Author: nvda Date: 16:38:39, 2009年9月17日 Message: Some generic roles, such as pane, application and frame, are no longer reported on focus unless the control is unnamed.

Revision: 3245

Author: nvda Date: 19:18:59, 2009年9月17日 Message:


No longer ignore focus events who's event params match the last focus object's event params. Although this filtered out a few redundant focus events, it caused us to loose some important focus events. Specifically, this fixes an issue where following some links in CHM viewer would lot load a new virtual buffer. It may also fix the problem in Outlook Express where deleting the currently viewed html message would not cause a virtual buffer to be loaded for the next message.

*IAccessibleHandler.OrderedWinEventLimiter.addEvent: ignore focus events who's params match the params of a previously added foreground event, we do not need to see this event. *IAccessibleHandler.OrderedWinEventLimiter.addEvent: When adding a foreground event, delete any previously added focus event with the same params, the event is not needed.
Revision: 3246

Author: nvda Date: 21:26:09, 2009年9月17日 Message: First try at support for following same-page links in MSHTML virtual buffers.

Specifically: *MSHTML virtualBuffer: add a _getNVDAObjectByAnchorName method, which finds the HTMLNode with the provided name/ID and then instanciates an MSHTML NVDAObject with the node. *MSHTML virtualBuffer: override _activateNVDAObject method so that after activating, if this object is a same-page link, it finds the target object using _getNVDAObjectByAnchorName and then queues a focus event for it. Possibly a scrollingStart event would be more appropriate here? *MSHTML virtualBuffer: when instanciated, if the document's address ends with an anchor name, then fetch the object for that anchor name and queue a focus event for it. Note that scrollingStart wouldn't really work here as it would not read from that point, though gainFocus does seem to do the job. *base virtualBuffer's event_gainFocus: when actually speaking the textInfo, if its collapsed expand it to line first. MSHTML anchors do not take up any space in the buffer thus they would just announce "blank" if we didn't do this.
Revision: 3247

Author: nvda Date: 9:51:17, 2009年9月18日 Message: IAccessibleHandler:

  • Allow foreground events on the taskbar and the desktop's parent. This is necessary because the focus event is deleted if it duplicates the foreground event, which was causing the taskbar focus to be lost.
  • Only process the last foreground event and only if there is no valid focus event. This means that valid focus events will always take precedence. The focus has to be within the foreground window to be valid anyway, so this effectively stops NVDA focus events from being fired on the foreground when there will be a real focus immediately after. The real focus will cause focusEntered to be fired on the foreground, which is what we want. This stops Program Manager and


from being reported, as focusEntered does not report those.
Revision: 3248

Author: nvda Date: 12:34:11, 2009年9月18日 Message:

  • base VirtualBuffer: Add _setInitialCaretPos() to set the initial caret position after the buffer has been loaded.
  • MSHTML virtual buffer:
  • Use _setInitialCaretPos() to scroll to the initial anchor rather than queuing this in init, as the buffer might not be loaded yet if queued from init().
  • Use _handleScrollTo() instead of the gainFocus event, as _handleScrollTo() was intended for this purpose. Note that event_scrollingStart is specific to Gecko; _handleScrollTo() is the generalised call.
Revision: 3249

Author: nvda Date: 12:47:58, 2009年9月18日 Message: adobeAcrobat virtual buffer: Treat objects in windows beneath the document as being part of the buffer. This makes combo and list boxes a bit nicer, although they still force focus mode when they shouldn't.

Revision: 3250

Author: nvda Date: 16:48:57, 2009年9月19日 Message: Updated spanish, traditional chinese, finnish, hungarian and slovak language files. Also updated hungarian what's new

Revision: 3251

Author: nvda Date: 8:19:37, 2009年9月21日 Message: MSHTML virtualBuffer's _getNVDAObjectByAnchorName: if getElementById returns None (the node could not be found) then log a debug warning and return None rather than raising an exception. This can happen quite a lot especially for Internet Explorer 'page can not be found' pages that place the file name after the hash.

Revision: 3252

Author: nvda Date: 9:18:24, 2009年9月21日 Message: characterSymbols: announce the NULL symbol as blank rather than NULL. Probably more pleasing to most users.

Revision: 3253

Author: nvda Date: 9:18:26, 2009年9月21日 Message: Edit TextInfo: _getStoryText method now checks for the protected state on the NVDAObject and if its there then returns all asterisk characters up to the length of the text in the control This now means that its possible to count how many password characters have been entered in to a standard password edit control

Revision: 3254

Author: nvda Date: 9:18:28, 2009年9月21日 Message: IAccessible NVDAObject's IA2Attributes property: catch COMError when fetching attributes.

Revision: 3255

Author: nvda Date: 13:36:47, 2009年9月21日 Message: IAccessibleHandler: again ignore foreground events on Program Manager and the taskbar. However do this check in WinEventCallback before OrderedWinEventLimiter gets to see it.

Revision: 3256

Author: nvda Date: 20:50:34, 2009年9月21日 Message: IAccessible NVDAObject: add an isDuplicateIAccessibleEvent method, which takes the object of a new IAccessible event, and suitably compaires it against self, in order to see if the event should be treeted as duplicate. IAccessibleHandler.processFocusNVDAEvent: check the object for the event by using isDuplicateIAccessibleEvent on the most up to date focus, and if its found to be duplicate, return True (I.E. we don't process the event, but we also stop here and we don't bother processing any previous focus events). This code hopefully replaces the old code in processFocusWinEvent that manually checked winEvent params. Note that the base version of isDuplicateIAccessibleEvent simply compaires event params, but firstly if this is an MSAA child element it returns False straight away as MSAA child elements can't have unique winEvents due to their nature.

Revision: 3257

Author: nvda Date: 20:50:37, 2009年9月21日 Message: MSHTML NVDAObject: override isDuplicateIAccessibleEvent to also check the equality of the two NVDAObjects, as MSHTML winEvents can't really be trusted for uniqueness. This should again fix the issue in CHM viewer where NVDA would sometimes miss the loading of a new document.

Revision: 3258

Author: nvda Date: 9:38:57, 2009年9月22日 Message: Fix a few errors where subClasses of Window NVDAObject were using incorrect arguments to Window's init. Specifically fixes errors when navigating around grouping items in sysListView32 lists.

Revision: 3259

Author: nvda Date: 15:29:42, 2009年9月22日 Message: NVDAObjects: Handle the Windows alt+tab task list without using api.processPendingEvents(). This handling is now done in an IAccessible NVDAObject instead of a Window NVDAObject.

Revision: 3260

Author: nvda Date: 15:29:44, 2009年9月22日 Message: IAccessibleHandler.pumpAll(): Rather than only handling the last foreground event if there was a valid focus, handle foreground events alongside focus events; i.e. stop handling all focus and foreground events once a valid event is processed. The only difference is the function that is called to process the event. Fixes issues where an earlier, apparently valid focus event stops a foreground event from being processed, even though the foreground event occurs later and is actually more valid.

Revision: 3261

Author: nvda Date: 15:29:46, 2009年9月22日 Message: Ensure that all UIA objects have a valid windowHandle property. Where the UIA element doesn't provide a window handle, find the nearest ancestor element with a window handle and use that.

Revision: 3262

Author: nvda Date: 15:29:49, 2009年9月22日 Message: IAccessibleHandler foreground event handling:

  • Don't ignore foreground events if there is a pending NVDA gainFocus event. IAccessibleHandler can queue more than one focus event, so this can sometimes cause foreground events to be ignored when they shouldn't. This change was originally implemented to fix the Windows 7 Start menu where the UIA focus event for the search box arrives before the foreground event. However, the foreground event is now ignored in this case because the search box now has a valid window handle and it is a descendant of the foreground window.
  • When checking if the current focus is a descendant of the window handle, check for an instance of NVDAObjects.window.Window, not NVDAObjects.IAccessible.IAccessible.
Revision: 3263

Author: nvda Date: 15:38:02, 2009年9月22日 Message: again make use of findBestAPIClass if this class implements it directly. Window NVDAObject's navigation properties: do not use correctAPIForRelation as now instanciating a Window NVDAObject will again automatically make use of findBestAPIClass. These changes fix some issues where focus ancestry was rather broken in Adobe Reader (NVDA would announce a whole bunch of Window NVDAObjects). These changes may mean that findBestAPIClass is called a little more than it really should, but hopefully for at least the next release, NVDAObjects should be working the way we want... though all this findBestAPIClass and findBestClass stuff must be totally rethought in the near future.

Revision: 3264

Author: nvda Date: 12:12:26, 2009年9月23日 Message: service: Make certain that NVDA is dead by forcefully terminating the process after using -q. This is necessary because NVDA may not have finished initialising yet, in which case -q won't work. This should stop multiple copies of NVDA and copies of NVDA being left running on secure desktops when fast desktop switches occur.

Revision: 3265

Author: nvda Date: 15:48:16, 2009年9月23日 Message: Windows Live Mail appModule: to detect the about:blank document that should not get a virtualBuffer, check the document's url (obj.HTMLNode.document.url) rather than its parent's name. This stops some freezes/crashes when using Windows Live Mail with NVDA.

Revision: 3266

Author: nvda Date: 20:45:40, 2009年9月23日 Message: Move code that fires possible event_virtualBuffer_gainFocus and event_virtualBuffer_loseFocus from api.setFocusObject() to eventHandler.doPreGainFocus() (at the bottom after firing any focusEnter events). This makes sure that event_virtualBuffer_gainFocus doesn't accidentily get silenced by a cancelSpeech due to the foreground changing (previously the event was fired before the foreground event, not after). It may also fix a possible bug where the virtualBuffer_gainFocus was never fired at all as the old virtualBuffer (used for comparison) was fetched too late. Now we fetch it at the top of doPreGainFocus. In practical terms, all this should fix the bug where sometimes alt tabbing in to Firefox or another app with virtualBuffers would not cause the virtualBuffer to be announced, instead you would only hear the application window and nothing else.

Revision: 3267

Author: nvda Date: 5:36:15, 2009年9月24日 Message: Removes useless code from klango player appmodule

Revision: 3268

Author: nvda Date: 5:36:20, 2009年9月24日 Message: Updated russian, croatian and galician language files Updated russian readme

Revision: 3269

Author: nvda Date: 6:23:36, 2009年9月24日 Message: UIAHandler: It seems that UIA events can be fired as we are registering for them. If this occurs, UIAHandler.handler will not be set yet, which causes problems elsewhere. Therefore, just ignore events if we're still initialising (i.e. UIAHandler.handler is not yet set).

Revision: 3270

Author: nvda Date: 6:53:02, 2009年9月24日 Message: JABTextInfo: Fixed _getLineNumFromOffset(). Fixes reading of editable text fields in applications which use the Java Access Bridge (including when reporting of line numbers is enabled.

Revision: 3278

Author: nvda Date: 13:02:17, 2009年9月25日 Message: UIA NVDAObject: Override correctAPIForRelation() so that when navigating to a UIA element, if the target element is not the root element of its window (i.e. nativeWindowHandle is undefined), the API class will not be changed; i.e. UIA will always be used. Fixes the issue where navigating next from the pane beneath the Windows 7 User Account Control dialog would land in the parent window object.

Revision: 3277

Author: nvda Date: 10:13:44, 2009年9月25日 Message: User guide updates.

Noted that you can * Start NVDA by typing NVDA in the Run Dialog. (section 5.1) * modify the speech dictionary and read the Log (Section 6)

removed: * You should hear NVDA started. (Section 5.1) * in the Regional and Language Options in Control Panel (Section * unnecessary spaces

replaced "" (quotes) with "

Revision: 3276

Author: nvda Date: 7:44:03, 2009年9月25日 Message: add WS_SIZEBOX to

Revision: 3275

Author: nvda Date: 7:44:00, 2009年9月25日 Message: IAccessible NVDAObject's windowHasExtraIAccessibles class method: do not check for WS_CAPTION as it seems a lot more windows have it than just the ones with title bars. Taking out this style check now fixes the NVDA menu so it announces as NVDA menu again, rather than context menu. So now we just check for sysMenu, sizeBox, vScroll and hScroll styles. Which, seems to now provide the same functionality we used to have.

Revision: 3274

Author: nvda Date: 18:17:11, 2009年9月24日 Message: MSHTML NVDAObject: Fix nasty typos in the next and previous properties.

Revision: 3273

Author: nvda Date: 15:22:45, 2009年9月24日 Message: IAccessible NVDAObject: *Add a 'windowHasExtraIAccessibles' class method which takes a window handle, and using window styles, works out whether this window would contain IAccessible objects for things such as a system menu, title bar, scroll bars etc. *findBestClass: If only given a window handle (not an IAccessible), rather than getting a client IAccessible and then trying to use accNavigate to see if there are extra IAccessibles, just use windowHasExtraIAccessibles. This also means that the client IAccessible does not have to be fetched at all if its not needed. *parent property: rather than using accNavigate to find extra IAccessibles, just use windowHasExtraIAccessibles.

Revision: 3272

Author: nvda Date: 15:22:40, 2009年9月24日 Message: winUser: add some more window style constants.

Revision: 3271

Author: nvda Date: 12:24:11, 2009年9月24日 Message: speech: Don't speak roles in silentRolesOnFocus if the value will be spoken. Previously, this condition only applied to the name. Stops speaking of "list item" in the speech dictionary entries list.

  • Taskbar
  • タスクバー
  • Thumbs control
  • つまみ