After my report on the accessibility of the IRCCloud IRC client, but also in general, the question of how accessible the Slack team communication service is, has come up time and again. Here’s my observation after trying it out. This article was last updated in November 2016.
What is Slack?
Slack is an instant messaging service for teams. Primarily targeted at companies initially, it now has been adopted more and more by open-source projects like WordPress, too, over traditional Internet Relay Chat (IRC).
Unlike IRC, signing up to Slack teams is relatively simple. You need either a public invitation link or one sent to you via mail by someone who is already on that team, or administers it. You then fill out a form with your e-mail address, nickname and password, and in you are.
On IRC, if you want to join a channel of a project, you first need to know the server this particular project runs its channel on, AKA the IRC network, choose a nickname and then have a varying number of methods to authenticate as you, or not as the case may be. With Slack, all you need after signup is the team name, your e-mail address and chosen password, and in you are.
Slack incorporates several features that make it a more productive tool over IRC in many ways. At the time of this writing, January 2016, there are over 150 apps and services that can be integrated into a team, ranging from simple Twitter notifications when a particular account is mentioned, to document sharing via Dropbox, Box or Google Drive, to initiating team-wide calls via either Skype or Google Hangouts. It integrates with Github, Trello and other productivity services. So, you essentially use Slack as the hub of communication in your team around a project where everything ties together. Some even report they’ve completely replaced e-mail communication with Slack rooms to make it easier to keep everyone on the same page. As Slack is centralized, there is also no such thing as net splits known from IRC that can cause relatively frequent down times.
What initiated my interest?
Originally, I wanted to join the a11ySlackers via Slack. While doing so, I found several problems, with both the website as well as the iOS client, that made me quickly abandon that effort, and instead used Gitter and its IRC bridge plus IRCCloud as my IRC client. In light of recent (November 2016) changes to the Slack iOS client, however, I’ve since abandoned that construct and am using Slack directly.
However, in early January of 2016, Chris Heilmann announced that he had created a Slack community for evangelists/advocates. Drawing from my past experience, I told him that I would love to join, but that Slack is very inaccessible and thus not an option for me. I really felt left out and disappointed. Christian captures the essence of our conversation and his conclusions in his post titled “Don’t use Slack?“.
However, after sleeping over it for a night, I decided to turn this frustration into something positive and dig back into the problems I was having with Slack and maybe contact the team at Slack to fix their stuff. I started by signing up to Chris’s evangelism community, which is appropriate anyway since evangelism/advocacy is a large part of what I do.
And here are my observations about the accessibility of the different ways one can interact with Slack.
The web interface
As hinted already, the web interface is pretty much inaccessible once you join a team and interact with the real UI. Getting information about Slack, even signing up to a team work OK, but the actual hot stuff isn’t working. Aside from the textarea that is the input for a message, and an occasional link strewn about, the rest is all non-semantic clickable div and span elements, probably very nicely colored if memory serves me right from reading reviews. Even though it’s 2016, and Slack has only been around since 2013, they definitely didn’t use the web accessibility basics, AKA proper semantics, in their HTML. So yes, you can get all kinds of information about Slack, you can sign up to teams, but the rest should then be done in a mobile client (see below). That is, if you’re a keyboard or screen reader user or have a need for other assistive technologies in the browser. The only place this is a little better is in mobile Safari, and using exploratory touch, not sequential walk through of the web app. There, you can get to certain things a little more easily than from the constraints of a desktop browser/screen reader combination.
The Mac and Windows clients
The same sad story is true for the native clients on Mac OS X and Windows. I tested the clients myself, and it is mostly a native wrapper around the same inaccessible web content. This will change once the web interface becomes accessible, since the wrappers used for both MacOS and Windows do in principle expose accessibility information, they just don’t have much to go on yet.
The iOS client
From reports of friends, and my initial trials, I knew the iOS client was supposed to be accessible. However when I first tried this with the a11ySlackers, I found a very confusing bug with where my position was or should be within a channel’s message history. Back then in September of 2015, I gave up and switched to IRC instead. Later, as I signed up to Chris’s evangelism community, I decided to dig back into this and finally figure out what was wrong. Because the rest of the app seemed largely accessible, including hiding the background when one of the side bar menus is active, something many iOS developers get wrong initially, by experience. As of November 2016, all problems I initially reported at this point in the post have been fixed. If you’re on the iOS client and have version 3.8 or later installed, you’re all good. If not, I suggest you update at once. The pagination problem where the last page was at the top and the first at the far bottom, team switcher problems some reported, and also interaction with attachments to a message have all been addressed, and one can now call this client fit for productive use.
The Android client
The Android client, from some initial testing, also seems largely accessible. Yay! 🙂
The only thing I found are two unlabeled controls, one at the top of the Settings screen, and one in the sub menu for adding/changing teams. Adding a team is unlabeled, existing teams have labels.
If you have an iOS or Android device and are in need of any assistive technology, the clients should get you most of the way there in terms of accessibility of the Slack service. The web site is another matter, though, and if you only have a desktop computer and assistive technology, you are currently out of luck.
However, there are rumors that Slack are working on improving the web site’s accessibility. I certainly hope so, and that those improvements will hit the public soon! After all, the biggest driver behind the development of Slack features, according to Slack’s CEO Stewart Butterfield in an interview with German Gründerszene Magazin, is the question how users feel when using the service. Well, I can tell you, Mr. Butterfield, right now, a not small group of users or potential users feel pretty much left out! And it is my sincere hope, and plea, that you use some of those millions of dollars you keep raising, to make sure that more users feel better about your service in the near future!
I will keep this article updated to reflect latest developments as they reach the public.