4 ms·
Well, somehow I missed this one when looking for a GUI library in https://areweguiyet.com https://areweguiyet.com some time ago, and I was very surprised just n
by AlbertoGP 7y ago
Well, somehow I missed this one when looking for a GUI library in https://areweguiyet.com https://areweguiyet.com some time ago, and I was very surprised just now when it compiled and ran at first try:
git clone https://github.com/hecrj/iced.git
cd iced/
cargo run --package tour
This ran the Tour example without any glitches, warnings, missing dependencies or any other annoyance. Don’t know yet whether this has what I need for my applications, but in any case it has left a very pleasant impression.
- mwcampbell 7y agoDon't forget to also consider what your users might need. So, unless you're developing a game or an application that does something inherently visual (e.g. a graphics editor), the lack of accessibility support (at least in the native version) should be a show-stopper. I'm a little surprised it's not even on the roadmap.
- voxl 7y agoBe the change you want to see in the world, open source doesn't work off magic and candy.
- mwcampbell 7y agoI appreciate that, but there are so many GUI toolkits out there, I can't possibly do the hard work of implementing the platform accessibility APIs for all of them. So I figure the best I can do is warn developers away from toolkits that don't already have this functionality.
- _bxg1 7y agoI'm sure it will be eventually. Although, how does that even work, hooking into OS accessibility from a GUI rendered custom from-scratch? Is there an API for that that's divorced from the native OS GUI?
- mwcampbell 7y agoThat depends on the platform. Windows is the one I know best. The current native accessibility API for Windows is called UI Automation. It's not tied to any high-level UI framework, though a UIA tree needs to be associated with a window handle (HWND). Mac and iOS have Objective-C accessibility APIs as part of their respective native UI frameworks (AppKit and UIKit). I have cursory knowledge of those APIs from a previous job but never implemented either of them from scratch. Android likewise has a Java-based accessibility API as part of its framework. Yes, this means that non-Java-based toolkits have to do JNI bridging to implement accessibility on Android. sigh I've never done this myself either. The only desktop environment for the free Unixes that has full-featured accessibility support, particularly for blind people, is GNOME, which has a D-Bus-based accessibility API called AT-SPI. GTK implements this API through a module called ATK. Qt also implements it. BTW, the Orca screen reader for GNOME was originally developed by a friend of mine. Probably the best place to find an implementation of all of these APIs is one of the open-source web browser engines. Note though that on Windows, these engines implement a legacy accessibility API called MSAA (Microsoft Active Accessibility) and an unofficial extension of that API called IAccessible2. Chromium has a work-in-progress native UI Automation implementation, largely developed by the Microsoft Edge team. Disclosure: I work at Microsoft, on the team that develops UI Automation and the Narrator screen reader.
- lukastyrychtr 7y agoPersonally, i would not call Gnome as the most accessible as of now. From personal experiences, Mate fares better in this regard. Of course, it has its quirks as well.
- mwcampbell 7y agoOh right, I totally forgot about MATE. My knowledge of GNOME accessibility is only second-hand.
- migueloller 7y agoHoly crap, that was amazing. For anybody else that had an outdated toolchain as I did, make sure you run `rustup update`.