nvda
03c31e5b - Use UI automation for RICHEDIT60W in Microsoft Excel on Windows 10 and above (#14839)

Commit
2 years ago
Use UI automation for RICHEDIT60W in Microsoft Excel on Windows 10 and above (#14839) Found when investigating #5221 Fixes #6871 Fixes #11512 Though both of these issues had already been avoided in Outlook 2016+ by #14280 Summary of the issue: When arrowing through a password in the password field in the Protect Sheet dialog in Microsoft Excel (alt h o p), NVDA produces an error and says nothing. Similarly, when tabbing to that control and the cursor is already on a password character, NVDA produces an error and the focus is not announced at all. Description of user facing changes NVDA no longer fails to announce the focus when tabbing to the password field in Excel's Protect sheet dialog. Description of development approach 1. In the ITextDocument TextInfo's text property: catch COMError when calling range.text. This can occur when the edit control is protected. Just log a debugWarning and return the empty string - there is nothing else we can do about this error. This allows NVDA to announce the focus without an error. And when arrowing through the characters, 'blank' will be spoken rather than an error, which is better than nothing. 2. In the appModule for Excel: treat RICHEDIT60W windows as having a good UI automation implementation if on Windows 10 or higher and Office 2016 or higher. Office 2016 on Win 10+ has a very good UI automation implementation for RICHEDIT60W, which includes being able to fetch 'circle' characters when arrowing through a password. So in summary, on Office 2016 win10+ the error is gone and NvDA can announce 'circle' when arrowing through password characters in the Protect sheet dialog. On older versions of Office / Windows, the error is gone, though NVDA will announce 'blank' when arrowing through password characters.
Parents
Loading