Hacker News new | ask | show | jobs
by mwcampbell 485 days ago
Nice work. I noticed, though, that there's no accessibility for blind people or others who need assistive technology that uses the platform accessibility API. If you can accept a Rust dependency, here's my project for solving this problem: https://accesskit.dev/ We do provide pre-compiled static libraries of the C binding, so you don't need to directly introduce Rust into your build process. I specifically kept immediate-mode toolkits in mind when designing AccessKit. Or if you'd rather just look at our code and implement the accessibility APIs yourself, that's cool too.
1 comments

Hello! I can't promise anything on this topic yet, it's on my list, but it's fairly low priority right now. The program was written in C with no dependencies, so introducing a huge dependency like that isn't an option. But I appreciate the advice!
I'm curious, how did you conclude that AccessKit is a huge dependency? The binary size does vary by platform, with the Linux backend being especially large due to its use of a pure-Rust implementation of D-Bus. But the Windows x64 DLL is 268 KB, and the macOS x86-64 dylib is 437 KB stripped. The impact of the static library on your binary size will probably be about the same, or maybe a little less because most applications don't require all of the little setter and (especially) getter functions. I'm not happy with the size on Linux, but I think it's acceptable on Windows and macOS, given that accessibility is, in many contexts, a must-have.
Sorry, I based this on your comment "If you can accept a Rust dependency". I haven't actually looked into it yet, but I'll check it out, thanks for sharing.

However, I'd still prefer to go with my own solution, if possible, for tighter integration.