Are unified Accessibility permissions for Wayland possible?
Good evening Fedora Accessibility Team,
I have been experimenting with Linux as a secondary OS for over 20 years, but recently I have started evaluating the feasibility of using Linux full-time on my primary device. One of the remaining uncertainties for me is how accessibility tools will work on Wayland-based desktops.
For some context of where I'm coming from: I use macOS day-to-day, and by default on the Mac, third-party apps cannot access information about the system or other apps, similar to Wayland. However, macOS has an 'escape hatch': A system toggle that allows people to grant accessibility permissions to apps they trust. These permissions allow trusted apps to access, modify, and automate lots of global state:
- the list of apps currently running,
- launching, activating, or closing other apps,
- getting and setting window positions, getting window names,
- getting and setting cursor position,
- ~~automated and simulated keyboard and mouse input~~ (perhaps [`libei`](https://gitlab.freedesktop.org/libinput/libei) will be sufficient)
- ~~enumeration, navigation, and operation of GUI and menu components inside apps~~ (I've been made aware that this is generally the job of `at-spi`)
- independent registration and recognition of global hotkeys
I turn on this toggle for a handful of tools that need the extra permissions to work. Examples use cases include custom window management, text expansion, automation involving inter-app communication, voice control, and hotkey debugging.
In the course of discussing the possibility of switching to Linux with the developer of a third-party accessibility tool I would like to use, they expressed their concern that current Wayland protocols do not provide sufficient access for their tool to work across all Wayland compositors in a manner similar to their current approach of targeting X11 as a whole and achieving a basic level of compatibility with all X11-based desktops as a result.
As a result of this conversation and my own research, I wanted to reach out to the Fedora Accessibility Team to see if y'all are open to discussing the needs of accessibility tools under Wayland desktops and to gauge the feasibility of developing a holistic protocol or API of some kind that would allow these kinds of accessibility tools to work across all Wayland compositors. If so, I am happy to facilitate a connection with the accessibility tool developer to start a more technical discussion here or elsewhere.
Thanks for your time!
remmah
[edited on 2023-11-05 with additional context based on further discussions with the developer]
issue