3 ms·
I would only like to urge you to think about accessibility. There are many custom GUI libraries out there, but almost all of them are made without thinking abou
by hawski 5y ago
I would only like to urge you to think about accessibility. There are many custom GUI libraries out there, but almost all of them are made without thinking about accessibility. It kind of forces certain architecture, which may be hard to fit later. A11y APIs expose widgets in form of a tree.
I thought about writing a cross platform GUI toolkit, that would start from being a cross platform accessibility library.
- scott01 5y agoTo be honest, I'm aiming to simply practice UI architecture and optimization, and it's unlikely that something will come out of it. But I didn't know about A11Y before — thank you for bringing this up, will probably check it later.
- exikyut 5y agoIf there's one angle I'd jump on the bandwagon of harping on about it's definitely this one because a) the subject doesn't get nearly the attention it needs and b) the heavyweight toolkits (Qt and Electron would probably be the mainstream contenders) seem to be where the objectively minimum-viable implementations are (although I could be wrong), which unfortunately seems to bring "learn how to leverage $toolkit_x" to the dependency table if you want to do accessibility well. Installing a screen reader like NVDA and observing how it interacts with the screen might be interesting to learn about the scope/depth of the accessibility APIs in general. (And then there's observing how screen readers handle different websites...) Imgui and similar generally have zero accessibility support whatsoever, although it's certainly not impossible to add - just a bunch of messages back and forth to the accessibility layers in the OS - but the support would wind up being a module, and a bolted-on one at that that would have very little uptake because everyone who didn't need it (for themselves) would just compile it out. Whereas with Qt and Electron it's kind of like rabbithoooooookaybackawayfromtheinternals and everyone just leaves all the bits in :P and the support just comes along for free. (An interesting study in the tradeoffs between minimalism, modularity, and the commoditization of support of niche use cases...) Also, regarding practice of UI architecture and optimization, I actually sometimes think about the idea of drive-by contributing to open source projects - they have pre-existing contexts and conventions that must be adjusted to (an important skill that is tricky to develop alone), and it's possible to approach them with an objective impartiality that is sometimes tricky to square with emotional investment in personal projects. This may be one approach to independently evolving mechanical abilities (structure, domain-specific mental modeling and problem-solving, best practices) separately from fundamental personal development, which may (seems to?) go a little slower.
- ayanb 5y agoCould you elaborate a bit more about the a12y-focussed architectural constraints that you want to enforce?