Skip to content

Conversation

@C-Loftus
Copy link

@C-Loftus C-Loftus commented Nov 7, 2025

As mentioned in #633 I think it is useful to add a few extra examples for Unix / atspi that work with Orca

This PR adds a simple headless example that shows how to present an announcement to the user.
It is deliberately very simple and contains lots of comments. This example was tested and works with Orca on both Wayland and X11. For future reference I am using
Orca version 49.beta (rev ba5093db7), AT-SPI2 version: 2.52.0, Session: x11 ubuntu-xorg

I am contributing this first before any other more complicated x11 or wayland examples to show very clearly the minimum amount of code needed for Orca to work with accesskit and to keep it as simple as possible without bringing in x11 or wayland specific code. The latter could be done in a follow up PR.

@C-Loftus
Copy link
Author

Hey @DataTriny no rush but I just wanted to check if this example still reasonable or would you like any edits? I think it would be great to add a few Unix examples slowly but surely.

Thanks!

@DataTriny
Copy link
Member

Hi @C-Loftus and sorry for not replying earlier. As I said in #633, I'd be willing to take an example demonstrating integration with Wayland or X11, but not a headless program.

Also keep in mind that AccessKit audience is primarily cross-platform UI toolkit developers, our mission is not to document AT-SPI. Examples for the Unix adapter should focus on showing the pattern to integrate with the windowing layer, with as little distraction as possible. Our Windows and winit examples only contain a very basic AccessKit tree and it is on purpose. I would expect the same here.

Thanks.

@DataTriny
Copy link
Member

Actually I already have a X11 example somewhere that is nearly complete. Would you be interested in offering one for Wayland?

@C-Loftus
Copy link
Author

Thank you for your response.

Also keep in mind that AccessKit audience is primarily cross-platform UI toolkit developers, our mission is not to document AT-SPI.

That makes sense and I think I am on the same page. I don't believe I have any comments related to AT-SPI in here but if I do and you would like any changes in that front, let me know and I'd be happy to edit.

My rationale for first contributing a headless example was that:

  1. There are many programs on Linux that are headless that want to implement accessibility in how they present messages to the user and don't necessarily have windows; for instance compositors, notification programs, etc.
  2. I personally feel it might be confusing to have an x11 example or wayland example without having a minimal example that shows just what accesskit itself does and how it works without pulling in external libraries. I think there is value in this particularly since the headless example will work on both wayland and x11 and isn't coupled as tightly.

Some of my initial motivation for this example came from looking through the niri codebase but being confused on what was coming from other libraries vs accesskit.

Actually I already have a X11 example somewhere that is nearly complete. Would you be interested in offering one for Wayland?

I am certainly also in favor of x11/wayland examples and would be happy to look into wayland when I have some time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants