Follow

Accessibility rant 

It's sad that at this point I'm almost happy to see Electron apps simply because it means that the chance it'll be at least somewhat accessible are just so much higher.
So many new UI frameworks coming out, none of which are accessible. More and more "native" apps just... don't work anymore.
Also... I guess native means something else to me than it does to most UI devs. I wouldn't call drawing directly to the screen a native UI. Sure it might be nice and comfy and allow for beautiful coding patterns like stateless UI composition but that stuff's useless if I can't use it. Please keep this in mind when developing your latest and greatest native app using the latest and greatest new immediate mode GUI framework. Not a single one of them will be accessible. And if you're a dev working on one, please think of us.

Accessibility rant 

A lot of people usually comment things like: "It should be the screen readers responsibility to figure out what's on screen. Do some OCR and image recognition and whatever and boom!"
Think about it. That won't work. Not only are there many different fonts that OCR just simply cannot read, but also things like interacting with those controls present a major hurtle at that point. Is it a checkbox, a button, or a button checkbox hybrid? Is it a slider? Is this a fancy button or a turnable knob? What about scrolling text?
Is this syntax highlighting or spelling errors or both? Or does it just mean I selected something? What about if I use another app? We can infer what things mean from context, but can OCR and image recognition? Does it know this is a code editor or a text editor? What if it's Emacs and it's literally everything?
This is why accessibility API's exist. There's a lot of context that would be lost if there was just OCR and image recognition.

Accessibility rant 

iOS has this exact thing using artificial intelligence and while that's awesome in about 75 percent of cases it still fails to do its job properly. It helps getting around quirks, but I haven't found an app that was completely inaccessible that suddenly worked flawlessly. Don't get me wrong, I'm very much happy that it exists and it's super helpful. But there's just no way it will replace any other traditional accessibility in the state it's now.
I was never able to explore screenshots for example, but now I can. I can even look at memes and most of the time, the image explorer does a pretty good job. But translating UI's like that just... doesn't work yet. Or maybe ever.

Accessibility rant 

@talon totally on board with all of these but just wanted to add something as an ai researcher who knows a decent amount about OCR etc. This is unlikely to work well enough for actual use for a long time and personally I think using OCR en lieu of actual accessibility is a terrible idea please don't do that.

As another aside this kind of "not my job"-ism in software really annoys me, we all have to be part of the solution!

Accessibility rant 

@secretlySamantha I understand both sides to a degree. Accessibility API's and accessibility in general can be difficult to wrap your head around, especially if they provide no benefit to you as the developer. Even as someone that needs them I'm still regularly confused by how it all works, especially in a cross platform manner. Luckily I was made aware of accesskit.dev which hopes to solve this problem and I really hope people will pick it up.
Still, the fact that web tech based apps are usually more accessible than "native" apps is somewhat disappointing.

Accessibility rant 

@talon Here's the thing though it does give you a benefit as a developer. Because if your GUI is easier to read for computers then it's much much easier to test properly which devs should be and in most cases are already doing. I'm really surprised that people don't seem to realise this. (sorry if I'm being a bit intense, this is not necessarily directed at you, it's just a thing that really confuses me)

Accessibility rant 

@talon again, sorry if I'm being a bit intense, I really do just agree with pretty much all of your points. it does feel very weird that web apps are somehow at the forefront

Accessibility rant 

@secretlySamantha No worries. I mean you're right. It would help with testability and usability both. It's an excuse for sure, especially for well established GUI frameworks and libraries.

re: Accessibility rant 

@talon People who think OCR is to be relied upon have never tried to do so.

Accessibility rant 

@talon Good stuff here. Just wanted to put this on your radar: accesskit.dev Very early days, but Matt is aiming to wrap all the platform-specific accessibility APIs, including Android and HTML via auto-generating a parallel element tree, in a single API that UI toolkits can work with. Exciting stuff.

Accessibility rant 

@talon I feel ya there. If I can't code an accessible app with native then electron is fine. Is better to have something ok and usable, than something with excellent performance, but bad

Sign in to participate in the conversation

A fun, happy little Mastodon/Hometown instance. Join us by the fire and have awesome discussions about things, stuff and everything in between! Admins: @Talon and @Mayana.

<svg xmlns="http://www.w3.org/2000/svg" id="hometownlogo" x="0px" y="0px" viewBox="25 40 50 20" width="100%" height="100%"><g><path d="M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z"/><path d="M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z"/><path d="M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z"/><path d="M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z"/><path d="M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z"/><path d="M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z"/><path d="M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z"/></g></svg>