Re: [orca-list] Announcements / live regions



Hi Vadim.

We definitely need something like what macOS has. In the meantime, Orca has a hack for non-web apps wanting to send a live-regiony message to Orca without corresponding UI:

Fire an object:state-changed:showing event on an object with the "notification" role which descends from an object with the "status bar" role.

The hack part is only the "status bar" ancestor (believe it or not. ;)). When the various and sundry notification daemons display notifications, those newly-shown notifications fire an object:state-changed:showing event on an accessible object with the "notification" role. But Orca doesn't present object:state-changed:showing events from objects which are not actually showing. (Orca sees all sorts of accessibility event garbage, so it has to do some sanity checks.) So we (some other app developer and I) needed a compromise in which Orca would be willing to present a not-actually-showing notification. The statusbar ancestor was what we came up with, and it's part of Orca's default script (i.e. as opposed to an app-specific script). So if this is something you can do on your end, I think it will JustWork(tm).

I'd be willing to work with you on other possible workarounds for the missing API.

HTH.
--joanie

On Mon, 2022-06-20 at 04:28 -1200, Vadim Peretokin via orca-list wrote:
Hi all,

I'm adding accessibility support to an open-source MUD client (https://github.com/Mudlet/Mudlet) which has two primary widgets: an input line to enter commands into and a text area where output of the commands goes. The text area can also receive other, unsolicited text and I need the accessibility framework to read such text out, even if the focus is not on the text area and is on the input line.

The web has solved this usecase - where changes from an unfocused widget need to be announced - with live regions. I'm looking to do something similar in a desktop, Qt 5 application. I've already solved this for macOS by implementing the NSAccessibilityAnnouncementRequestedNotification which allows VoiceOver read out any incoming text regardless of where the focus is.

I've done my best to research this and I see that the AT-SPI2 protocol lacks an event to perform any sort of announcement. Orca, if I understand this right, works around this base limitation by heuristically determining live regions and then reacting to the usual 'text changed' event.

Could I get a recommendation on how to proceed? I'd love to be able to support Linux users of my application in the right way.

Best,
Vadim
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]