nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Text style navigation: Runtime error, NVDA cannot find desired offset in textInfo when using tables in MS Word with UIA disabled

Open Adriani90 opened this issue 1 year ago • 5 comments

Steps to reproduce:

  1. Open NVDA
  2. Assign [ and shift+[ for different style navigation
  3. Assign ] and shift+] for same style navigation
  4. Open an MS Word document with different text formats, where headings are indicated by text font size instead of heading levels, and tables are used to structure content, see attached document for a test case.
  5. Make sure UIA for MS Word is disabled in NVDA advanced settings
  6. Navigate to a heading (e.g. professional background), and Press the assigned commands for navigating to next and previous text styles

Actual behavior:

NVDA stops navigating, and the focus does not move. Following is written to the log:

IO - inputCore.InputManager.executeGesture (17:26:53.868) - winInputHook (18680):
Input: kb(laptop):plus
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (17:26:54.378) - watchdog (1936):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (17:26:55.140) - MainThread (22192):
Speaking ['Academic experience\n']
DEBUG - UIAHandler.shouldUseUIAInMSWord (17:26:55.167) - MainThread (22192):
User does not want UIA in MS Word unless necessary
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (17:26:55.380) - watchdog (1936):
Recovered from potential freeze after 1.502466700000241 seconds.
IO - inputCore.InputManager.executeGesture (17:26:55.663) - winInputHook (18680):
Input: kb(laptop):shift+ü
ERROR - scriptHandler.executeScript (17:26:55.780) - MainThread (22192):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x0664D430>> with gesture 'Umschalt+ü'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "browseMode.pyc", line 567, in <lambda>
  File "browseMode.pyc", line 516, in _quickNavScript
  File "browseMode.pyc", line 2405, in _iterTextStyle
  File "browseMode.pyc", line 2326, in _expandStyle
  File "textInfos\__init__.pyc", line 793, in moveToCodepointOffset
RuntimeError: Unable to find desired offset in TextInfo.
IO - inputCore.InputManager.executeGesture (17:26:56.484) - winInputHook (18680):
Input: kb(laptop):plus
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (17:26:56.991) - watchdog (1936):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (17:26:57.112) - MainThread (22192):
Speaking ['Seite 2', 'Projects and initiatives\n']
DEBUG - UIAHandler.shouldUseUIAInMSWord (17:26:57.128) - MainThread (22192):
User does not want UIA in MS Word unless necessary
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (17:26:57.492) - watchdog (1936):
Recovered from potential freeze after 1.0022185000002537 seconds.
IO - inputCore.InputManager.executeGesture (17:26:57.712) - winInputHook (18680):
Input: kb(laptop):shift+ü
ERROR - scriptHandler.executeScript (17:26:57.997) - MainThread (22192):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x0664D430>> with gesture 'Umschalt+ü'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "browseMode.pyc", line 567, in <lambda>
  File "browseMode.pyc", line 516, in _quickNavScript
  File "browseMode.pyc", line 2461, in _iterTextStyle
  File "browseMode.pyc", line 2326, in _expandStyle
  File "textInfos\__init__.pyc", line 793, in moveToCodepointOffset
RuntimeError: Unable to find desired offset in TextInfo.
IO - inputCore.InputManager.executeGesture (17:26:58.921) - winInputHook (18680):
Input: kb(laptop):shift+plus
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (17:26:59.422) - watchdog (1936):
Potential freeze, waiting up to 10 seconds.
ERROR - scriptHandler.executeScript (17:26:59.518) - MainThread (22192):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x0664D430>> with gesture 'Umschalt+plus'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "browseMode.pyc", line 567, in <lambda>
  File "browseMode.pyc", line 516, in _quickNavScript
  File "browseMode.pyc", line 2461, in _iterTextStyle
  File "browseMode.pyc", line 2326, in _expandStyle
  File "textInfos\__init__.pyc", line 793, in moveToCodepointOffset
RuntimeError: Unable to find desired offset in TextInfo.

Expected behavior:

Navigation should continue, e.g. within the tables or skipping the tables.

NVDA logs, crash dumps and other attachments:

n/a

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

alpha-31645,bf96860d (2024.2.0.31645)

Windows version:

Windows 11 23 H2

Name and version of other software in use when reproducing the issue:

MS Office Word 365 MSO (Version 2403 Build 16.0.17425.20176) 64 Bit

Other information about your system:

n/a

Other questions

Does the issue still occur after restarting your computer?

yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

n/a

If NVDA add-ons are disabled, is your problem still occurring?

No add-ons in use

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

yes Summary-with-table-test-case.docx

Adriani90 avatar Apr 28 '24 15:04 Adriani90

cc: @mltony is this maybe related to #16448?

Adriani90 avatar Apr 28 '24 15:04 Adriani90

This ssems to work properly when UIA is enabled.

Adriani90 avatar Apr 28 '24 15:04 Adriani90

  1. Navigate to a heading (e.g. professional background)

