| |
| ▲ | tensor a day ago | parent | next [-] | | Yes, see: https://github.com/longbridge/gpui-kit. I've been following these rust UI toolkits and things like accessibility have consistently been missing. This is the first time I've seen a UI library that appears complete enough to build a real product with. | | |
| ▲ | ethin a day ago | parent [-] | | Yeah, that's what worries me. Pretty much every Rust UI library I've seen which isn't wxdragon/Relm/GTK lacks accessibility. And most of them don't even have the primitives for it (given that most of them are abandoned). | | |
| ▲ | ecshafer a day ago | parent | next [-] | | This response doesn't make sense? GP you asked if there is accessibility
P response: yes, here
You then respond that worries you and dismiss the proof? | | |
| ▲ | ethin a day ago | parent [-] | | > This response doesn't make sense? Apologies. I was noting that the lack of accessibility worried me (well, and weird accessibility breakage too). | | |
| ▲ | rat9988 16 hours ago | parent [-] | | You are dismissing again the answer you are getting. Why do you think it is lacking accessibility despite using a framework claiming " GPUI Kit ships 75+ documented components and primitives, WebAssembly support, AccessKit accessibility" | | |
| ▲ | d1sxeyes 14 hours ago | parent | next [-] | | To be clear, GPUI Kit is not the same as GPUI. I am not sure if Discord is using GPUI Kit, but accessibility natively is possible with either. It's reasonable to be concerned that Discord may not have focused on accessibility while rewriting. It's less reasonable to be concerned that it may be impossible to write accessible apps using GPUI, as that is now possible (https://github.com/zed-industries/zed/blob/main/crates/gpui/...) although this is a fairly recent addition. It's also less reasonable to assume that an app made with GPUI Kit will automatically be accessible. You still need to put effort into it. | | |
| ▲ | somenameforme 9 hours ago | parent [-] | | I don't know why people are ignoring the pink elephant here. For medium scale projects, like a Discord app is going to be, LLMs are now at a superhuman level of competence, including on higher level architectural/structural type decisions. I would be beyond surprised if the rewrite wasn't largely done by Claude (or similar). And in this context accessibility is also just a prompt away, if it wasn't included from the get-go, which it probably would have been. | | |
| ▲ | ethin 8 hours ago | parent [-] | | Accessibility isn't just something you one-shot. It takes a lot of back-and-forth and testing with actual screen readers/accessibility scanning tools to be good. |
|
| |
| ▲ | ethin 8 hours ago | parent | prev [-] | | I'm not dismissing it, just uncertain how good it is. Quality over quantity and all that. You can have 75 or 100 or 200 UI components and some can be perfectly accessible while others might not be even things accesskit supports right now. Or Accesskit may only partially support a widget. As I've said downthread, I'm hoping that Discord using a UI toolkit like this will cause upstream effects with respect to Accesskit coverage, so we'll have to see when they start migrating people over to it. |
|
|
| |
| ▲ | marcprux a day ago | parent | prev | next [-] | | This is exactly why I started working on Day (https://daybrite.dev) as a successor to Skip (https://skip.dev). It uses platform-native toolkits everywhere, and so accessibility comes for free. I haven't exactly "launched" it yet, but I'm already shipping apps through the App/Play Stores. See https://daybrite.dev/showcase/ for the 5-minute tour. | | |
| ▲ | tommica 17 hours ago | parent [-] | | Oh that looks fricking neat! Might wanna port my little diff-tool to this for funsies! |
| |
| ▲ | nextaccountic a day ago | parent | prev | next [-] | | It was real world use by COSMIC that motivated Iced to add a11y support in the first place So Discord using gpui could mean it may get the needed features | | |
| ▲ | Klonoar 9 hours ago | parent | next [-] | | COSMIC runs a fork of iced and things don’t make it back upstream nearly fast enough due to the one-maintainer-bus-factor. You can’t exactly lump them together. | |
| ▲ | tensor a day ago | parent | prev [-] | | I don't understand. You can do accessibility with GPUI today. I linked a repo that shows how. | | |
| ▲ | ethin a day ago | parent [-] | | Yes, and this is good progress (my comment downthread was before I just looked). According to it it uses accesskit, which is quite good already but still in development so accessibility would not be as good as using UIA directly. I am hopeful though that accesskit (which is also used in Godot) will keep getting better and these gaps can be closed. | | |
| ▲ | tensor a day ago | parent [-] | | Yeah, and big products like discord using them should help push that along. |
|
|
| |
| ▲ | selfmodruntime 6 hours ago | parent | prev [-] | | Turns out the browser (electron) wasn‘t always horrible after all. |
|
| |
| ▲ | the__alchemist a day ago | parent | prev | next [-] | | This is one angle. I do not see it as a deal breaker in the way you phrase it. I suppose we all have our own. If everyone's had to be satisfied, we'd have no software! I think in the specific case of Discord, I.e. from a big company, I agree they should handle this properly. As a broader standard, I am not as concerned. | | |
| ▲ | ethin a day ago | parent | next [-] | | This is a dealbreaker for me even if I didn't want it to be. If your application does not either interact with a11y frameworks (UIA, AT-SPI, NSAccessibility, ...) or does not implement an equivalent that communicates with my screen reader, I literally cannot use your application. I could OCR your application, or use AI and have it use your app for me via screenshots, but neither are even remotely comparable to using the native platform accessibility frameworks. | | |
| ▲ | veverkap a day ago | parent [-] | | Could someone use AI to make the GPUI kit become accessible? You (or someone else) mentioned that it doesn't even have the primitives so is it a non starter? | | |
| ▲ | ethin a day ago | parent [-] | | No, I mentioned that most rust UI toolkits lack even the primitives. The primitives for even basic accessibility, without accessibility frameworks, would be things like focus events, carrot navigation, navigation in containers such as list/combo boxes, line/paragraph handling in multi-line edit boxes and the like. Adding native accessibility forces you to do a lot of this but just in a different way than routing text directly to a screen reader. As for me doing it? According to prior comments in this thread it's already done, although I haven't tested it so I don't know how complete it is. Adding UIA support to a framework is different from making that support good (screen readers can be very picky). As an example, say you have a label of an edit box. If you position the label just right within it's parent container a screen reader will pick it up automatically and just announce it as you focus the edit box. But if you don't, all you'll hear is "edit <contents|blank>". There are ways around this (e.g., you can override label detection) but the "ideal" state is that the screen reader picks up that stuff automatically and you just give it the bounds of the various controls and UI elements. |
|
| |
| ▲ | Forgeties79 a day ago | parent | prev | next [-] | | It’s potentially a dealbreaker for millions of people whether they want it to be or not unfortunately. For them accessibility is not optional or can otherwise be taken as a “wait and see” issue. | |
| ▲ | selfmodruntime 6 hours ago | parent | prev [-] | | Neatly phrased comment, where „fuck the blind“ would have sufficed. |
| |
| ▲ | anthony-eid a day ago | parent | prev | next [-] | | gpui does have a11y support for accessibility, Zed just hasn't piped it through yet. I'm also pretty sure Discord is using their own fork of gpui with patches to add any missing functionality they needed | | |
| ▲ | ethin a day ago | parent [-] | | I really hope Zed gets in the support, I'm curious to try it given all the good things said about it (particularly on HN :)) |
| |
| ▲ | davkan a day ago | parent | prev [-] | | Could maybe use the browser client as a workaround. |
|