2.1 KiB
Screen readers
Since: 25.08
Niri has basic support for screen readers (specifically, Orca) when running as a full desktop session, i.e. not as a nested window.
We implement the org.freedesktop.a11y.KeyboardMonitor
D-Bus interface for Orca to listen and grab keyboard keys, and we expose the main niri UI elements via AccessKit.
Specifically, niri will announce:
- workspace switching, for example it'll say "Workspace 2";
- the exit confirmation dialog (appears on SuperShiftE by default);
- entering the screenshot UI and the overview (niri will say when these are focused, nothing else for now);
- whenever a config parse error occurs;
- the important hotkeys list (for now, as one big announcement without tab navigation; appears on SuperShift/ by default).
Make sure Xwayland works, then run orca
.
The default config binds SuperAltS to toggle Orca, which is the standard key binding.
Note that we don't have an Alt-Tab window switcher yet (it's in the works), and we also don't have a bind to move focus to layer-shell panels.
If you're shipping niri and would like to make it work better for screen readers out of the box, consider the following changes to the default niri config:
- Change the default terminal from Alacritty to one that supports screen readers. For example, GNOME Console or GNOME Terminal should work well.
- Change the default application launcher and screen locker to ones that support screen readers. Suggestions welcome! Likely, something GTK-based will work fine.
- Add some
spawn-at-startup
command that plays a sound which will indicate to users that niri has finished loading. - Add
spawn-at-startup "orca"
to run Orca automatically at niri startup.
Desktop zoom
There's no built-in zoom yet, but you can use third-party utilities like wooz.