I've only really used github with a screen reader for basic things - mainly looking at readmes and cloning. I don't really find it a great experience, but then I only use it on rare occasions.
I'm wondering if anyone here is using it in a professional capacity and can give any insight on how accessible it is? So things like pull request reviews, build tools and so on.
Is it doable once you get your head around it?
Ideally experiences from the Mac would be best, but I will take anything.
Comments
Generally accessible
I've participated in projects that use GitHub. I haven't noticed any serious accessibility issues. Their Web site allows you to comment on changes line by line, and I'm not sure whether that feature is screen reader accessible, but I haven't needed it in any case.
I tend to use GitHub via the github-client command line tool (the gh command) rather than via the Web site. Note also that some editors (Vim, Emacs, Visual Studio Code, TextMate, etc.) support Git directly or with extensions that you can install, so, again, you don't need to bother with the GitHub Web site very much. The github-client tool is available on HomeBrew, and I expect there's a direct macOS download available as well.
To use GitHub effectively, it's important to know how to use Git well, as Git is the underlying technology. I'm comfortable with using Git on the command line, as I took the time to read chapters of a book on the subject. Anyone without that background is likely to struggle with GitHub. It isn't designed for people who don't have the background or who aren't willing to acquire it.
Re: git
I use git quite a bit so the command-line tools don't scare me. Well, they do sometimes but I think that's normal. I use bitbucket and for most things I would imagine it will work the same as github.
I am a bit concerned about pull request reviews. This is actually pretty good in BitBucket - I can easily see the differences in files, leave comments etc. It's not perfect but it's the only code diff tool I've found works well. I know you can diff through git but I can't imagine doing a code review that well.
You might be right about using Visual Studio Code for this. Its PR support for BitBucket never worked for me but I think it may have been fixed. I should revisit. I think the VS Code does have a pretty accessible diff tool but I've not yet spent the time to learn it.
The other thing I'm not sure about is the build tools. In BitBucket, there is something called Pipelines which does the continuous integration. I think github has a similar thing. The one time I looked at it, it seemed quite complicated which seems to be the norm for github. But maybe it's doable once you know what you are doing. Maybe there is also some integration with VS Code or whatever. I'll have to look at that.
That has given me a little more confidence though, thank you.
Very Accessible For The Most Part
Hi! I use GitHub, though I'm on Windows. I use it regularly for open-source projects: managing repositories as a collaborator and a contributor, viewing and reading issues and pull requests, cloning repositories, managing account features like hardware authentication and SSH keys, managing organizations, viewing different branches and commits, forking repositories, downloading releases, setting up GitHub actions , and other stuff.
GitHub is by no means perfect, but the barriers to learning its UX are mostly cognitive. It's a complex interface to navigate, even for sighted developers.
My two personal pain points are downloading assets from releases and using the compare view when comparing across branches or commits.
To give an example of the former: releases are difficult to find and difficult to navigate. If a project has releases, they won't be on the tabs at the top of the repo where stuff like "code" and "issues" are located. Instead, it's a level 2 heading way down below the readme on the repository's homepage for some reason. Once you navigate to the releases page and select your desired release for download, you must navigate down to the assets section... which is a button for some reason. Expand that button and browse the list of assets for what you want to download. Maybe this makes more sense for sighted users?
As for the latter pain point, I got around that problem by cloning the repository and using git dif instead of trying to wrestle with GitHub's compare view.
I'm aware of the existence of the GitHub CLI, but I've never actually used it. I manage my local repositories and credentials through Git.
I use a windows machine, so I'm not sure if this is true for Mac. The Windows Git Authenticator has no labeled buttons, so you'll have to tab through such labels as "github.viewmodels.xyz" and memorize the position of your stored credentials. Since Mac OS is unix-like, I'm hoping it's got a better solution, but I don't know about it myself.
Hope this helps
Cursed Hovercards
If there's one thing I hate, hate, hate about GitHub it's the stupid hovercards that show you pertinent information about contributors/releases/issues etc. It can make reading an issue thread very tedious. Fortunately the solution is the one we all know and love, namely, make sure mouse tracking isn't on when viewing the page, so the hovercards aren't triggered unless you route the mouse pointer; even then the navigation is pretty reliably screwed up. If you are working in CLI a lot of the time then it's much easier (but not guaranteed) that you can avoid needing the web interface for the simple cases. You can also get email notifications and again those don't have a problem.
And, because someone has to do it, I'd like to remind you that GitHub is a centralised service owned and operated by Microsoft. Git, of course, is decentralised (insofar as the Internet makes this possible) and while the world of self-hosted code repositories is not feature-comparable with GH, still, if you haven't thought about standing something up yourself, maybe give it some consideration if this is personal stuff and you have a choice.
Re: authentication
For bitbucket I use an ssh key for authentication which doesn't require a password prompt. I presume you could set that up on github as well?
Anyway, thanks for all the feedback - this is putting my mind at ease.