Notepad with tabs: speak when switching between tabs#14588
Conversation
|
Hi, I see. I understand that this works for speech users. Have you considered the braille experience? To bring the braille experience, call braille.handler.message and tell the braille output subsystem to print object name and position. Thanks. |
|
Fixed. Thanks. |
|
Hi, Turns out there is a more generalist solution that will work across apps, which will handle both Notepad and tabbed File Explorer (Windows App Essentials add-on will include a more generalist fix in March), the fix being defining a built-in UIA overlay class to handle XAML tab controls (one must be careful when defining conditions for locating tab controls). For now, I think this is ready for review by NV Access folks - I'm willing to yield #14574 so this pull request can be merged first. The only thing missing as of now is type information for the event handler caller (see appModules/lockapp.py on how it was done). Thanks. |
|
I agree a general solution would be better, but some XAML apps already announce tabs in some way, like windows terminal, so adding a general solution will cause double speaking. |
|
Hi, For Windows Terminal, the name of the tab is part of the focus announcement, hence double speaking when switching between them. This is not the case for tabbed Notepad and File Explorer. This was confirmed with both NVDA and Narrator. Thanks. |
|
@seanbudd, may I ask for a code review? I approve this PR but won't hurt for you to make the final decision. Getting this into 2023.1 would be fine, or we can wai until 2023.2 since tabbed Notepad won't make its way to folks using Windows 11 stable releases for some time (give several weeks). Thanks. |
josephsl
left a comment
There was a problem hiding this comment.
Thanks for this work - I think this is your first NVDA PR, and congraulations on the job well done.
See test results for failed build of commit 3789121c8b |
|
it seems there are merge conflicts. Could you resolve them? |
|
Waiting for #14622 to be merged. |
|
Hi, you don’t have to wait for my work to be merged – although there could be conflicts due to code positioning, they are independent unless this PR uses parts of the linked PR. Thanks.
|
|
@Mazen428 - that PR has been merged now, thanks for waiting |
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
…(22H2) (#14770) Closes #14388 Summary of the issue: Later revisions of Windows 11 22H2 (2022 Update) introduced tabbed File Explorer. At the moment NVDA does not announce tab names when switching to different tabs. Description of user facing changes NVDA will announce the name of the tab being switched to in Windows 11 2022 Update File Explorer. Description of development approach Similar to tabbed Notepad (#14588), use UIA element selected event handler to announce tab names. Unlike Notepad, speech should not be cut off to let NVDA announce focused item when File Explorer opens. Commits: * appModules/explorer: announce tab switches in Windows 11 2022 Update (22H2). Re #14388. Later revisions of Windows 11 2022 Update (22H2) introduces tabs to File Explorer, allowing users to press Control+Tab and Control+Shift+Tab to switch betwen tabs. Just like Notepad for Windows 11, UIA element selected event is fired when tab switching happens. Unlike Notepad implementation, speech will not be canceled (cut off) because doing so prevents announcement of list view items.
Link to issue number:
Closes #14587
Summary of the issue:
In recent notepad releases on windows 11 insider, notepad has gained the ability to open multiple files in the same window with tabs. When switching between tabs with control tab, NVDA does not the speak the currently selected tab or it has changed at all.
Description of user facing changes
When CTRL tab is pressed, the new tab name will be spoken, similar to web browsers.
Description of development approach
Implement behavior for UIA_elementSelected, if the object is a tab and is selected, speak it.
Testing strategy:
Created multiple tabs in notepad and switched between them.
Known issues with pull request:
None.
Change log entries:
Bug fixes
Code Review Checklist: