-
-
Notifications
You must be signed in to change notification settings - Fork 662
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
#4390 - The initial request for "NVDA Remote functionality Summary of the issue: This PR integrates NVDA Remote functionality into core with significant architectural improvements and modernization. While maintaining protocol compatibility with the existing add-on, it introduces cleaner architecture, type safety, proper event handling, and improved maintainability. Description of user facing changes Adds a new "Remote" submenu under NVDA's Tools menu with options to: Connect to another computer Disconnect from remote session Mute remote speech Push clipboard content Copy connection link Send Ctrl+Alt+Del New remote settings panel in NVDA Settings dialog with options for: Auto-connect on startup Host/client configuration Connection type (control/be controlled) Server address and port settings Connection key management Audio feedback preferences New keyboard shortcuts for remote control (note these are defaults and can all be changed): F11 to toggle between local and remote control NVDA+Alt+C to push clipboard NVDA+Alt+PageDown to disconnect NVDA+Alt+M to toggle remote mute Audio cues and visual feedback for connection events Comprehensive user documentation added to NVDA User Guide Description of development approach The implementation follows a modular architecture: Core Components: Remote client with session management Secure transport layer using SSL/TLS Protocol serialization for message passing Relay server infrastructure for connection brokering Integration Points: Hooks into NVDA's speech, braille and input subsystems UI integration via wx menu items and dialog boxes Extension point handling for event propagation Secure desktop support for UAC dialogs Added remaining extension points Security Considerations: SSL certificate validation and fingerprint verification Channel-based authentication The code has been ported from the nvdaremote/nvdaremote repository and significantly improved from the version most-recently deployed. Testing strategy:
- Loading branch information
Showing
52 changed files
with
6,119 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
495dee3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this comment will probably be deleted, but what they just created is unnecessary, knowing that there was already a free code plugin for this that could have been modified:
What they should improve is web navigation, and more so with elements that do not have a labeled description.
It is not possible that today, nvda cannot describe elements without a label in web navigation, when jaws does it perfectly.
495dee3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi,
I see. However, you may have noticed this, but Remote Access (just merged) is the latest in a series of add-ons with features incorporated into NVDA. Also, Remote Access received funding from the community for its development.
As for comparing NVDA features with JAWS, did you know that Tandem, a JAWS feature, inspired Remote Access?
As for web element description, this depends on the attitudes of the web author, frameworks used, and the web browser in use. Also, we can't just compare with JAWS here - try with Narrator (and its scan mode) and see if that also makes a difference.
Thanks.
495dee3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@josephsl
Sadly NVDA Access is investing in unnecessary things like Braille support that almost no one uses:
Also, I think the sad thing is that with the forms NVDA Access has created, most people don't even take the time to read the questions and just answer for the sake of answering.
Jaws can describe any kind of item that doesn't have a label and it does so almost instantly:
I know Jaws has remote support and honestly I've never liked using Jaws reader:
I only mentioned it because Jaws is the only one that can describe labels:
As for Windows Narrator, it's not worth mentioning as Microsoft is quite behind in accessibility when it comes to screen readers.
495dee3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi,
I see. A few points:
Therefore, in light of my statements above, I seriously advise reconsidering some of your notes. In summary, it is true that NVDA lacks in some areas, but the commit we are commenting on deals with a feature request that was crowd funded, developed into an add-on, and in the end, NV Access and the add-on author collaborating on bringing this feature to NVDA. And remote access is not the first, nor the last add-on feature to become part of NVDA; for reference, here are features from add-ons (some of which folks might not find it useful as a screen reader feature) that became part of NVDA:
As for reading items better, I'm sure NVDA GitHub repo has issues for them, and I advise looking up issues. As for GitHub forms and filling out templates, it is true that not all NVDA users contribute to GitHub for various reasons (including forms), but those who do contribute does so because having something is better than nothing even done so through representatives (like this very conversation we are having where some people may read our comments as two reps from different camps having a dialogue).
Finally, here is my two cents: commenting about a tangent topic (talking about label announcement when we are talking about a feature just merged) may not be a good use of commit comments - broad statements and requests like NVDA not doing something another screen reader does better could be a conversation starter on a new GitHub issue/discussion.
Hope this makes sense. Thanks.
495dee3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@josephsl
Hi friend, how are you? I appreciate your comment and of course I really appreciate what NVDA Access is doing. However, given the years that have passed, I think both NVDA Access and some developers should prioritize improving web browsing and accessibility, since in many cases when reading some elements, it does not separate them in the same way as Jaws. Also, I think Jaws has become more accessible in many applications.
On the other hand, although Windows Narrator has improved, NVDA still offers lower latency when scrolling through each element.
I think compatibility and accessibility should be a priority for different applications before implementing new features.
495dee3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please start a GitHub discussion thread, commit comments are not a good place for providing general feedback. They are easily lost and not really discoverable