There is no such text in the attached document. I assume you meant "Professional experience". But having said that, for some reason your issue doesn't repro on my computer. Just to clarify, when you say

Make sure UIA for MS Word is disabled in NVDA advanced settings

I only have this option:

Use UI Automation to access Microsoft Word document controls:
Only when necessary

mltony avatar Apr 29 '24 22:04 mltony

Yes only when necessary is the value I was refering too.Did you try to navigate back and forth between the headings? E.g. until the last heading and back to the first via same style navigation for example?I definitely reproduce this on several machines.Von meinem iPhone gesendetAm 30.04.2024 um 00:36 schrieb mltony @.***>:

Navigate to a heading (e.g. professional background)

There is no such text in the attached document. I assume you meant "Professional experience". But having said that, for some reason your issue doesn't repro on my computer. Just to clarify, when you say

Make sure UIA for MS Word is disabled in NVDA advanced settings

I only have this option: Use UI Automation to access Microsoft Word document controls: Only when necessary

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Adriani90 avatar Apr 30 '24 03:04 Adriani90

Yes, I confirm I can navigate back and forth between headings with styleNav commands. Navigate to different style also works as expected. I just tested on my other laptop running Windows 10 - same experience there.

mltony avatar Apr 30 '24 20:04 mltony

Did you make sure UIA is set to "only necessary" for MS Word? Which MS Word version are you using?

For what I can say, for me style navigation does not really work in this example document at ll. I get this in the log:

IO - inputCore.InputManager.executeGesture (11:59:36.181) - winInputHook (18700):
Input: kb(laptop):ü
ERROR - scriptHandler.executeScript (11:59:36.431) - MainThread (2304):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x06128390>> with gesture 'ü'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "browseMode.pyc", line 558, in <lambda>
  File "browseMode.pyc", line 516, in _quickNavScript
  File "browseMode.pyc", line 2447, in _iterTextStyle
  File "textInfos\__init__.pyc", line 793, in moveToCodepointOffset
RuntimeError: Unable to find desired offset in TextInfo.
IO - inputCore.InputManager.executeGesture (11:59:38.996) - winInputHook (18700):
Input: kb(laptop):shift+plus
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (11:59:39.496) - watchdog (24592):
Potential freeze, waiting up to 10 seconds.
ERROR - scriptHandler.executeScript (11:59:39.581) - MainThread (2304):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x06128390>> with gesture 'Umschalt+plus'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "browseMode.pyc", line 567, in <lambda>
  File "browseMode.pyc", line 516, in _quickNavScript
  File "browseMode.pyc", line 2461, in _iterTextStyle
  File "browseMode.pyc", line 2326, in _expandStyle
  File "textInfos\__init__.pyc", line 793, in moveToCodepointOffset
RuntimeError: Unable to find desired offset in TextInfo.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (11:59:39.997) - watchdog (24592):
Recovered from potential freeze after 1.000924300024053 seconds.

Note: if you restart NVDA while the document is focused the object model will not be available and UIA will be used although it is set to "only when necessary". Alt+tabbing away and back to the document makes sure you are using object model.

cc: @CyrilleB79 or @lukaszgo1 can you test as well?

Adriani90 avatar May 01 '24 10:05 Adriani90

Did you make sure UIA is set to "only necessary" for MS Word?>

Yes.

appModule.productName: 'Microsoft Office' appModule.productVersion: '16.0.17425.20176'

I tried restarting NVDA and Alt-tabbing back and forth and still cannot reproduce this.

mltony avatar May 01 '24 17:05 mltony

@burmancomp, @cary-rowen could you please test if you have this issue with UIA set to "only when necessary" for MS Word in NVDA advanced settings? This would help allot. ON my end I cannot use this feature unfortunately. @mltony any suggestions how I can solve this on my end?

Adriani90 avatar May 03 '24 15:05 Adriani90

@ivnc, @XLTechie could you please test if this issue occurs for you? It is really important to have some test results from other users in order to be sure whether this feature works properly or if this needs to be reverted.

Adriani90 avatar May 12 '24 15:05 Adriani90

I tested this and I could only reproduce it by trying "moves to the next different style text" in "Professional experience", The other commands "moves to the previous different style text, moves to the previous same style text, moves to the next same style text" all work as expected.

IO - speech.speech.speak (00:50:22.522) - MainThread (7192):
Speaking ['日志片段开始点已标记,再按一次复制到剪贴板']
IO - inputCore.executeGesture (00:50:22.976) - winInputHook (10148):
Input: kb(laptop):/
ERROR - scriptHandler.executeScript (00:50:23.378) - MainThread (7192):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x185D20F0>> with gesture '/'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "browseMode.pyc", line 558, in <lambda>
  File "browseMode.pyc", line 516, in _quickNavScript
  File "browseMode.pyc", line 2449, in _iterTextStyle
  File "textInfos\__init__.pyc", line 794, in moveToCodepointOffset
