In den vergangenen Monaten ist der Name des Dienstes Slack immer häufiger in sozialen Netzwerken, Presseartikeln oder bei an mich gerichteten Anfragen aufgetaucht. Zeit, sich mal genauer mit dessen Zugänglichkeit zu befassen.
Was ist Slack?
Slack ist ein Sofortnachrichten- oder Chat-Dienst für Teams. Ursprünglich für den Einsatz in Unternehmen gedacht, erfreut es sich inzwischen bei immer mehr Open-Source-Communities wie der von WordPress wachsender Beliebtheit. Es basierte zunächst auf dem alten Internet Relay Chat (IRC) Protokoll, hat sich von diesem aber inzwischen weg entwickelt. Während man, um an einem IR Chat teilnehmen zu können, ein gewisses technisches Verständnis haben muss und Angaben wie IRC-Server braucht, ist es bei Slack sehr einfach, sich zu registrieren. Man benötigt entweder eine Einladung oder muss sich mit Hilfe einer Webseite selbst eine schicken lassen, indem man einfach nur die E-Mail-Adresse eingibt. Danach wählt man lediglich einen Chat-Spitznamen und ein Passwort, und los geht’s. Bei IRC ist der Nachteil, dass jedes Netzwerk eigene Regeln zur Identifizierung hat, wenn es überhaupt welche gibt. Auch ist IRC je nach Netzwerk sehr anfällig für Störungen durch sogenannte Netzaufspaltungen (Net Split). Bei Slack ist alles zentral angelegt.
Ein weiterer Vorteil von Slack ist, dass alle möglichen und unmöglichen Dienste eingebunden werden können. Das reicht vom Anzeigen einfacher Tweets über das Teilen von Dokumenten oder anderen Dateien per Dropbox, Google Drive, Box usw. mit dem gesamten Team, über die Integration des Aufgabenverwaltungsdienstes Trello bis hin zur Integration von Skype oder Google Hangouts, um mit einem einzigen Befehl aus Slack heraus einen Gruppenanruf zu starten. Selbst ein Blumenkübel soll über Slack schon bescheid gesagt haben, dass er umgefallen ist – ähem tschuldigung – seine Einwohner neues Wasser benötigen.
Slack möchte eine moderne Form der Teamkommunikation sein, die auch die Nachteile von E-Mail-Threads und verschiedenen Kommunikationskanälen ausgleichen will. Idealerweise ist Slack also der Nachrichten-Hub fürs gesamte Team, über den alles ausgetauscht wird und somit alle immer auf dem neuesten Stand sind. Die Historie ist sogar für neu hinzugefügte Teammitglieder vollständig einsehbar, was ja z. B. bei schon abgeschlossenen E-Mail-Diskussionen nicht der Fall ist, es sei denn, man macht eine sehr umständliche Weiterleitungsorgie.
Wie kam ich zu Slack?
Auslöser für mich war die Gründung einer englischsprachigen Interessengruppe rund um die Zugänglichkeit im Web, die a11ySlackers. Von Berichten von Freunden wusste ich, dass die iOS App recht zugänglich sein sollte, das Webinterface hingegen nicht.
Meine ersten Gehversuche verliefen aber wenig erfolgversprechend. Das Erhalten einer Einladung und die Registrierung klappten, und die Webseite hielt in der Tat, was sie versprach. Die iOS App jedoch, die zugänglich sein sollte, hatte einen sehr komischen Scroll-Fehler, durch den es mir kaum möglich war, die Unterhaltung richtig zu verfolgen. Ich gab den Versuch also auf und nahm den Weg über Gitter, dessen IRC-Brücke und den Dienst IRCCloud, einen webbasierten IRC-Client, der und dessen iOS App gut zugänglich sind.
Anfang Januar 2016 verkündete Christian Heilmann jedoch, dass er eine Slack-Gruppe für diejenigen gegründet hat, die regelmäßig Vorträge rund ums Web halten und ansonsten auch Webentwicklern bei allen möglichen und unmöglichen Dingen helfen. Im Englischen nennt man das Developer Evangelist oder Advocate, deutsche Begriffe sind mir dafür nicht bekannt.
Basierend auf meinen oben geschilderten Erfahrungen aus dem September 2015 war ich sehr enttäuscht, weil ich so ohne weiteres an diesem Team nicht würde teilnehmen können. Ich äußerte dies auch und schlug stattdessen vor, das doch viel zugänglichere IRC und einen vernünftigen IRC-Client zu nehmen. Christian schlug mir im Gegenzug vor, dass wegen der deutlich besseren Features und des User Interfaces man doch viel lieber die Macher von Slack dazu bringen sollte, ihre Arbeit richtig zu machen. Er hat diesen Austausch und seine Gedanken dazu in einem englischsprachigen Artikel namens „Don’t use Slack?“ zusammengefasst. Dennoch fühlte ich mich zunächst mal ziemlich außen vor, um nicht zu sagen ausgesperrt.
Nachdem ich eine Nacht drüber geschlafen hatte, reifte in mir der Entschluss, diese Frustration in etwas positives umzukehren und tatsächlich zu versuchen, irgendwie einen Fuß in die Tür bei Slack zu kriegen, um zu helfen, dass deren Clients in Zukunft zugänglicher für Menschen werden, die Screen Reader oder andere Hilfstechnologien nutzen müssen. Denn es gibt einiges zu tun!
Die Webseite
Wie bereits angedeutet, ist die Webseite im Informations- und Registrierungsbereich zwar recht OK, im eigentlichen Bereich der Applikation besteht sie aber quasi komplett aus nicht semantischen div und span Elementen mit Klick-Behandlern. Es gibt zwar ein korrektes mehrzeiliges Eingabefeld für die Chatnachrichten, die man selbst schreibt, und hier und da ist auch ein Link zu finden. Aber sämtliche Popups oder Overlays, die nur erscheinen, wenn man mit der Maus drüber geht und die Chatausgabe eines Kanals selbst sind unstrukturiertes HTML ohne semantische Zusammenhänge. Screen-Reader-Benutzer, Leute, die ihren Browser nur mit der Tastatur steuern wollen oder alle möglichen anderen Gruppen, die den Browser nicht voll sehenden Auges und mit einer Maus bedienen können oder wollen, sind hier außen vor. Packt man dazu noch fehlende Alternativtexte für so ziemlich alle Grafiken und ganz viele lustige Icon Fonts, die noch viel lustigere Ergebnisse mit der Sprachausgabe erzeugen, hat man das Chaos ziemlich gut umschrieben. Wusstet ihr, dass unten auf jeder Seite steht: „Made with Damenkleidung by Slack“?
Der Mac- und Windows-Client
Bei den Clients für Mac und Windows sieht es nicht besser aus. Der Mac-Client ist kaum mehr als eine native Verpackung für dieselbe unzugängliche Webseite. Und Berichte zur Windows-Version, die ich nicht selbst getestet habe, legen den Verdacht nahe, dass auch hier die Webseite lediglich in eine Umverpackung für die Betriebssystemintegration eingebettet wird. Da ist genauso Hopfen und Malz verloren wie auf der Webseite selber.
Der iOS-Client
Dieser ist tatsächlich in vielen Dingen zugänglich. Es gibt keine unbeschrifteten Schalter, selbst die Einblend-Menüs für die Kanäle und sonstigen Funktionen werden so dargestellt, dass vom Hintergrund für VoiceOver nichts mehr zu sehen ist und man diese Menüs auch wieder ordentlich schließen kann. Daran scheitern im ersten Versuch erfahrungsgemäß viele iOS-Entwickler. Es gibt jedoch drei Probleme, die die Bedienung noch etwas hakelig machen.
Zum einen werden in den Einstellungen die tatsächlich gewählten Optionen für Browser, Twitter Links oder Push-Benachrichtigungen nicht gesprochen. Man weiß einfach nicht, welche der Optionen tatsächlich gewählt ist. Das Doppeltippen auf eine der Optionen wählt sie aber zumindest visuell und funktional aus, so dass man sich damit behelfen kann, es einmal so einzustellen wie man es möchte, selbst wenn diese Option schon gewählt gewesen sein sollte.
Das zweite Problem betrifft Anhänge von Nachrichten wie eingebettete Tweets, Links zu Artikeln usw. Diese sind mit VoiceOver bisher nicht zugänglich. Man kann zwar auf jede Nachricht doppeltippen und halten, bekommt aber entweder das Popup für die Nachricht selbst oder, je nach Zufall bzw. dem, was genau in der Mitte gerade ist, den für den Anhang angezeigt. Hier also richtig mit zu interagieren, ist sehr hakelig und bedarf manchmal des vorübergehenden Ausschaltens von VoiceOver, um dann blind in die hoffentlich richtige Ecke zu tippen.
Und das dritte Problem betrifft tatsächlich immer noch das Scrollen. Und nach einer halben schlaflosen Nacht ereilte mich nach viel Testen morgens um vier Uhr die Erkenntnis, was hier eigentlich schief lief. Hat man sich an ein Team angemeldet und landet im Ausgabebereich der Nachrichten, erzählt VoiceOver einem was davon, dass man auf Seite 1 von 34 sei, wenn man mit drei Fingern aufs Display tippt. Die Nachrichten selbst sind aber so sortiert, dass die neueste unten steht. Normalerweise würde man erwarten, dass bei einer solchen Sortierung die neueste ganz oben stünde.
Das Runterscrollen zu älteren Nachrichten klappt demzufolge auch nicht. Man muss bei aktiviertem VoiceOver mit drei Fingern nach oben streichen, also die Nachrichten von unten nachziehen, um ältere Nachrichten zu lesen. Und auch hier stellt es sich wieder so dar, dass ältere Nachrichten oben, neuere unten stehen. Das simple Nach-Rechts-Wischen von Nachricht zu Nachricht liest sie aber wieder so vor, als scrolle man kontinuierlich nach unten. Aber am Ende ist man wieder auf Seite 1 von 34 gelandet.
Und jetzt wird’s lustig: Ich testete dies Verhalten mit meiner Herzdame, welche sehend ist. Und sie sagte mir, dass die Nachrichten genau so dargestellt werden, wie man es erwarten würde. Die neuesten ganz unten, und sie müsse den Finger nach unten übers Display ziehen, um ältere Nachrichten zu sehen. Ich schaltete VoiceOver wieder zu, und als ich dann von Seite 1 von 34 mit drei Fingern nach oben wischte, scrollte der Bildschirm nach unten. In Slack, und nur hier, verhält sich bei eingeschaltetem VoiceOver die Scrollrichtung also genau entgegengesetzt zur Richtung der Fingerbewegung. VoiceOver bekommt also die Bildschirmseiten irgendwie umgekehrt sortiert vorgelegt. So einen Bug habe ich in fast sieben Jahren Nutzung von VoiceOver auf dem iPhone noch nie gesehen! Und es hat mich verdammt nochmal ganz schön verwirrt! :O)
Wenn man nun also als VoiceOver-Nutzer wieder in einen Channel zurückkehrt und die seit dem letzten Besuch angefallenen Nachrichten in der richtigen Reihenfolge lesen möchte, sollte man wie folgt vorgehen:
- Mit Hilfe von Erforschen des Bildschirms oben unterhalb der Überschrift ein Element finden, das so etwas sagt wie „23 unread messages“ und darauf doppelt tippen.
- Man wird nun mit VoiceOver direkt auf eine Überschrift plaziert, die „New messages“ heißt.
- Jetzt durch wiederholtes Wischen nach rechts mit einem Finger die Nachrichten in der richtigen Reihenfolge durchlesen.
So komme ich mit der iOS-App auf iPhone und iPad tatsächlich gut zurecht. Aber komisch ist es trotzdem, und ich hoffe, dass nach meiner Meldung bei Slack und deren Bestätigung, dass sie diesen und die anderen Fehler, die ich oben erwähnte, schon kennen, diese möglichst bald in einem Update behoben werden!
Die iOS-Version ist nach dem Registrieren für ein Slack-Team also tatsächlich ein gangbarer Weg für VoiceOver-Nutzer.
Der Android-Client
Der Slack-Client für Android ist ähnlich gut zugänglich wie der für iOS. Lediglich zwei unbeschriftete Controls gibt es: Einen oben im Einstellungen-Bildschirm und den Button zum Hinzufügen eines weiteren Teams in der Teamliste. Auch diese sind bereits an Slack gemeldet. Ansonsten ist der Client gut bedienbar, sogar ohne verwirrenden Scrolling-Fehler.
Fazit
Das Erhalten einer Einladung und das Registrieren für ein Slack-Team klappen über die Desktop- und Mobilseite im Browser problemlos. Danach darf man als Screen-Reader-Nutzer aber von der Webanwendung nichts weiter erwarten. Hier muss viel Arbeit geleistet werden, um diesen Kahn flott zu kriegen für eine Zugänglichkeit für alle.
Als gangbare Wege bleiben die Clients für iOS und Android. Gekoppelt mit einer entsprechenden Bluetooth-Tastatur fürs komfortablere Tippen ist die App auf beiden Plattformen gut nutzbar. Natürlich mit den oben erwähnten Einschränkungen.
Wer noch mehr über Slack und die Philosophie des Unternehmens erfahren möchte, findet in zwei Interviews mit dem Gründer Stewart Butterfield bei T3n und dem Gründerszene-Magazin einige sehr lesenswerte Aussagen. Slack macht durchaus den Eindruck, nicht ein x-beliebiges neues Startup aus dem Silicon Valley zu sein, und es könnte die Art, wie Teams in Unternehmen und auch im Open-Source-Bereich miteinander kommunizieren, umkrempeln, weil es auf einfache Weise viel bessere Integrationsmöglichkeiten bietet als das althergebrachte IRC oder die gute alte E-Mail. Bei der immer größer werdenden Informationsflut ist es wichtig, diese zu bündeln und sich nicht in zu vielen Kanälen zu verzetteln, die man überwachen muss, und Slack kann hier eine gute Möglichkeit sein.
Ich werde diesen Artikel regelmäßig mit neuen Erkenntnissen und Entwicklungen aktualisieren.