nvaccess / nvda

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

MS Excel: NVDA does not announce dropdown values. #15273

Closed gauravahir28 closed 1 year ago

gauravahir28 commented 1 year ago

Steps to reproduce:

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

NVDA 2023.2 - Beta 2.

Windows version:

Windows 11

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

Microsoft® Excel® for Microsoft 365 MSO (Version 2307 Build 16.0.16626.20170) 64-bit

Other information about your system:

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.

same with NVDA 2023.1

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

Yes

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

Yes

Adriani90 commented 1 year ago

I cannot reproduce this issue. How did you enter the values in the dropdown menu? Did you use coma to separate them? or did you use semicolon?

When I create a dropdown list via data validation dialog, NVDA does recognize the values properly without extra noisy reporting. UIA is disabled.

Adriani90 commented 1 year ago

With UIA enabled it works as expected as well.

Did you make sure the window is maximized?

gauravahir28 commented 1 year ago

@Adriani90 - I tried again, still not working at my end! Attaching the sample excel file! The dropdown is inserted on "C1" cell.

NVDA_Dropdown_Test.xlsx

gauravahir28 commented 1 year ago

Here is the NVDA log I managed to retrieve:

INFO - __main__ (12:59:35.112) - MainThread (8900):
  Starting NVDA version 2023.2beta3
  INFO - core.main (12:59:35.159) - MainThread (8900):
  Config dir: C:\Users\GauravAhir\AppData\Roaming\nvda
  INFO - config.ConfigManager._loadConfig (12:59:35.163) - MainThread (8900):
  Loading config: C:\Users\GauravAhir\AppData\Roaming\nvda\nvda.ini
  INFO - core.main (12:59:35.446) - MainThread (8900):
  Windows version: Windows 11 22H2 (10.0.22621) workstation AMD64
  INFO - core.main (12:59:35.447) - MainThread (8900):
  Using Python version 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:01:55) [MSC v.1900 32 bit (Intel)]
  INFO - core.main (12:59:35.447) - MainThread (8900):
  Using comtypes version 1.1.11
  INFO - core.main (12:59:35.447) - MainThread (8900):
  Using configobj version 5.1.0 with validate version 1.0.1
  INFO - core.main (12:59:35.504) - MainThread (8900):
  Add-ons are disabled. Restart NVDA to enable them.
  ERROR - synthDriverHandler.setSynth (12:59:35.516) - MainThread (8900):
  setSynth failed for ibmeci
  Traceback (most recent call last):
  File "synthDriverHandler.pyc", line 470, in setSynth
  File "synthDriverHandler.pyc", line 433, in getSynthInstance
  File "synthDriverHandler.pyc", line 395, in _getSynthDriver
  File "importlib\__init__.pyc", line 127, in import_module
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
  ModuleNotFoundError: No module named 'synthDrivers.ibmeci'
  INFO - synthDriverHandler.setSynth (12:59:35.533) - MainThread (8900):
  Searching for next synthDriver
  INFO - synthDriverHandler.findAndSetNextSynth (12:59:35.534) - MainThread (8900):
  Falling back to next synthDriver oneCore
  INFO - NVDAHelperLocal (12:59:35.537) - MainThread (8900):
  Thread 8900, build\x86\localWin10\oneCoreSpeech.cpp, ocSpeech_initialize, 215:
  ocSpeech_initialize

  INFO - NVDAHelperLocal (12:59:35.537) - MainThread (8900):
  Thread 8900, build\x86\localWin10\oneCoreSpeech.cpp, OcSpeechState::activate, 89:
  Activating

  INFO - NVDAHelperLocal (12:59:35.578) - MainThread (8900):
  Thread 8900, build\x86\localWin10\oneCoreSpeech.cpp, preventEndUtteranceSilence_, 443:
  AppendedSilence supported

  INFO - synthDriverHandler.setSynth (12:59:35.585) - MainThread (8900):
  Loaded synthDriver oneCore
  WARNING - mathPres.initialize (12:59:35.592) - MainThread (8900):
  MathPlayer 4 not available
  INFO - core.main (12:59:35.592) - MainThread (8900):
  Using wx version 4.1.1 msw (phoenix) wxWidgets 3.1.5 with six version 1.16.0
  INFO - brailleInput.initialize (12:59:35.593) - MainThread (8900):
  Braille input initialized
  INFO - braille.initialize (12:59:35.593) - MainThread (8900):
  Using liblouis version 3.25.0
  INFO - braille.initialize (12:59:35.593) - MainThread (8900):
  Using pySerial version 3.5
  INFO - braille.BrailleHandler._setDisplay (12:59:35.596) - MainThread (8900):
  Loaded braille display driver 'noBraille', current display has 0 cells.
  INFO - core.main (12:59:35.707) - MainThread (8900):
  Java Access Bridge support initialized
  INFO - UIAHandler.UIAHandler.MTAThreadFunc (12:59:35.763) - UIAHandler.UIAHandler.MTAThread (8448):
  UIAutomation: IUIAutomation6
  INFO - NVDAHelperLocal (12:59:35.838) - UIAHandler.UIAHandler.MTAThread (8448):
  Thread 8448, build\x86\UIARemote\UIARemote.cpp, initialize, 145:
  Registered C:\Program Files (x86)\NVDA\lib\2023.2beta3\Microsoft.UI.UIAutomation.dll.manifest

  INFO - NVDAHelperLocal (12:59:35.838) - UIAHandler.UIAHandler.MTAThread (8448):
  Thread 8448, build\x86\UIARemote\UIARemote.cpp, initialize, 150:
  Microsoft.UI.UIAutomation is available

  INFO - core.main (12:59:35.868) - MainThread (8900):
  NVDA initialized
  ERROR - eventHandler.executeEvent (12:59:43.660) - MainThread (8900):
  error executing event: typedCharacter on <NVDAObjects.UIA.excel.ExcelCell object at 0x092233B0> with extra args of {'ch': '\x1b'}
  Traceback (most recent call last):
  File "eventHandler.pyc", line 325, in executeEvent
  File "eventHandler.pyc", line 115, in __init__
  File "eventHandler.pyc", line 124, in next
  File "NVDAObjects\__init__.pyc", line 1191, in event_typedCharacter
  File "speech\speech.pyc", line 1131, in speakTypedCharacters
  File "api.pyc", line 337, in isTypingProtected
  File "baseObject.pyc", line 62, in __get__
  File "baseObject.pyc", line 168, in _getPropertyViaCache
  File "NVDAObjects\__init__.pyc", line 1068, in _get_isProtected
  File "baseObject.pyc", line 62, in __get__
  File "baseObject.pyc", line 168, in _getPropertyViaCache
  File "NVDAObjects\UIA\excel.pyc", line 364, in _get_states
  File "baseObject.pyc", line 62, in __get__
  File "baseObject.pyc", line 168, in _getPropertyViaCache
  File "NVDAObjects\UIA\__init__.pyc", line 1427, in _get_selectionContainer
  File "comtypes\__init__.pyc", line 278, in __getattr__
  File "monkeyPatches\comtypesMonkeyPatches.pyc", line 32, in __call__
  _ctypes.COMError: (-2146233083, None, (None, None, None, 0, None))
  INFO - globalCommands.script_navigatorObject_devInfo (12:59:43.751) - MainThread (8900):
  Developer info for navigator object:
  name: ''
  role: Role.TABLECELL
  processID: 2960
  roleText: None
  states: exception: (-2146233083, None, (None, None, None, 0, None))
  isFocusable: exception: (-2146233083, None, (None, None, None, 0, None))
  hasFocus: False
  Python object: <NVDAObjects.UIA.excel.ExcelCell object at 0x092233B0>
  Python class mro: (<class 'NVDAObjects.UIA.excel.ExcelCell'>, <class 'NVDAObjects.UIA.excel.ExcelObject'>, <class 'NVDAObjects.UIA.UIA'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <class 'garbageHandler.TrackedObject'>, <class 'object'>)
  description: exception: (-2146233083, None, (None, None, None, 0, None))
  location: None
  value: exception: (-2146233083, None, (None, None, None, 0, None))
  TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
  appModule: AppModule(excel, appName='excel', processID=2960)
  appModule.productName: 'Microsoft Office'
  appModule.productVersion: '16.0.16626.20170'
  appModule.helperLocalBindingHandle: c_long(126057424)
  windowHandle: 1181582
  windowClassName: 'EXCEL7'
  windowControlID: 0
  windowStyle: 1460338688
  extendedWindowStyle: 0
  windowThreadID: 10128
  windowText: 'NVDA_Dropdown_Test.xlsx'
  displayText: exception: cannot unpack non-iterable NoneType object
  UIAElement: <POINTER(IUIAutomationElement) ptr=0x3b206c8 at e974e0>
  UIA automationID: Exception: (-2146233083, None, (None, None, None, 0, None))
  UIA frameworkID: 
  UIA runtimeID: (42, 1181582, 4, 34)
  UIA providerDescription: [pid:2960,providerId:0x0 Main(parent link):Unidentified Provider (unmanaged:mso.dll)]
  UIA className: Exception: (-2146233083, None, (None, None, None, 0, None))
  UIA patterns available:
XLTechie commented 1 year ago

Hello

Please, when posting logs, set your log level to "debug" in general settings. The info level that you're using often doesn't contain enough information.

Please also attach the log by pressing the browse button between the comment edit box and the comment submit button, and attaching it as a .txt file, instead of pasting it in to a comment, which makes it hard to read for some.

Lastly, it's better to disable add-ons before generating the log, so that the log isn't polluted from side effects of add-ons, like the broken IBM TTS errors in the log you posted.

gauravahir28 commented 1 year ago

Attaching the log as suggested above by @XLTechie Hope this helps! With UIA for excel Enabled: NVDA_log.txt With UIA for Excel disabled: NVDA_Log_Without_UIA.txt

seanbudd commented 1 year ago

closing as a duplicate of #15138