A poll for all #blind #VoiceOver #Mac users out there who do coding. Which code editor are you using? Boost OK for further reach...
Visual Studio Code
44.4%
Panics Nova
8.9%
TextMate
5.6%
Other, see comment
41.1%
Poll ended at .

@marco hi, Marco.

I’m not blind. But I have been designing and writing code for over 25 years. And accessibility has been a priority for me since day one. I even write articles about accessibility in design/tech.

I’m curious about this poll. Are some editors more functional with VoiceOver? Or are you just curious with respect to community?

I’m on a Mac (always have) and I’ve used many editors. Currently I use Nova.

@markwyner It is part curiosity and part informational with respect to whether there is something better out there than what I'm using currently. Incidentally, it is Nova as well. I also have used VS Code in the past, but the inconsistancy that comes with Electron apps is often quite off-putting, so a truly native app like Nova is much preferred.

@marco thanks for sharing that. I’m gonna follow your poll because I’m curious about the results.

For many years I used Text Mate, then for many more I used Sublime Text. I really loved Atom before Microsoft destroyed it. After that I wasn’t sure what I wanted to use.

I’ve been using Panic software for as long as I can remember. It began with Transmit. Nova is great. But I’m sight-abled, so for me it may be a privilege to use it.

@markwyner Sublime is actually completely inaccessible. For VoiceOver, there's just nothing there. Nova is actually very decent. They even incorporated feedback I had sent them on one of the early versions and the problems there were with VoiceOver back then. So nowadays it is actually pretty good for many tasks. I used to use SubethaEdit, but it hasn't been updated in ages and no longer works well with VoiceOver. And TextMate hasn't been updated in years, either, so I no longer want to let it near my current setup, either.
@marco yeah, the folks at Panic really care. They’re awesome.
@marco I’m not blind but my colleague who is programs in Python. He loves it.
@marco At the moment i use NVIM for basic coding, Intellij IDEA fo big Refactors and Debuggung (cause i'm new to nvim and IDEA was my main IDE before), and sometimes for ansible i use VSCODE (was my default before IDEA) Somehow i constantly change my Code Editors. 😮
@marco have you tried https://zed.dev/ (overlook the AI hype)? I wonder how it fairs for blind users, as a new, cross-platform product.
Zed — Love your editor again

Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Zed
@bntn @marco Zed is completely inaccessible for now because it uses GPU rendering instead of native controls.

@miki @marco Ah, so it’s because the controls are being rendered inside the “sandbox” of a graphical output instead of native system controls being used? (Sorry for the layperson speak)

That’s disappointing, and seems like a big software design hurdle to shift from now, if they decide to do the right thing and support accessibility.

@bntn @marco Yeah, Zed is basically telling the system something like "render these pixels, of this color, at these coordinates", not "here's a button, put it inside this window."

This is a massive oversimplification, it uses GPU acceleration a lot, which means a lot of that info isn't even calculated by the ap, but directly by the GPU.

Screen readers are a bit of a misnomer, they don't actually read the screen, they need the to get the semantic info about what controls are present from the system. If all the system knows about is pixels, then all the blind person sees is a blank window.

@miki I’m a front-end dev, so this makes perfect sense to me. It’s like using real web controls vs displaying a UI in a canvas element.

@bntn Yes exactly.

Putting your UI in a canvas would produce the exact same result, total and utter inaccessibility on your page.

There's a way around it, you can create a fake accessibility tree that reflects your app's understanding of what controls actually are on the screen. This is what web browsers do, for example, along with third-party GUI toolkits like QT or Java.

The web dev equivalent of that would be a completely unstyled, visually hidden model of the UI in the DOM, created only if there is a screen reader running, that reflects what's displayed on the canvas. Google DOCs's Braille Mode uses this trick to make Docs accessible.

@miki Thank you for the explanations, Mikołaj.
@miki Also, I wonder if this highlights the feat that @mitchellh has done with Ghostty, using native controls on different platforms. I hope that means Ghostty is able to support accessibility!
@bntn @miki Its still a challenge, but yes, we plan on doing AX support. We have a discussion about it and a solid roadmap (though, not assigned to any version). Our AX support will be macOS-only though, because the availability of accessibilty APIs for graphical Linux applications is abysmal.

@mitchellh Glad to hear it is being addressed on macOS, and sad to hear the situation on Linux. I think I’ve seen @aral raising a stink over accessibility limitations over there.

Please prioritize shipping these 🙏🏻

@bntn @mitchellh Yeah, I’m back to using a Mac as my daily driver after six years on Linux because of this.

This was the last straw: https://ar.al/2024/06/23/fedora-has-been-shipping-with-a-broken-screen-reader-for-nine-years-but-the-real-problem-is-me/

Fedora has been shipping with a broken screen reader for nine years but the real problem is me

Fedora has an ableism problem but woe to you if you point it out.

Aral Balkan

@marco What on earth is the point of a text editor which only runs on one platform? It means you have to learn a different editor for each platform you use, and no-one has that much learning time to waste.

I do use Visual Studio Code, not because Iike it, but because it works the same everywhere and supports all the languages I need to use well.

@marco I use Xcode for anything Swift related, macOS / iOS app development. For Python I do mainly use VSCode, which actually does work pretty well if you're willing to accept their navigation paradigms, e.g. using F6 to move between different panels, making heavy use of the Command Palette and not using VO-specific navigation commands as much. I do like their sound cues for things like syntax errors or folded code blocks, plus it's kind of become an industry standard.
@marco Nova sounds really appealing to me as well. I did check it out about a year or so ago, and I did love how accessible it was out of the box. However I don't think it has the ability to interact with dev environments which are containerized using Docker / Podman, also not sure if it can execute code on remote machines like VSCode. Something I need to dig into eventually when I have the time :-).
@robin_kipp @marco I love the concept of Nova, but the last time I tried it a few years ago the completions didn't speak. Do you know if this was addressed?
@robin_kipp @marco Oh, and for the moment it's also a combination of VSCode and textmate for me as well :)
@marco I'm on VS Code for anything substantial, but for small scripts, throwaway stuff, random repo browsing, reviewing of cli output etc, I use TextMate
@marco On MacOS, I use Emacspeak.
@marco Have you tried BBEdit?
Version 15 is accessible with VO now.
@johann No, not yet. Thanks for the info!
@marco @bas In this order: CotEditor, XCode, VSCode, Nano (Terminal)
@marco Hello! Nice to meet you here, I'm Kelvin Moore and you?
@Kelvinsmoore67 Well I am not Kelvin Moore.
@marco I'd like to have a private discussion with you, if you don't mind?
@Kelvinsmoore67 I don't know you, so I am not sure what you want to discuss.