nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.12k stars 637 forks source link

nvda, problems when reading chm files. #6708

Closed mikolysz closed 1 month ago

mikolysz commented 7 years ago

nvda has some problems when reading chm files (with the default viewer build into windows)

  1. when "use screen layout when supported" is disabled, source code is shown improperly. A good example of this behaviour is python's documentation file located in your_python_installation_directory\doc\pythonxxxx.chm. All text except source code is rendered as expected, but source is broken into many lines wherever possible. it looks like this: x

    int ( raw_input ( "please enter an integer: " )) and it should look like this: x = int(raw_input("Please enter an integer: ")) This is similar to what sometimes happens when you view a document in notepad, you have word wrap enabled and the window is not maximized.

  2. when you alt+tab away from a chm document and go back, the focus sometimes jumps to the top, but sometimes it stays where it was before.
  3. when you have multiple items in the tree view that point at one document but to different places, NVDA doesn't jump to the appropriate place. python's documentation, is, again, a good example. we can, for example, expand the python tutorial, then expand the chapter on data structures and click on "the del statement" first problem, when we press f6, nvda jumps to the next subsection "tuples and sequences", not to the one about del statements. second, when we go back to the treeview, press enter on something different that is still in the same document, in this case, "sets" and press f6 again, NVDA doesn't jump anywhere at all. It should move the focus to the relevant subsection, ut it doesn't We can press f5 before pressing enter to refresh and it works then, but it's inefficient, especially with large documents, because it takes some time.
jcsteh commented 7 years ago

I'd need to look into the latter points, but as for screen layout, this is rather the point of screen layout: to make sure that content is rendered into lines as displayed on screen. If you turn off screen layout, you're choosing to render different elements on different lines, regardless of their intended rendering. In these code snippets, each chunk of text is a different element.

mikolysz commented 7 years ago

So why it doesn't happen anywhere on the web and it happens in each chm file? I prefer to have screen-layout turned off to make links easier to find, however, it greatly complicates reading code and is rather unintuitive, surprising and definitely not what most users expect, maybe except from those deeply familiar with the inner workings of chm. W dniu 2017-01-08 o 22:57, James Teh pisze:

I'd need to look into the latter points, but as for screen layout, this is rather the point of screen layout: to make sure that content is rendered into lines as displayed on screen. If you turn off screen layout, you're choosing to render different elements on different lines, regardless of their intended rendering. In these code snippets, each chunk of text is a different element.

dave090679 commented 6 years ago

Hi guys,

I have some other problems when opening chm files.

I'm using Microsoft Windows [Version 10.0.17134.48] X64 and the most recent master snapshot of NVDA.

When I open a chm file, the table of contents is displayed fine; but then I hit Enter on a heading and hit F6 to view the virtual document, "unknown" is displayed in Braille. The developer Info of he UNKNOWN Object looks like this:

INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (09:14:36.637): Developer info for navigator object: name: None role: ROLE_UNKNOWN states: STATE_FOCUSABLE, STATE_FOCUSED isFocusable: True hasFocus: True Python object: <NVDAObjects.IAccessible.ContentGenericClient object at 0x052A3630> Python class mro: (<class 'NVDAObjects.IAccessible.ContentGenericClient'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>) description: None location: (324, 63, 1276, 837) value: u'' appModule: <'appModuleHandler' (appName u'hh', process ID 6360) at address 5272e90> appModule.productName: u'HTML-Hilfe' appModule.productVersion: u'10.0.17134.46' TextInfo: <class 'displayModel.DisplayModelTextInfo'> windowHandle: 12389794 windowClassName: u'Shell Embedding' windowControlID: 0 windowStyle: 1442906112 windowThreadID: 7256 windowText: u'' displayText: u'' IAccessibleObject: <POINTER(IAccessible) ptr=0x7cf6c8 at 520d4e0> IAccessibleChildID: 0 IAccessible event parameters: windowHandle=12389794, objectID=-4, childID=0 IAccessible accName: None IAccessible accRole: ROLE_SYSTEM_CLIENT IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580) IAccessible accDescription: None IAccessible accValue: None

For my tests, I use the most recent version of the windows faq, which is available from www.winfaq.de.

happy fixing:-).

Dave

PratikP1 commented 6 years ago

Is this the only file with which you are having trouble? DO you have comparison data with other CHM files?

Adriani90 commented 5 years ago

@dave090679, @devil418, are you still having this issue?

Adriani90 commented 1 month ago

We didn't get any updates upon request since many years from people who reproduced this issue in the past. Closing as abandoned. If you are still having this issue, please comment and we can reopen.