Skip to content

Support Outlook Date picker control in Outlook advanced Search dialog#14280

Merged
michaelDCurran merged 3 commits into
masterfrom
i12726
Oct 24, 2022
Merged

Support Outlook Date picker control in Outlook advanced Search dialog#14280
michaelDCurran merged 3 commits into
masterfrom
i12726

Conversation

@michaelDCurran

@michaelDCurran michaelDCurran commented Oct 23, 2022

Copy link
Copy Markdown
Member

Link to issue number:

Fixes #12726

Summary of the issue:

When focusing date picker controls in Microsoft Outlook's Advanced Search dialog, NVDA announces no label or value for the control, instead just announcing "edit blank".
NVDA currently accesses these RICHEDIT60W controls with MSAA / the RichEdit API. However, it seems that the UI Automation implementation is much richer, though for some reason these windows do not themselves report as having a UIA implementation (I.e. HasServersideProvider returns false).

Description of user facing changes

When focusing date picker controls in Microsoft Outlook's advanced search dialog, e.g. the date Received field, NVDA now reports the appropriate label and value of the control.

Description of development approach

In Outlook appModule's isGoodUIAWindow method, mark RICHEDIT60W windows as having a good UI Automation implementation in Outlook 2016+ / Windows 10+.

Testing strategy:

In Outlook 365 on Windows 11, open the Outlook Advanced search dialog by pressing control+e and tabbing to the Advanced search button and pressing enter, then tabbing 5 or so times to the Received date field, and ensuring that the label, and value if filled, is announced for the control. Note to fill the field, press downArrow to make the date picker appear and choose a date.

Known issues with pull request:

None known.

Change log entries:

New features
Changes
Bug fixes

  • The date picker controls in Outlook 2016 / 365 Advanced search dialog now report their label and value.
    For Developers

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • Security precautions taken.

…k 2016+ / Windows 10+. Allows better support for date picker controls and other modern richEdit controls in Outlook.
@michaelDCurran michaelDCurran requested a review from a team as a code owner October 23, 2022 06:42
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 1d2989912d

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 518f510638

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 518f510638

@michaelDCurran michaelDCurran changed the title Support Outlook Date picker control in Outtlook advanced Search dialog Support Outlook Date picker control in Outlook advanced Search dialog Oct 23, 2022
@michaelDCurran michaelDCurran merged commit cb603ef into master Oct 24, 2022
@michaelDCurran michaelDCurran deleted the i12726 branch October 24, 2022 01:01
@nvaccessAuto nvaccessAuto added this to the 2023.1 milestone Oct 24, 2022
michaelDCurran added a commit that referenced this pull request Apr 19, 2023
…d 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NVDA reading "edit blank" in date/time combo boxes in Outlook Desktop advanced search dialog

4 participants