Comment by net_

11 days ago

In 2020, I started working on a (C++) game engine. Since the only decent open-source UI option was Dear ImGui (which was obviously a bad choice for consumer-facing UIs), I ended up rolling my own retained-mode UI library on top of SDL. Now, it's fully-featured enough that I rarely have to touch it. There's even a major company using it for embedded products.

I don't get why every language's community doesn't just do the same thing: roll an idiomatic UI lib on top of SDL. It was tough, but I was able to do it as a single person (who was also building an entire game engine at the same time) over the course of a couple years.

How's the accessibility?

  • I haven't worked on screen reader support, yet. Support for alternative text input is built into SDL. UI size scaling is a feature I plan on adding eventually.

    •    > I don't get why every language's community doesn't just do the same thing: roll an idiomatic UI lib on top of SDL.
      
         > I haven't worked on screen reader support, yet. Support for alternative text input is built into SDL. UI size scaling is a feature I plan on adding eventually.
      

      Well, that's why :)

      For most serious applications, accessibility isn't a second thought, it's a requirement and it's very hard to implement correctly.

      2 replies →

  • I'm not trying to troll here, asking seriously: are there any immediate-mode GUI APIs with good a11y?

SDL is not perfect, e.g. you can't get pinch/zoom events on MacOS. IMO, using the OS APIs yourself is better.