The RDAccess add-on (Remote Desktop Accessibility) adds support for Microsoft Remote Desktop, Citrix, or VMware Horizon remote sessions to NVDA. When installed on both the client and the server in NVDA, speech and braille generated on the server will be spoken and displayed in braille on the client machine. This enables a user experience where managing a remote system feels as seamless as operating the local system.
winAPI.secureDesktop.post_secureDesktopStateChange
.winAPI.secureDesktop.post_secureDesktopStateChange
extension point. #12Initial stable release.
After installation, the RDAccess add-on can be configured using NVDA's settings dialog, accessible from the NVDA Menu by choosing Preferences > Settings... Then, choose the Remote Desktop category.
This dialog contains the following settings:
This list of checkboxes controls the operating mode of the add-on. Choose between:
To ensure a smooth start with the add-on, all options are enabled by default. However, you are encouraged to disable server or client mode as appropriate.
This option is only available in server mode. It ensures that the connection will automatically be re-established when the Remote Speech synthesizer is active and the connection is lost, similar to braille display auto-detection.
This option is enabled by default. It is strongly encouraged to leave this option enabled if the Remote Desktop server has no audio output.
When enabled in the client, this option allows you to control driver settings (such as synthesizer voice and pitch) from the remote system. Changes made on the remote system will automatically reflect locally.
This client option, available on installed copies of NVDA, ensures that the client portion of NVDA is loaded in your remote desktop client even when NVDA is not running.
To use the client portion of RDAccess, changes need to be made in the Windows Registry. The add-on ensures that these changes are made under the profile of the current user, requiring no administrative privileges. Therefore, NVDA can automatically apply the necessary changes when loaded and undo these changes when exiting NVDA, ensuring compatibility with portable versions of NVDA.
This option is disabled by default. However, if you are running an installed copy and you are the only user of the system, it is advised to enable this option for smooth operation when connecting to a remote system after NVDA starts.
This option, enabled by default, ensures that the client portion of RDAccess is loaded in the Microsoft Remote Desktop client (mstsc) when starting NVDA. Changes made through this option will be automatically undone when exiting NVDA unless persistent client support is enabled.
This option, enabled by default, ensures that the client portion of RDAccess is loaded in the Citrix Workspace app when starting NVDA. Changes made through this option will be automatically undone when exiting NVDA unless persistent client support is enabled.
This option is available only under the following conditions:
There are important points to note when using RDAccess with the Citrix Workspace app:
In Citrix Virtual Apps and Desktops 2109, Citrix enabled the so-called virtual channel allow list, restricting third-party virtual channels, including the channel required by RDAccess, by default. For more information, see this Citrix blog post.
Explicitly allowing the RdPipe channel required by RDAccess is not yet tested. For now, it is best to disable the allow list altogether. If your system administrator has concerns, feel free to address the issue here.
To report an issue or contribute, refer to the issues page on Github.
This add-on relies on RD Pipe, a library written in Rust backing the remote desktop client support. RD Pipe is redistributed as part of this add-on under the terms of version 3 of the GNU Affero General Public License.
[[!tag dev beta]]