Windows 11 Notepad: announce status bar if shown (#13690)
Fixes #13688
Summary of the issue:
With the redesigned Windows 11 Notepad, users cannot obtain statsu bar information.
Description of how this pull request fixes the issue:
Introduce a new Windows 11 Notepad app module (notepad.exe). With the new UI design, status bar cannot be obtained as in prior Notepad releases. Thankfully it is possible to traverse the UIA tree to obtain the status bar object from a specific child element position (this is because child elements have the same UIA class name). Also, status bar is shown if focused on the document window (rich edit) and enabled from view menu.
* appModules/Notepad (Windows 11): add a new Notepad module for Windows 11 that allows NVDA to announce status bar text if shown. Re #13688.
Introduce a new Windows 11 Notepad app module (notepad.exe). With the new UI design, status bar cannot be obtained as in prior Notepad releases. Thankfully it is possible to traverse the UIA tree to obtain the status bar object from a specific child element positiion (this is because child elements have the same UIA class name). Also, statsu bar is shown if focused on the document window (rich edit) and enabled from view menu.
* appModules/notepad: add an explanation about status bar index. Re #13688.
Advised by Sean Budd (NV Access): add an explanation and a variable about Notepad 11 status bar (look for a specific UIA element (child of the foreground window) that hosts status bar text if visible).
* appModules/notepad: add docstring for status bar method. Re #13688.
Advised by Sean Budd (NV Access): add a docstring for status bar retrieval method to highlight:
* The need for this routine
* Needing to check status bar child position whenver Notepad is updated (Windows 11 NOtepad is updated through Microsoft Store as opposed to being tied to a specific Windows release).
* appModules/notepad: add a note about api.getStatusBar behavior. Re #13688.
Advised by Sean Budd (NV Access): should the app module method fail (and raise NotImplementedError), api.getStatusBar will resort to position lookup, therefore document this aspect.
* update changes
Co-authored-by: Sean Budd <sean@nvaccess.org>