News for hackers. Stuff that matters.
Re:Fyne, a cross-platform GUI toolkit written in Go by ClawsOnPaws on Saturday June 18, 2022 @05:36AM (#31788478)
As expected, same problem as all the other UI toolkits. Tried several of their apps, was able to use none of them with a screen reader or other accessibility tools. It's nice if you draw the UI directly to the screen, but you skip a lot of steps that OS vendors took to make sure your app can be used by as many people as possible. So always keep that in mind if you're going to use any of these GUI toolkits for your own project!
Re:Fyne, a cross-platform GUI toolkit written in Go by api on Saturday June 18, 2022 @10:17AM (#31790010)
That's the hill that almost every new UI toolkit effort dies on.

If I were going to start one, I would actually start with accessibility. If everyone keeps tripping over the same thing, start by tackling that thing first.

Edit: it's occurred to me that an approach of starting with accessibility could also lead to an approach that degrades gracefully into text UIs (TUI) and command line usage and then scales all the way up to a GUI. That would be super interesting. Not sure it's ever been done.

Re:Fyne, a cross-platform GUI toolkit written in Go by carapace on Saturday June 18, 2022 @02:24PM (#31792421)
Shout it from the hills: OXO!

(As in the easy-to-use kitchenware https://en.wikipedia.org/wiki/OXO_(kitchen_utensils_brand) "In June 2004, Helen of Troy Limited bought OXO housewares for $273.2 million.")

It's a general pattern, make your thing easy for old people and folks with disabilities and it's also easy for everybody else.

- - - -

Check out Elm's accessible-html module. Enforces accessibility at compile-time.

https://package.elm-lang.org/packages/tesk9/accessible-html/...

https://dev.to/nimmo/easier-paths-to-accessibility-in-elm-4o...

Re:Fyne, a cross-platform GUI toolkit written in Go by mrlemke on Saturday June 18, 2022 @11:09AM (#31790507)
I've been thinking about something similar. A polyvalent UI with CLI, GUI, and AUI (audible user interface). The AUI could be implemented as a TUI/HTML page (to leverage existing work on screen readers) but designed to be read rather than seen.
Re:Fyne, a cross-platform GUI toolkit written in Go by andydotxyz on Saturday June 18, 2022 @11:27AM (#31790688)
The behaviour based api that Fyne is designed with will degrade to a text UI, if anyone implements that driver ;). I always thought I would but it’s never reached high on priorities…
Re:Fyne, a cross-platform GUI toolkit written in Go by andydotxyz on Saturday June 18, 2022 @07:15AM (#31788824)
Yea this is a big gap. It is planned but the task is huge. Once we have sufficient sponsorship or financial support in place you can be assured it will come.
Re:Fyne, a cross-platform GUI toolkit written in Go by mwcampbell on Saturday June 18, 2022 @09:17AM (#31789559)
Would you be willing to consider using a non-Go library via a C API for this? I'm working on AccessKit [1], a cross-platform abstraction over the various platform-specific accessibility APIs. It's written in Rust, and it doesn't yet have a C API, but that's planned. I'm aware that using cgo complicates build requirements, particularly on Windows, but it looks like you're already dependent on cgo on Windows (unlike, say, Gio).

[1]: https://github.com/AccessKit/accesskit I know I haven't yet done much with it this year. Hopefully I'll start doing substantial work on this again in the next few weeks. Threads like this one remind me that the world is waiting.

Re:Fyne, a cross-platform GUI toolkit written in Go by survirtual on Saturday June 18, 2022 @09:54AM (#31789838)
Please continue working on this. After years of work and having a novel backend infrastructure figured out for something that may have a lot of value for people, I have simultaneously been completely unsatisfied with frontend options — and I’ve tried nearly all of them. Accessibility is a major issue in almost all I tried, and closed source, vendor-specific UI options are not acceptable.

The main one I’ve been very interested in these days is called Makepad. Also written in Rust, still early in dev, but they need a lot of help on the accessibility front and their codebase is trying to do everything else. But the techniques are what I have been looking for in a UI kit. Anyway, I imagine there are a lot of cases like theirs.

The main issue is most of us do not have these accessibility issues. That domain knowledge needs to be collected and distilled into a framework that is open & simply covers most cases by its inclusion. Many JS frameworks have a lot of care in this regard, but their performance and dep hell make me want to avoid them (however tempting their ease of use may be).

Long story shot: this is very much needed and when I have time I would be willing to contribute.

Rust derive macros would be very powerful with implementing accessibility features.

Re:Fyne, a cross-platform GUI toolkit written in Go by andydotxyz on Saturday June 18, 2022 @09:46AM (#31789772)
Yes, we have actually considered AccessKit in our discussions :)
Re:Fyne, a cross-platform GUI toolkit written in Go by masukomi on Saturday June 18, 2022 @09:09AM (#31789508)
thanks for this. saves me from wasting time on it.
Re:Fyne, a cross-platform GUI toolkit written in Go by ralls_ebfe on Saturday June 18, 2022 @02:07PM (#31792263)
Thanks, I thought "maybe they implemented accessibility by now", but it seems to be a huge task.
Re:Fyne, a cross-platform GUI toolkit written in Go by danachow on Saturday June 18, 2022 @11:44AM (#31790882)
> As expected, same problem as all the other UI toolkits.

Qt and Swing have this problem?

Re:Fyne, a cross-platform GUI toolkit written in Go by sbcd on Saturday June 18, 2022 @03:04PM (#31792752)
No. Swing does not suffer from that problem because Sun actually cared about accessibility requirements back in the days, in fact, the only reason there's a desktop on Linux that has decent accessibility, Gnome (through the Orca screen reader and gtk accessility libs) comes from Sun's interest in having an accessible desktop for Solaris. KDE's track record is miserable in comparison to Gnome. Sun provided much of the funding for the initial efforts in making an accessible desktop.

Qt is partially accessible, in practice, it doesn't work well.