RuntimeError: Unable to find desired offset in TextInfo.
IO - inputCore.executeGesture (00:50:23.795) - winInputHook (10148):
Input: kb(laptop):NVDA+shift+control+f1

NVDA alpha-31858

focus.appModule.productName 'Microsoft Office'

focus.appModule.productVersion '16.0.17531.20140'

But I don't agree that this should be reverted. If the exact reason is found, it can be noted that this is an exception.

cary-rowen avatar May 12 '24 16:05 cary-rowen

I just tried again on my computer exactly what @cary-rowen described - and on my computer it works as expected without throwing any errors. Same thing for my other laptop. I am perplexed, not sure how to proceed here.

mltony avatar May 12 '24 17:05 mltony

I haven't seen this part of the code, are there any easy steps I can take to help debug it?

cary-rowen avatar May 12 '24 17:05 cary-rowen

That's the problem, there are no easy steps I can think of. If I could repro this, I would run this in a virtual machine and connect with a debugger to understand better what's going on. Style navigation algorithm ended up pretty complex, and it internally uses textInfos.moveToCodepointOffset function, which is pretty complicated too. I suspect this might be related to #16448. The other possibility would be the case when 1 textInfos.UNIT_CHARACTER corresponds to multiple pythonic characters; but we've seen that only in Word when UIA is enabled, which is not the case here.

mltony avatar May 12 '24 17:05 mltony

In my case, when the word document is a read-only document (i.e. not editable), the text style navigation is correct when following the steps above. Additionally when I am at the end of the sample document, at this point word is only showing page 2, and navigating up to page 1 the same text style navigation results in an error but not an error report, changing from a bookmark style to a table style. When I press still edit at the prompt, the performance of the text style navigation drops significantly. It takes a few seconds per navigation. Navigating down is at least correct. But when I navigate up on page 2, when the content to be navigated to is on page 1 (probably not in the screen), the error is reported.

hwf1324 avatar May 12 '24 18:05 hwf1324

I managed to reproduce this when I unchecked protected view. I go to "Academic experience" and try navigating to previous same style - only in this case it raises that exception. Now debugging.

mltony avatar May 12 '24 19:05 mltony

@mltony I attach a new document, in this document I definitely can reproduce this issue both with UIA enabled or disabled. ONKYO.docx

Adriani90 avatar May 12 '24 19:05 Adriani90

@hwf1324 you seem to have UIA enabled, bookmark navigation is only when using UIA in MS Word.

Adriani90 avatar May 12 '24 19:05 Adriani90

@hwf1324 you seem to have UIA enabled, bookmark navigation is only when using UIA in MS Word.

@Adriani90 No, I don't have UIA enabled, maybe my description is off.

