Slack’s threads are terrible for accessibility

Slack’s lackluster implementation of threading shapes the rest of its collaborative features, largely nullifying them. Slack gives users the ability to reply to messages, creating a thread. I say ability because that’s all it is: a possibility that technically exists.

But what do Slack’s threads give us, and what do we want from them? They can’t be organized; for one, there’s no way to move a thread from one channel to another where it might more accurately belong, and there’s also no way to categorize, sort, or browse threads. Slacks’ threads are branches off of a conversation, not groups and bases of knowledge like they can become in a phpbb or similar. For instance, threads can’t be tagged, and it’s difficult to add additional context to a thread — messages can’t be pinned to a thread, not that it would really matter, because there’s no way to search a thread. The link between a thread and its channel is tenuous as well; there’s no notifications for new threads or messages in threads you’re not “following,” so unless you never miss a Slack message (difficult in general, especially if you’re attempting to enforce any sort of work-life boundaries) it’s easy to miss even large, active threads. On the flip side, when participating in a thread, replies are easily lost for the rest of the channel among a flurry of other messages unless you (tediously) check “also send to channel” every time you message — and these downfalls are compounded by the plethora of niche single-purpose channels Slack encourages users to create; users have to check each channel manually without the advantages of a unified feed where they can see, sort, and filter all messages.

It’s not like I’m the first person to point out these flaws, either; Twist, the Slack-replacement messaging and communication software from Doist (the company behind Todoist), capitalizes on Slack’s shortcomings by prominently advertising searchability, organization, threading, and archival features in Twist — it’s just too easy to lose information in Slack.

Slack’s tools for coreferencing — that is, enabling two or more people to “point to” the same thing — are rudimentary at best, largely because Slack has no concept of context within the application. There’s no concept of tabs and the “history” feature, which I discovered while writing this article — is next-to-useless because it browses through the entire application’s state; there’s no way to go back and forward within a chat, panel, or sidebar. Even early browsers understood that we’d want to look at multiple webpages at once by opening multiple windows, but modern communication applications refuse the possibility entirely — Slack, Discord, Signal, Telegram, and even Tinder flat-out-refuse to be viewed twice at once; the idea that a user would want to carry on multiple conversations at once without having to switch windows or views has seemingly never occurred to the designers or developers.

As a result, coreferencing is nearly-impossible, because Slack and its ilk prevent users from talking to a person or group of people while looking at something else — and especially while looking at multiple other things.

These shortcomings seem particularly ironic given that Slack is allegedly designed to “bring teams together” and to enhance and streamline collaboration within corporations — did Slack’s developers not notice all the ways their own application got in the way of actually collaborating? (It wouldn’t be too surprising, though, coming from a company which branded itself an expert on remote work at the start of a pandemic despite having previously forbidden remote work entirely.)

Slack compounds this effect by presenting notifications in a chaotic, largely unordered interface, where there’s no way to check items off (or control how items get checked off), where each notification is presented largely without context (because — remember? — threads can’t be titled, renamed, or tagged), and where notifications are scattered across the application in an unpredictable, high-effort spread — threads, mentions, and reactions only account for a small portion of what I’m expected to “keep up with” in a Slack workspace; I need to check each channel with new messages (which, usually, is all of them) manually, as well as direct messages, and perhaps I additionally have to follow up on other tasks that people haven’t replied to (and, of course, Slack gives me no tools for managing these).

It’s frustrating to be surrounded by tools and systems — particularly those, like Slack, that I’m forced to use for school or work, and particularly those, like Slack, which have proprietary applications and no other way to connect through more accessible services (like the IRC bridge that Slack shut down in 2018, long before even attempting to make the first-party Slack applications usable for blind people with screen readers).