Hi,
A refinement of #8405:
Background
Windows 10 Version 1809 (October 2018 Update) and later allows UIA to inform NVDA that a dialog window is present (via IsDialog property). However, there are window elements that are dialogs but UIA says they are not.
Steps to reproduce:
Without any add-ons running:
- Open Command Prompt or PowerShell with admin privileges.
- Type "shutdown /S /T 600" without quotes (to schedule a shutdown after ten minutes).
- Press Enter and observe NVDA's speech behavior.
Actual behavior:
NVDA does not announce shutdown dialog content.
Expected behavior:
NVDA announces dialog content.
NVDA logs, crash dumps and other attachments:
None
System configuration
NVDA installed/portable/running from source:
Installed
NVDA version:
alpha-29824,f32f38fa
Windows version:
Windows 11 23H2 beta (build 22635)
Name and version of other software in use when reproducing the issue:
None
Other information about your system:
None
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.
Yes - same behavior in earlier releases
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
Additional context:
Narrator announces dialog content.
Upon further investigation, the following algorithm is at fault:
- In NVDA UIA objects' find overlay classes method, NVDA first checks if IsDialog property can be obtained and says "true" (Windows 10 Version 1809 or later).
- If COM error is raised, NVDA falls back to comparing UIA class name against known dialog class names.
Therefore, refine the algorithm to check for both cases at once, only saying "no" when IsDialog property says False and class name is not listed in known dialog class names list. The worst case is if running Windows 10 1803 or earlier and dialog class name is not listed.
Thanks.
Hi,
A refinement of #8405:
Background
Windows 10 Version 1809 (October 2018 Update) and later allows UIA to inform NVDA that a dialog window is present (via IsDialog property). However, there are window elements that are dialogs but UIA says they are not.
Steps to reproduce:
Without any add-ons running:
Actual behavior:
NVDA does not announce shutdown dialog content.
Expected behavior:
NVDA announces dialog content.
NVDA logs, crash dumps and other attachments:
None
System configuration
NVDA installed/portable/running from source:
Installed
NVDA version:
alpha-29824,f32f38fa
Windows version:
Windows 11 23H2 beta (build 22635)
Name and version of other software in use when reproducing the issue:
None
Other information about your system:
None
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.
Yes - same behavior in earlier releases
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
Additional context:
Narrator announces dialog content.
Upon further investigation, the following algorithm is at fault:
Therefore, refine the algorithm to check for both cases at once, only saying "no" when IsDialog property says False and class name is not listed in known dialog class names list. The worst case is if running Windows 10 1803 or earlier and dialog class name is not listed.
Thanks.