top | item 39120699

(no title)

dave_universetf | 2 years ago

Worth noting that, like many immediate mode UIs, it seems to not integrate with OS accessibility infrastructure at all. That means any UI built with it will be a black box to anyone who needs accessibility tools like VoiceOver, text magnification, or semantic navigation.

Hopefully that's fixable :/

discuss

order

raphlinus|2 years ago

It should be. There's AccessKit integration in egui (the most prominent Rust immediate mode GUI implementation) now, thanks to Matt Campbell's work. I would welcome GPUI and Zed adopting that, and I'm sure Matt can offer help in getting it integrated.

mikaylamaki|2 years ago

Zed developer here, I've actually looked at how to implement AccessKit in Zed, though I couldn't find a quick way of jumping into it beyond 'read the egui PR' at the time. If anyone wants to take a stab at it I'd love to help out and make it happen :)

bartekpacia|2 years ago

> Hopefully that's fixable :/

It is, Flutter (which also draws all the UI on a canvas) already does that - it’s called AccessibilityBridge. The way it works is they hook into the native accessibility system and create virtual accessibility nodes with the same size and coordinates where the “widgets” are drawn. I think it’d be useful to create some common AccessibilityBridge-like library since more and more UI frameworks are taking the same approach as Flutter and GPUI.

iamnbutler|2 years ago

we absolutely want to make accessibility work – hopefully open source will give us a bit more wiggle room to have folks help us figure some of it out as well.