4 ms·
The first thing I look for in any UI library is accessibility support. Makes it trivial to filter out toy projects.
by abtinf 4mo ago
The first thing I look for in any UI library is accessibility support. Makes it trivial to filter out toy projects.
- HumblyTossed 4mo agoEverything is an engineering decision. Leaving out something doesn't mean it's a "toy". So, I don't really get your criticism here.
- spwa4 4mo agoThen just save yourself some time. Immediate mode and accessibility are mutually exclusive.
- whizzter 4mo agoThis is a library in similar vein to "Dear imgui", minimal requirements for integration (rectangle and text rendering) so that it's easy to embed into game-engines,etc for debug UI's and similar things.
- monocasa 4mo agoOr, not every UI library is intended for use cases where a13y even makes sense. Like a debug UI in a game engine, or in an embedded device that doesn't even have input for a13y.
- fwip 4mo agoBeing accessible to the intended users always matters. If you think it doesn't, that probably means it's currently accessible to those users (or that those who are it is inaccessible to have filtered themselves out, and are no longer users). For example - in your debug UI, colorblind-friendly colors don't matter, until you hire your twelfth member of the team, who struggles to tell red and green apart.
- monocasa 4mo agoThis library's default is greyscale anyway, so it's by default colorblind friendly.
- Intralexical 4mo agoAdditionally the developer of this library is active in the indie game scene, so "twelfth member of the team" is hardly a relevant issue. I find it so unfortunate how many of the criticisms raised here are mooted by simply glancing at the README. There's an interesting conversation that could be had about the needs and limitations for debug UIs, and how to balance that with minimal code. (E.G. Would feeding this library's text-and-rectangles output into an accessible renderer be enough?) But blanket rejections and reflexive judgement aren't helpful.
- xyzzy_plugh 4mo agoNo. As much as I would like it to be the case, that is most certainly a poor criteria to evaluate a UI library. Dear ImGui [0] is without a doubt the most prevalent immediate mode UI library. It does not have native accessibility features, but that hasn't stopped companies such as Intel, Meta, IKEA and Google from shipping products built upon it. It's also used in a ton of games. Calling Dear ImGui a toy project at this point would be like calling Unreal Engine a toy project. It's a shame accessibility support is not more widespread, and furthermore it's a shame that it is so laborious to add it. 0: https://github.com/ocornut/imgui/ https://github.com/ocornut/imgui/
- SwellJoe 4mo agoOK, if "toy project" isn't the right word, then perhaps, "unethical" or "exclusionary" would be better words to use. I judge software harshly that could be useful to folks with accessibility needs that don't try to address it (within bounds of their resources and capabilities, obviously lots of OSS just doesn't have the ability to deliver an accessible experience for tiny little throwaway apps). I definitely choose technologies to use based on whether they can be accessible with a little extra effort on my part. I'm not necessarily good at it, it's a complicated topic, but when I get bug reports about an accessibility issue I tend to drop everything else and try to fix it. I guess a lot of folks consider games exclusively for folks without those accessibility needs, so maybe that's why something like Dear ImGui can live for years in thousands of projects without anyone complaining about accessibility. But, I wouldn't consider it for anything that isn't specifically about graphics and I don't think anyone else should either. (No one has to listen to me, but I think less of them.)
- Intralexical 4mo ago> I guess a lot of folks consider games exclusively for folks without those accessibility needs, so maybe that's why something like Dear ImGui can live for years in thousands of projects without anyone complaining about accessibility. But, I wouldn't consider it for anything that isn't specifically about graphics and I don't think anyone else should either. (No one has to listen to me, but I think less of them.) Immediate mode UIs are mostly for debug menus, not even gameplay/graphics. It doesn't need to be accessible to anyone except for the developer(s) choosing the library and making the game. (If the developer has different needs, obviously they can choose another library, unlike users who must live with the developer's choice.) The fourth sentence in the linked ImGUI repository explains this intention very clearly. You can spend all this energy imagining malice and thinking less of others, but doing so does not add merit to your critique. Nor does it advance the cause of software accessibility.
- RodgerTheGreat 4mo ago"Accessibility" is an open-ended set of functionality, not a checkbox; it is never "complete", there is always room for improvement. Colorblind support (which ones)? High-Contrast mode? Adjustable text size? Screenreader integration? Localization? IME support? Keyboard navigation? Keyboard remapping? Functional entirely without a keyboard? Touch support? Pen support? Dyslexia-aiding typefaces? The list goes on and on.
- jazzypants 4mo agoThis is one of the reasons why web technology is so popular and persistent. You get almost all of that for free as long as you use semantic HTML.
- LtWorf 4mo agoWhich nobody uses
- ironmagma 4mo agoNot true... this is why they had to add aria- ...
- jazzypants 4mo agoYes, exactly! Now, it's all built into the platform. The first WAI-ARIA specification was published in 2014 [0]. HTML5 became an official W3C recommendation that same year [1]. It includes semantic elements like <nav> and <main> that have ARIA roles built in [2]. The Wikipedia page for WAI-ARIA includes the "five rules of ARIA" where the first rule is "Don’t use ARIA if you can achieve the same semantics with a native HTML element or attribute" [3]. You almost always still need some extra ARIA attributes to be fully accessible, but it's much less extra work than most other platforms and it works (mostly) the same on every operating system (including phones). You don't have to build anything yourself-- you just have to know which attributes to use. Just ask any blind people you know whether they prefer using a website or a native app. [0] https://www.w3.org/TR/2014/REC-wai-aria-20140320/Overview.html https://www.w3.org/TR/2014/REC-wai-aria-20140320/Overview.ht... [1] https://www.w3.org/news/2014/html5-is-a-w3c-recommendation/ https://www.w3.org/news/2014/html5-is-a-w3c-recommendation/ [2] https://www.w3.org/WAI/WCAG22/Techniques/html/H101 https://www.w3.org/WAI/WCAG22/Techniques/html/H101 [3] https://en.wikipedia.org/wiki/WAI-ARIA https://en.wikipedia.org/wiki/WAI-ARIA
- jdmoreira 4mo agoWhat? On a micro immediate mode UI? Really insane comment TBH
- dwb 4mo agoThe point of a UI library is to interface with users. If it totally fails to interface with a subset of users then it is obviously deficient to some degree. It is callous and foolish to dismiss offhand users who rely on assistive technologies. You probably have a poor idea of who they are and how many people we’re talking about. You never know when you or someone you care about will become one of them, even temporarily. You never know how far your software will reach when you write it.
- qsera 4mo agoNot very smart. I would go further and say that even full unicode support could be avoided and a software can still be massively useful. It is sad that the world is so hung up on unicode and things like accessibility that we all have to submit to the tyranny of browser layers!
- anonymous908213 4mo ago> sad that the world is so hung up on unicode It is sad that the world is hung up on enabling 2/3rds of the world population to read and write text! If only the entire world catered to America. Nobody should ever speak anything other than English, honestly.
- qsera 4mo agoGet a load of this guy here. He thinks that humans beings cannot communicate if some computer programs does not talk in their language!
- SeasonalEnnui 4mo agoI agree, and the lack of empathy around this area is sad. If you're developing an app, it is better to fall into the pit of success by using a UI framework that already has accessibility baked in. Any project that uses Dear Imgui for end-user applications has already made a bad design choice. AccessKit (https://accesskit.dev/ https://accesskit.dev/) seems to be a positive step forward, with some UI frameworks implemented (including immediate mode egui).
- einpoklum 4mo agoIt's supposed to be a _tiny_ library. Naturally its capabilities will tend towards being minimal. I don't expect decent RTL language support, for example, although it's quite important if those are the languages where you live. As for linking to something written in Rust with bindings etc. - that is the opposite of tiny when you consider the dependencies, and it would not be portable to weaker or older systems.
- Intralexical 4mo ago> Any project that uses Dear Imgui for end-user applications has already made a bad design choice. Note that any project using Dear ImGui will presumably have read the README for it, the second paragraph of which starts: > Dear ImGui is designed to enable fast iterations and to empower programmers to create content creation tools and visualization / debug tools (as opposed to UI for the average end-user).
- ricardobeat 4mo agoIs there any game engine out there with good accessibility support for their UI?
- nkrisc 4mo agoI can’t say how it compares to others, but Godot added screen reader support in 4.5 a year or so ago.
- functionmouse 4mo agoWindows XP has better accessibility than anything since, by virtue of staying entirely out of the way of accessibility tools. Time to downgrade!