4 ms·
I must strongly recommend against using Gtk+ as a GUI toolkit for any serious application except on GNU/Linux. The biggest reason for me is that Gtk+ has zero a
by mwcampbell 13y ago
I must strongly recommend against using Gtk+ as a GUI toolkit for any serious application except on GNU/Linux. The biggest reason for me is that Gtk+ has zero accessibility support on Windows or Mac. That is, it doesn't work with assistive technologies which people with some disabilities need, such as screen readers for blind people. If you develop an application using an inaccessible toolkit, you're erecting a barrier for some people who might need to use your app, particularly if it's going to be used in an educational or business setting.
So, what should you use instead? Qt is better, but not great. It's still bad enough that TeamTalk, a voice chat app that's popular among blind people, has a cross-platform Qt app but also a "classic" MFC app for Windows. The latter used to be the official Windows client, but is now maintained just for blind users.
wxWidgets is better in some ways, because it uses native controls on each platform. Except where it doesn't; for example, the data view control is non-native on Windows, whereas the list view control is non-native in the Mac and GTK ports. and wxHTML is non-native across the board. Still, with some pain, wxWidgets can be made to work for cross-platform accessible apps.
SWT might be a good choice, if you can make it work for .NET/Mono using IKVM.NET. SWT is better than wx in that where it has to use non-native controls, it implements the platform accessibility APIs; it helps that SWT is backed by IBM, which has the resources to put into this kind of thing, and the incentive to do so in the form of sales to government agencies and the like.
- blub 13y agoI'd be interested to know what kind of problems Qt has with accessibility, I have personally not used the QAccessible* classes yet and would appreciate any tips from the field. Some potentially interesting blog posts: http://blog.qt.digia.com/blog/category/accessibility/ http://blog.qt.digia.com/blog/category/accessibility/ I wonder what came out of the major upgrade in Qt 5, from looking around the web it seems to support MSAA fully and also I2A in some form.
- mwcampbell 13y agoI haven't looked at the state of accessibility in Qt 5. I'll have to check that out.
- rdtsc 13y agoWhat are your thoughts on using a browser client library as a UI framework and write the UI in HTML? Like say use WebKit? I guess I can see how just doing the UI might be very doable but plugging that in with callbacks and the business logic a little tougher.