I recorded a quick demo of the current state of the Wayland-native accessibility stack I'm developing for @gnome (and eventually other free desktops), code-named Newton. In the demo, I run the GNOME Podcasts app on the Newton accessibility stack, using my GTK branch that integrates AccessKit. So in principle, the same app should also work on Windows, and soon, macOS. The demo was featured in the latest edition of This Week in GNOME: thisweek.gnome.org/posts/2024/… This work is funded by @sovtechfund.
like this
Peter Vágner reshared this.
Matt Campbell
in reply to Matt Campbell • • •Files · newton · Matt Campbell / orca · GitLab
GitLabPeter Vágner
in reply to Matt Campbell • •Peter Vágner
in reply to Peter Vágner • •@Matt Campbell Yes, I made it work by rebuilding affected @Arch Linux :archlinux: packages from your branches. Flat review, key echo, mouse actions are working fine with GTK4 apps such as gnome-calculator, gnome settings and similar. Even at this stage it's perfectly useable. Another bonus, The accesskit based GTK4 is also going to provide accessibility on windows. Am I understanding that right?
Things I have noticed so far:
* With at-spi2 based GTK4 GTK labels are mapped to the label role. With accesskit based implementation it's mapped to static.
* In nautilus when typing into the address bar with at-spi based implementation auto completions are reported as they are inserted. So text insertions / deletions are not yet available with accesskit I guess.
* When restarting orca and nautilus is the active window this newton based orca causes nautilus to freeze I guess.
Once again thanks for your dedication and awesome work.
Sonny likes this.
Matt Campbell
in reply to Peter Vágner • • •@pvagner Hi, thanks a lot for building and testing.
Yes, the GTK AccessKit branch is already working on Windows. And it shouldn't be hard to make it work on macOS; I just have to write a bit of platform-specific code and figure out how to build on that platform.
I need to look into the first two bug reports. As for the third one, about stopping and restarting Orca, I think that's actually the same issue I'm working on right now.
Peter Vágner likes this.
Peter Vágner
in reply to Matt Campbell • •For building GTK with accesskit on windows do you use msis2 or gvsbuild?
Matt Campbell
in reply to Peter Vágner • • •Peter Vágner likes this.
Matt Campbell
in reply to Matt Campbell • • •Peter Vágner
in reply to Matt Campbell • •Matt Campbell
in reply to Peter Vágner • • •@pvagner Would you please test it with your Newton installation and let me know how it compares?
By the way, with the GTK AccessKit branch, you can easily switch back to the AT-SPI backend by setting the GTK_A11Y environment variable to atspi
Matt Campbell
in reply to Matt Campbell • • •Peter Vágner
in reply to Matt Campbell • •Sonny likes this.
Matt Campbell
in reply to Peter Vágner • • •Peter Vágner likes this.
Matt Campbell
in reply to Matt Campbell • • •Peter Vágner likes this.
Peter Vágner
in reply to Matt Campbell • •Peter Vágner
in reply to Matt Campbell • •@Matt Campbell So I am back testing fractal and trying to compare how it performs with atspi and accesskit.
Matt Campbell
in reply to Peter Vágner • • •@pvagner Thanks for the feedback. I had no idea that a GtkLabel could have a caret. Should be easy to fix in my GTK AccessKit implementation.
As for the environment variable, the only way I know to set the variable would be to run the app from a terminal rather than starting it the normal way.
Matt Campbell
in reply to Peter Vágner • • •Matt Campbell
in reply to Peter Vágner • • •@pvagner Please rebuild the newton_atspi_compat Python package from the newton_consumer repository here: gitlab.gnome.org/mwcampbell/ne…
I moved the package so the low-level and high-level Newton consumer crates are consolidated in one repo. And since doing that move, I've pushed a couple of important fixes. Yes, I've updated my Orca README.
Matt Campbell / Newton consumer library · GitLab
GitLabPeter Vágner
in reply to Matt Campbell • •Matt Campbell
in reply to Peter Vágner • • •Matt Campbell
in reply to Peter Vágner • • •Peter Vágner
in reply to Matt Campbell • •@Matt Campbell I apologize for the delay.
Good news first:
And now the rest:
Matt Campbell
in reply to Peter Vágner • • •Peter Vágner
in reply to Matt Campbell • •Matt Campbell
in reply to Peter Vágner • • •Peter Vágner likes this.
Peter Vágner
in reply to Matt Campbell • •@Matt Campbell Thank you again, I've great news this time as well. After updating the newton_atspi_compat package the flat review with newton is working fine. With nautilus it started to work immediatelly when I've restarted orca with the updated newton_atspi_compat package in place. With fractal it started to work after restarting fractal.
Also I must say I have found my-self reporting a strange thing yesterday. I have mentioned I have tried gedit as a part of this testing however now I have realized gedit is a GTK3 app not GTK4.
When looking at gedit main window I can use orca's flat review to explore its toolbar including moving the mouse pointer and synthesizing mouse clicks. When doing the same thing with GTK4 apps such as nautilus or fractal the flat review is working great but emulating the mouse is not.
Excuse me for this mistake. I got it wrong.
And just now I have noticed another thing. I wanted to verify the mouse emulation features by running gtk-demo app which is GTK3 app too. I have tried to run gtk-demo from the gnome-terminal. As it has started I have noticed orca briefly reporting GTK demo however I can't focus its window. When holding down the alt key and pressing the tab key to cycle through the open windows, I can hear GTK Demo is part of the window switcher but when releasing both the keys that window is never brought to the foreground. When expanding activities from the gnome top pannel I can't locate GTK demo either. The very same thing has happened to me with an electron based app called losslesscut but originally I have assumed that was a momentarily thing related to electron but now when seeing it for the second time with a different toolkit I am wondering if this might be related to the mutter changes.
I am sorry for mentioning too many things. For some of these I am really unsure so if it's not relevant please ignore those parts.
Matt Campbell
in reply to Peter Vágner • • •@pvagner The next time you update, it's crucial that you update newton_atspi_compat (again from the newton_consumer repo), the AccessKit C bindings, and GTK all at the same time, and restart any running GTK 4 apps using the AccessKit backend before you restart Orca. I made a protocol-breaking change. Also, labels now have the correct role.
I'll look at your other reports later. Thanks again.
Peter Vágner
in reply to Matt Campbell • •Matt Campbell
in reply to Peter Vágner • • •Peter Vágner
in reply to Matt Campbell • •@Matt Campbell Yes with fractal this is the only issue that has left.
Related to the other thing that is not related to fractal Now I managed to find out downgrading GTK4 to the 4.14.4 as packaged in arch linux it helps with electron and GTK2 based apps not being focusable through the alt+tab window chooser.
Also have you noticed my post regarding nautilus and accessible name calculation I have posted to the orca list? This is not related to your work in any way so far. I am just wondering if accesskit wouldn't be able to make this part better than what we currently have while using atspi directly. In other words while calculating label of an accessible node should it walk its entire subtree?
Matt Campbell
in reply to Peter Vágner • • •Peter Vágner
in reply to Matt Campbell • •Peter Vágner
in reply to Peter Vágner • •Matt Campbell
in reply to Peter Vágner • • •Matt Campbell
in reply to Matt Campbell • • •Peter Vágner
in reply to Matt Campbell • •@Matt Campbell Yesterday I was running newton all day long. And all these tests were made with it. Today I am back to stable versions so far as I had to deal with inaccessible website about a hour ago.
I don't want to sound rude in any way but if I was able to do a little recap I can point out these issues related to newton prototype:
These are the things I am aware of.
If you need me to test something more thoroughly, please do let me know and I will try to do my best.
like this
Sonny and Vincent Tunru like this.
Matt Campbell
in reply to Peter Vágner • • •Peter Vágner likes this.
Sonny
in reply to Matt Campbell • • •Sonny
in reply to Sonny • • •Peter Vágner likes this.
Matt Campbell
in reply to Sonny • • •@sonny @pvagner Not sure if this is what you meant, but I asked about possible benefits of the Inkscape UI being accessible on Windows and macOS even if the canvas itself isn't accessible, and I got this reply: mas.to/@ChanceyFleet/112282476…
And yes, blind people (relatively few for now) do work with SVG. See blindsvg.com/ and this article: technologyreview.com/2023/06/1…
How tactile graphics can help end image poverty
Chancey Fleet (MIT Technology Review)Matt Campbell
in reply to Matt Campbell • • •Matt Campbell
in reply to Sonny • • •@pvagner You mentioned that you'd soon be able to recommend Fractal to blind Windows users. Does this mean that you expect Fractal to be more accessible than other Matrix clients on Windows?
@sonny
Peter Vágner
in reply to Matt Campbell • •The Matrix.org Foundation likes this.
Matt Campbell
in reply to Peter Vágner • • •Peter Vágner
in reply to Matt Campbell • •Joëlle
in reply to Matt Campbell • • •Matt Campbell
in reply to Joëlle • • •Jason J.G. White likes this.
Matt Campbell
in reply to Matt Campbell • • •Jason J.G. White likes this.
Joëlle
in reply to Matt Campbell • • •Jason J.G. White
in reply to Matt Campbell • • •Matt Campbell
in reply to Jason J.G. White • • •Jason J.G. White likes this.