IO - speech.speech.speak (03:48:44.068) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Log fragment start position marked, press again to copy to clipboard']
IO - inputCore.InputManager.executeGesture (03:48:46.683) - winInputHook (17480):
Input: kb(laptop):tab
IO - speech.speech.speak (03:48:46.700) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Advanced', 'property page', 'Warning!\nThe following settings are for advanced users. Changing them may cause NVDA to function incorrectly. Please only change these if you know what you are doing or have been specifically instructed by NVDA developers.', CancellableSpeech (still valid)]
IO - speech.speech.speak (03:48:46.704) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'I understand that changing these settings may cause NVDA to function incorrectly.', 'check box', 'not checked', CancellableSpeech (still valid)]
IO - inputCore.InputManager.executeGesture (03:48:47.280) - winInputHook (17480):
Input: kb(laptop):space
IO - speech.speech.speak (03:48:47.301) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '空格', EndUtteranceCommand()]
IO - speech.speech.speak (03:48:47.402) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'checked']
IO - inputCore.InputManager.executeGesture (03:48:47.810) - winInputHook (17480):
Input: kb(laptop):tab
IO - speech.speech.speak (03:48:47.824) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Restore defaults', 'button', CancellableSpeech (still valid)]
IO - inputCore.InputManager.executeGesture (03:48:48.042) - winInputHook (17480):
Input: kb(laptop):tab
IO - speech.speech.speak (03:48:48.100) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'NVDA Development', 'grouping', CancellableSpeech (still valid)]
IO - speech.speech.speak (03:48:48.102) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Enable loading custom code from Developer Scratchpad directory', 'check box', 'not checked', CancellableSpeech (still valid)]
IO - inputCore.InputManager.executeGesture (03:48:48.526) - winInputHook (17480):
Input: kb(laptop):tab
IO - speech.speech.speak (03:48:48.577) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Microsoft UI Automation', 'grouping', CancellableSpeech (still valid)]
IO - speech.speech.speak (03:48:48.577) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Registration for UI Automation events and property changes:', 'combo box', 'Automatic (prefer selective)', 'collapsed', 'Alt+', CharacterModeCommand(True), 's', CharacterModeCommand(False), CancellableSpeech (still valid)]
IO - inputCore.InputManager.executeGesture (03:48:48.783) - winInputHook (17480):
Input: kb(laptop):tab
IO - speech.speech.speak (03:48:48.795) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Use UI Automation to access Microsoft Word document controls', 'combo box', 'Only when necessary', 'collapsed', 'Alt+', CharacterModeCommand(True), 'w', CharacterModeCommand(False), CancellableSpeech (still valid)]
IO - inputCore.InputManager.executeGesture (03:48:54.447) - winInputHook (17480):
Input: kb(laptop):enter
DEBUG - autoSettingsUtils.autoSettings.AutoSettings._saveSpecificSettings (03:48:54.452) - MainThread (7664):
Saved settings for OneCoreSynthDriver
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.453) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: ReviewRoutingMovesSystemCaretFlag, behaviorOfDefault: NEVER
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.453) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: BoolFlag, behaviorOfDefault: ENABLED
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.453) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: BoolFlag, behaviorOfDefault: ENABLED
DEBUG - autoSettingsUtils.autoSettings.AutoSettings._saveSpecificSettings (03:48:54.457) - MainThread (7664):
Saved settings for NVDAHighlighterSettings
DEBUG - autoSettingsUtils.autoSettings.AutoSettings._saveSpecificSettings (03:48:54.458) - MainThread (7664):
Saved settings for ScreenCurtainSettings
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.458) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: ParagraphNavigationFlag, behaviorOfDefault: APPLICATION
DEBUG - gui.settingsDialogs.AdvancedPanelControls.onSave (03:48:54.458) - MainThread (7664):
Saving advanced config
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.459) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: BoolFlag, behaviorOfDefault: ENABLED
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.459) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: WindowsTerminalStrategyFlag, behaviorOfDefault: DIFFING
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.459) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: BoolFlag, behaviorOfDefault: ENABLED
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.459) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: BoolFlag, behaviorOfDefault: ENABLED
DEBUG - config.featureFlag._validateConfig_featureFlag (03:48:54.459) - MainThread (7664):
Validating feature flag: DEFAULT, optionsEnum: BoolFlag, behaviorOfDefault: ENABLED
IO - speech.speech.speak (03:48:54.500) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Summary-with-table-test-case.docx  -  受保护的视图 - Word', CancellableSpeech (still valid)]
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:48:54.514) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - speech.speech.speak (03:48:54.582) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'document', CancellableSpeech (still valid), 'page 1', 'section 1', 'bookmark', LangChangeCommand ('en_US'), 'Summary\r']
DEBUG - gui.settingsDialogs.SettingsDialog._setInstanceDestroyedState (03:48:54.585) - MainThread (7664):
Setting state to destroyed for instance: NVDA Settings - NVDASettingsDialog - <gui.settingsDialogs.NVDASettingsDialog object at 0x0D76D4F0>
Current _instances ['NVDA Settings - CREATED']
IO - inputCore.InputManager.executeGesture (03:48:55.826) - winInputHook (17480):
Input: kb(laptop):NVDA+space
DEBUG - treeInterceptorHandler.update (03:48:55.831) - MainThread (7664):
Adding new treeInterceptor to runningTable: <NVDAObjects.UIA.wordDocument.WordBrowseModeDocument object at 0x0D82DED0>
IO - inputCore.InputManager.executeGesture (03:48:56.815) - winInputHook (17480):
Input: kb(laptop):downArrow
IO - speech.speech.speak (03:48:56.853) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'page 1', 'section 1', 'blank']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:48:56.900) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:48:58.862) - winInputHook (17480):
Input: kb(laptop):downArrow
IO - speech.speech.speak (03:48:58.883) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'bookmark', LangChangeCommand ('en_US'), 'Professional experience\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:48:58.928) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:49:02.195) - winInputHook (17480):
Input: kb(laptop):]
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:02.237) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:02.263) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:02.402) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:02.521) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:02.571) - MainThread (7664):
Detected embedded child
IO - speech.speech.speak (03:49:02.593) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'bookmark', LangChangeCommand ('en_US'), 'Academic experience\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:02.649) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:49:04.266) - winInputHook (17480):
Input: kb(laptop):]
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:04.310) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:04.337) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:04.469) - MainThread (7664):
Detected embedded child
IO - speech.speech.speak (03:49:04.494) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'page 2', 'bookmark', LangChangeCommand ('en_US'), 'Projects and initiatives\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:04.561) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:49:06.592) - winInputHook (17480):
Input: kb(laptop):]
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:06.638) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:06.669) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:06.908) - MainThread (7664):
Detected embedded child
IO - speech.speech.speak (03:49:06.931) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'bookmark', LangChangeCommand ('en_US'), 'Further knowledge\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:06.971) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:49:10.491) - winInputHook (17480):
Input: kb(laptop):shift+]
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:10.691) - MainThread (7664):
Detected embedded child
IO - speech.speech.speak (03:49:10.745) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'bookmark', LangChangeCommand ('en_US'), 'Projects and initiatives\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:10.775) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:49:12.836) - winInputHook (17480):
Input: kb(laptop):shift+]
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:12.974) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:13.018) - MainThread (7664):
Detected embedded child
IO - speech.speech.speak (03:49:13.047) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'table', 'with 3 rows and 2 columns', 'page 1', 'out of table', 'bookmark', LangChangeCommand ('en_US'), 'Academic experience\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:13.106) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:49:16.535) - winInputHook (17480):
Input: kb(laptop):shift+]
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:16.583) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:16.614) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:16.735) - MainThread (7664):
Detected embedded child
DEBUG - NVDAObjects.UIA.UIATextInfo._getTextWithFieldsForUIARange (03:49:16.869) - MainThread (7664):
Detected embedded child
IO - speech.speech.speak (03:49:16.929) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'blank']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:16.975) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:49:18.151) - winInputHook (17480):
Input: kb(laptop):upArrow
IO - speech.speech.speak (03:49:18.186) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'bookmark', LangChangeCommand ('en_US'), 'Summary\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:18.227) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - inputCore.InputManager.executeGesture (03:49:19.666) - winInputHook (17480):
Input: kb(laptop):upArrow
IO - speech.speech.speak (03:49:19.706) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'bookmark', LangChangeCommand ('en_US'), 'Summary\r']
IO - inputCore.InputManager.executeGesture (03:49:20.808) - winInputHook (17480):
Input: kb(laptop):downArrow
IO - speech.speech.speak (03:49:20.828) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'blank']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:20.876) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:30.555) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - speech.speech.speak (03:49:30.570) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Since 03/2023:']
IO - speech.speech.speak (03:49:30.797) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Since 03/2023:']
IO - speech.speech.speak (03:49:30.891) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '11/2021-3/2023:']
IO - speech.speech.speak (03:49:31.048) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Since 3/2021:']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:31.057) - MainThread (7664):
Using UIA in MS Word as no alternative object model available
IO - speech.speech.speak (03:49:31.145) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Professional experience\r']
IO - speech.speech.speak (03:49:31.502) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '启用编辑(E)']
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:33.142) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:33.642) - watchdog (3456):
Recovered from potential freeze after 1.0010277000000087 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:33.790) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:33.790) - MainThread (7664):
User does not want UIA in MS Word unless necessary
DEBUGWARNING - UIAHandler.browseMode.UIABrowseModeDocument.__contains__ (03:49:34.026) - MainThread (7664):
Could not get runtimeID of document. Most likely document is dead.
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:34.197) - Dummy-1 (4108):
User does not want UIA in MS Word unless necessary
DEBUGWARNING - UIAHandler.browseMode.UIABrowseModeDocument.__contains__ (03:49:34.216) - MainThread (7664):
Could not get runtimeID of document. Most likely document is dead.
DEBUG - appModuleHandler.cleanup (03:49:34.217) - MainThread (7664):
application winword closed
DEBUG - treeInterceptorHandler.killTreeInterceptor (03:49:34.238) - MainThread (7664):
Killed treeInterceptor: <NVDAObjects.UIA.wordDocument.WordBrowseModeDocument object at 0x0D82DED0>
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:34.291) - watchdog (3456):
Recovered from potential freeze after 1.0007391999999982 seconds.
IO - speech.speech.speak (03:49:34.375) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'tool bar', CancellableSpeech (still valid)]
IO - inputCore.InputManager.executeGesture (03:49:34.621) - winInputHook (17480):
Input: kb(laptop):downArrow
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:34.898) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:35.400) - watchdog (3456):
Recovered from potential freeze after 1.0013210999999842 seconds.
IO - inputCore.InputManager.executeGesture (03:49:35.519) - winInputHook (17480):
Input: kb(laptop):upArrow
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:36.113) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (03:49:36.581) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '继续阅读', 'window', CancellableSpeech (still valid)]
IO - speech.speech.speak (03:49:36.741) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'pane', CancellableSpeech (still valid)]
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:36.981) - Dummy-1 (4108):
User does not want UIA in MS Word unless necessary
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:37.115) - watchdog (3456):
Recovered from potential freeze after 1.5039533000000347 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:38.055) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:38.556) - watchdog (3456):
Recovered from potential freeze after 1.6454396000000315 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:39.744) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:39.830) - Dummy-1 (4108):
User does not want UIA in MS Word unless necessary
IO - speech.speech.speak (03:49:39.877) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '继续阅读', 'button', '从上次停止阅读文档的位置继续', CancellableSpeech (still valid)]
DEBUG - speech.manager.SpeechManager._handleIndex (03:49:39.878) - MainThread (7664):
Unknown index 148, speech probably cancelled from main thread.
IO - speech.speech.speak (03:49:39.914) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Ribbon']
IO - speech.speech.speak (03:49:40.066) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Summary-with-table-test-case.docx - Word', CancellableSpeech (still valid)]
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:40.245) - watchdog (3456):
Recovered from potential freeze after 2.1503346999999735 seconds.
IO - speech.speech.speak (03:49:40.290) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Microsoft Word 文档', 'edit', 'multi line', CancellableSpeech (still valid), 'page 1', 'section 1', LangChangeCommand ('en_US'), 'Summary']
IO - speech.speech.speak (03:49:40.631) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Ribbon']
IO - speech.speech.speak (03:49:40.876) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '“文件”选项卡']
IO - speech.speech.speak (03:49:40.898) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '快速访问工具栏']
IO - speech.speech.speak (03:49:40.925) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '保存 保存 (Ctrl+S)']
IO - speech.speech.speak (03:49:40.940) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '无法撤消 无法撤消 (Ctrl+Z)']
IO - speech.speech.speak (03:49:40.986) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '无法重复 无法重复 (Ctrl+Y)']
IO - speech.speech.speak (03:49:41.003) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '自定义快速访问工具栏']
IO - speech.speech.speak (03:49:41.032) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '\u202aSummary-with-table-test-case.docx\u202c  -  已保存到这台电脑 已保存到这台电脑']
IO - speech.speech.speak (03:49:41.052) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '引用']
IO - speech.speech.speak (03:49:41.095) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '字体']
IO - speech.speech.speak (03:49:41.112) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '缩小字体 缩小文字。']
IO - speech.speech.speak (03:49:41.129) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '字体']
IO - speech.speech.speak (03:49:41.138) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '更改大小写 将选定文本更改为大写、小写或其他常见的大写方式。']
IO - speech.speech.speak (03:49:41.178) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '字体']
IO - speech.speech.speak (03:49:41.204) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '更多选项 用亮色突出显示来让您的文本更加醒目。']
IO - speech.speech.speak (03:49:41.235) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '字体']
IO - speech.speech.speak (03:49:41.942) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Office 剪贴板... 查看已复制到剪贴板的所有项目。']
IO - speech.speech.speak (03:49:41.975) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '剪贴板']
IO - speech.speech.speak (03:49:42.007) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Ribbon']
IO - speech.speech.speak (03:49:42.114) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '“文件”选项卡']
IO - speech.speech.speak (03:49:42.144) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '剪切 删除所选内容并将其放到剪贴板上,以便您可以粘贴到其他地方。']
IO - speech.speech.speak (03:49:42.164) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '剪贴板']
IO - speech.speech.speak (03:49:42.189) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '下划线 为文字添加下划线。']
IO - speech.speech.speak (03:49:42.205) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), '字体']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:42.215) - MainThread (7664):
User does not want UIA in MS Word unless necessary
IO - speech.speech.speak (03:49:42.228) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Summary\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:42.728) - MainThread (7664):
User does not want UIA in MS Word unless necessary
IO - speech.speech.speak (03:49:42.955) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Summary\r']
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:43.296) - MainThread (7664):
User does not want UIA in MS Word unless necessary
DEBUG - UIAHandler.shouldUseUIAInMSWord (03:49:43.948) - MainThread (7664):
User does not want UIA in MS Word unless necessary
IO - inputCore.InputManager.executeGesture (03:49:44.479) - winInputHook (17480):
Input: kb(laptop):downArrow
DEBUG - editableText.EditableText._hasCaretMoved (03:49:44.506) - MainThread (7664):
Caret move detected using bookmarks. Elapsed 0 sec, retries 0
IO - speech.speech.speak (03:49:44.694) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'blank']
IO - inputCore.InputManager.executeGesture (03:49:45.144) - winInputHook (17480):
Input: kb(laptop):upArrow
DEBUG - editableText.EditableText._hasCaretMoved (03:49:45.164) - MainThread (7664):
Caret move detected using bookmarks. Elapsed 0 sec, retries 0
IO - speech.speech.speak (03:49:45.302) - MainThread (7664):
Speaking [LangChangeCommand ('en_US'), 'Summary']
IO - inputCore.InputManager.executeGesture (03:49:46.462) - winInputHook (17480):
Input: kb(laptop):NVDA+space
DEBUG - treeInterceptorHandler.update (03:49:46.463) - MainThread (7664):
Adding new treeInterceptor to runningTable: <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x0D82EFB0>
IO - inputCore.InputManager.executeGesture (03:49:47.476) - winInputHook (17480):
Input: kb(laptop):downArrow
IO - speech.speech.speak (03:49:47.733) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'page 1', 'section 1', 'blank']
IO - inputCore.InputManager.executeGesture (03:49:48.424) - winInputHook (17480):
Input: kb(laptop):upArrow
IO - speech.speech.speak (03:49:48.635) - MainThread (7664):
Speaking [LangChangeCommand ('en_US'), 'Summary']
IO - inputCore.InputManager.executeGesture (03:49:50.943) - winInputHook (17480):
Input: kb(laptop):]
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:51.449) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (03:49:55.018) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'No next same style text']
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:55.452) - watchdog (3456):
Recovered from potential freeze after 4.502795000000049 seconds.
IO - inputCore.InputManager.executeGesture (03:49:57.722) - winInputHook (17480):
Input: kb(laptop):downArrow
IO - speech.speech.speak (03:49:58.208) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'blank']
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:58.236) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:49:58.738) - watchdog (3456):
Recovered from potential freeze after 1.003313100000014 seconds.
IO - inputCore.InputManager.executeGesture (03:49:59.926) - winInputHook (17480):
Input: kb(laptop):downArrow
IO - speech.speech.speak (03:50:00.407) - MainThread (7664):
Speaking [LangChangeCommand ('en_US'), 'Professional experience']
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:00.428) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:00.929) - watchdog (3456):
Recovered from potential freeze after 1.0006435999999894 seconds.
IO - inputCore.InputManager.executeGesture (03:50:02.478) - winInputHook (17480):
Input: kb(laptop):]
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:02.990) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (03:50:04.042) - MainThread (7664):
Speaking [LangChangeCommand ('en_US'), 'Academic experience', LangChangeCommand ('zh_CN'), '\n']
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:04.492) - watchdog (3456):
Recovered from potential freeze after 2.0016794000000004 seconds.
IO - inputCore.InputManager.executeGesture (03:50:06.478) - winInputHook (17480):
Input: kb(laptop):]
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:06.992) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (03:50:07.350) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'page 2', LangChangeCommand ('en_US'), 'Projects and initiatives', LangChangeCommand ('zh_CN'), '\n']
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:07.494) - watchdog (3456):
Recovered from potential freeze after 1.0009797999999819 seconds.
IO - inputCore.InputManager.executeGesture (03:50:09.281) - winInputHook (17480):
Input: kb(laptop):]
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:09.790) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (03:50:10.806) - MainThread (7664):
Speaking [LangChangeCommand ('en_US'), 'Further knowledge', LangChangeCommand ('zh_CN'), '\n']
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:11.291) - watchdog (3456):
Recovered from potential freeze after 2.0011659000000463 seconds.
IO - inputCore.InputManager.executeGesture (03:50:12.561) - winInputHook (17480):
Input: kb(laptop):shift+]
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:13.076) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (03:50:13.710) - MainThread (7664):
Speaking [LangChangeCommand ('en_US'), 'Projects and initiatives', LangChangeCommand ('zh_CN'), '\n']
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:14.077) - watchdog (3456):
Recovered from potential freeze after 1.50129000000004 seconds.
IO - inputCore.InputManager.executeGesture (03:50:15.001) - winInputHook (17480):
Input: kb(laptop):shift+]
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:15.506) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
ERROR - scriptHandler.executeScript (03:50:15.711) - MainThread (7664):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x0D82EFB0>> with gesture 'shift+]'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "browseMode.pyc", line 567, in <lambda>
  File "browseMode.pyc", line 516, in _quickNavScript
  File "browseMode.pyc", line 2463, in _iterTextStyle
  File "browseMode.pyc", line 2326, in _expandStyle
  File "textInfos\__init__.pyc", line 794, in moveToCodepointOffset
RuntimeError: Unable to find desired offset in TextInfo.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:16.007) - watchdog (3456):
Recovered from potential freeze after 1.0007425000000012 seconds.
IO - inputCore.InputManager.executeGesture (03:50:17.740) - winInputHook (17480):
Input: kb(laptop):shift+]
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:18.248) - watchdog (3456):
Potential freeze, waiting up to 10 seconds.
ERROR - scriptHandler.executeScript (03:50:18.623) - MainThread (7664):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x0D82EFB0>> with gesture 'shift+]'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "browseMode.pyc", line 567, in <lambda>
  File "browseMode.pyc", line 516, in _quickNavScript
  File "browseMode.pyc", line 2463, in _iterTextStyle
  File "browseMode.pyc", line 2326, in _expandStyle
  File "textInfos\__init__.pyc", line 794, in moveToCodepointOffset
RuntimeError: Unable to find desired offset in TextInfo.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (03:50:18.749) - watchdog (3456):
Recovered from potential freeze after 1.0005365000000097 seconds.
IO - speech.speech.speak (03:50:20.616) - MainThread (7664):
Speaking [LangChangeCommand ('zh_CN'), 'Alpha numeric input']
IO - inputCore.InputManager.executeGesture (03:50:23.638) - winInputHook (17480):
Input: kb(laptop):NVDA+control+shift+f1

hwf1324 avatar May 12 '24 19:05 hwf1324

I tested with onkyo.docx in browse mode running from source. When in start of file: third next different style text gesture resulted error: File "browseMode.py", line 2321, in _expandStyle endIndex = startIndex + len(styles[i + 1]) ~~~~~~^^^^^^^ IndexError: list index out of range

First next same style gesture press resulted:

DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (23:14:42.543) - watchdog (4184): Potential freeze, waiting up to 10 seconds. ... DEBUGWARNING - scriptHandler.executeScript (23:14:52.155) - MainThread (7732): error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.. of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x03F6E4D0>> with gesture 'ä' Traceback (most recent call last): File "scriptHandler.py", line 295, in executeScript script(gesture) File "browseMode.py", line 558, in script = lambda self,gesture: self._quickNavScript(gesture, itemType, "next", nextError, readUnit) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "browseMode.py", line 516, in _quickNavScript item = next(iterFactory(direction, info)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "browseMode.py", line 2465, in _iterTextStyle if not self._moveToNextParagraph(paragraph, direction): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "browseMode.py", line 2358, in _moveToNextParagraph and paragraph.compareEndPoints(oldParagraph, "startToStart") <= 0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "treeInterceptorHandler.py", line 225, in compareEndPoints return self.innerTextInfo.compareEndPoints(other.innerTextInfo,which) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "NVDAObjects\window\winword.py", line 1009, in compareEndPoints diff=self.rangeObj.Start-other.rangeObj.Start ^^^^^^^^^^^^^^^^^^^^ File "monkeyPatches\comtypesMonkeyPatches.py", line 86, in new__getattr return comtypes.client.lazybind.Dispatch.__getattr__orig(self, name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\src\nvda.venv\Lib\site-packages\comtypes\client\lazybind.py", line 168, in getattr return self._comobj._invoke(descr.memid, descr.invkind, 0) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\src\nvda.venv\Lib\site-packages\comtypes\automation.py", line 807, in _invoke self.__com_Invoke(memid, riid_null, lcid, invkind, File "monkeyPatches\comtypesMonkeyPatches.py", line 38, in call raise exceptions.CallCancelled("COM call cancelled") from None exceptions.CallCancelled: COM call cancelled

When in end of file: both next (same/different) style gestures resulted error:

File "browseMode.py", line 558, in script = lambda self,gesture: self._quickNavScript(gesture, itemType, "next", nextError, readUnit) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "browseMode.py", line 516, in _quickNavScript item = next(iterFactory(direction, info)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "browseMode.py", line 2401, in iterTextStyle endInfo = paragraph.moveToCodepointOffset(len(styles[1])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "textInfos_init.py", line 756, in moveToCodepointOffset result.collapse(end=codepointOffset > 0) File "treeInterceptorHandler.py", line 234, in collapse return self.innerTextInfo.collapse(end=end) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "NVDAObjects\window\winword.py", line 1052, in collapse raise RuntimeError RuntimeError

burmancomp avatar May 12 '24 20:05 burmancomp

@ivnc, @XLTechie could you please test if this issue occurs for you? It is really important to have some test results from other users in order to be sure whether this feature works properly or if this needs to be reverted.

Yes, this is reproducible for me, no matter the gestures you assign to same and different style navigation actions, with UIA disabled. From the test document you provided, if I navigate through the same style from the heading "Professional experience", I can reach the end of the document, heading "Further knowledge", and then NVDA says "No next same style text". But, if I cycle backwards to reach the top of the document, after saying "Projects and initiatives" it starts throwing that error message. With regard to different style navigation, if I use it from an heading, I cannot reach the table below it (it throws the error message), but instead I can the blank line above in case of the first heading "Professional experience", in all other cases there are tables both above and below the heading and different style navigation apparently doesn't reach either of them, despite having a different style. From within any table, I can't reach the next heading, just after it, but I can the previous one, just before it. NVDA alpha-31858,2d865027, no add-ons. Windows 10 22H2 build 19045.4291 Microsoft® Word for Microsoft 365 MSO (version 2404 build 16.0.17531.20140)

Hope this helps. Error message (looks like the same as yours): ERROR - scriptHandler.executeScript (23:24:33.416) - MainThread (16012): error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.. of <NVDAObjects.window.winword.WordDocumentTreeInterceptor object at 0x0583E6D0>> with gesture 'shift+s' Traceback (most recent call last): File "scriptHandler.pyc", line 295, in executeScript File "browseMode.pyc", line 567, in File "browseMode.pyc", line 516, in _quickNavScript File "browseMode.pyc", line 2463, in _iterTextStyle File "browseMode.pyc", line 2326, in expandStyle File "textInfos_init.pyc", line 794, in moveToCodepointOffset RuntimeError: Unable to find desired offset in TextInfo.

ivnc avatar May 12 '24 21:05 ivnc

@Adriani90, I confirm it's related to #16448, so it's a problem of MSWord textInfo implementation. @burmancomp, Could you file a separate issue and tag me? This one I can fix.

mltony avatar May 12 '24 21:05 mltony

@burmancomp, Could you file a separate issue and tag me? This one I can fix.

To ensure: do you think I should open issue?

burmancomp avatar May 15 '24 20:05 burmancomp