Drücke "Enter", um den Text zu überspringen.

Barrierefreie Gestaltung von Chatbots


Generell gelten für Chatbots die gleichen Anforderungen wie für die gesamte Anwendung. In diesem Beitrag werden nur Chatbot-spezifische Herausforderungen behandelt.
Chatbots werden in der Regel nicht selbst entwickelt. Vielmehr werden sie von Dritt-Anbietern übernommen und über Frames, iFrames oder andere Technologien integriert. Frames benötigen einen Titel, der deren Zweck beschreibt. Der Fokus der Tastatur sollte hinein und hinaus bewegt werden können. Dabei sollte darauf geachtet werden, dass sie korrekt in die Website-Hierarchie eingebunden sind, Zum Beispiel über HTML Aside oder ARIA Complementary. Das gilt entsprechend, wenn andere Technologien zur Einbindung genutzt werden.
Chatbots befinden sich oft als Sticky-Elemente in der unteren rechten Ecke einer Website. Für Blinde sind diese Elemente oft unauffällig. Um auf deren Existenz aufmerksam zu machen, kann man zum Beispiel mit internen Sprunglinks am Anfang der Website arbeiten. BTW sollten Sticky-Elemente so eingebunden werden, dass sie beim Zoomen den Inhalt nicht überlagern.
Ein wichtiger Aspekt ist die Bedienbarkeit per Tastatur. Sind alle Elemente per Tastatur erreichbar, bedienbar ?
Über Aria live atomic oder ARIA Alert sollten die Antworten ausgegeben werden, sobald sie vollständig vorliegen. Bei LLMS ist es üblich, dass die Anfworten zeitverzögert ausgegeben werden. Der Fokus sollte nicht auf die Antwort verschoben werden, da man ja in einem Chat ist und eventuell eine weitere Rückfrage stellen möchte.
Fragen und Antworten sollten über P-Tags strukturiert werden. Andere Strukturen wie Headings oder Zitatblöcke halte ich für diesen Zweck nicht für sinnvoll. Während für Fragen ein Absatz meistens ausreicht, können längere Antworten ihrerseits in einzelnen Absätzen strukturiert werden.
Es sollte klar unterscheidbar sein, was die Frage und was die Antwort ist, eine rein visuelle Unterscheidung durch Farben oder Einrückung ist nicht ausreichend. An dieser Stelle ist es sinnvoll, mit visuellem Text zu arbeiten statt mit ARIA Labels, so sind die Informationen für alle sichtbar. Beispiel:

Frage: Wo beantrage cih einen Schwerbehindertenausweis?
Antwort: Der Schwerbehindertenausweis wird bei den Versorgungsämtern beantragt.

Bei einem Chat sind üblicherweise mehrere Personen beteiligt. In diesem Fall sollte natürlich der Name oder Nickname der jeeiligen Person am Anfang des jeweiligen Beitrags gezeigt werden. Das ist heute allerdings bereits üblich.
In Desktop-Zeiten war es üblich, dass Fragen per Return abgesendet wurden. Das hat vor und Nachteile. Manchmal drückt man Return, um einen Zeilenumbruch zu erzeugen. Bei Smartphones bzw. Tablets mit Bildschirm-Tastatur kommt man nicht unbedingt auf die Idee, einen Zeilenumbruch zu machen, um die Frage abzuschicken. Ich denke, es ist beides in Ordnung, das Absenden per Return oder das Anbieten eines Absende-Buttons. Beides entspricht bekannten Patterns.
Ein wichtiges Thema sind auch die Denkpausen: Bisher sind mir keine Chatbots bekannt, die wirklich lange Wartezeiten erfordern. Bei ChatGPT denkt man höchstens, dass man dem LLMSbeim Nachdenken zuschauen kann, während es die Antworten formuliert. Allerdings ist es sinnvoll, dem Nutzenden mitzuteilen, dass seine Frage gesendet wurde, zum Beispiel per ARIA Alert, Sehenden ist das soweit klar, weil das Text-Eingabefeld geleert wird und die Frage als normaler Text angezeigt wird.
Ist eine Wartezeit erforderlich, sollte ein Indikator eingebunden werden, der entsprechend barrierefrei ist. Die sich bewegenden Elemente wie die typischen drehenden Spinner sollten vermieden werden, um das Kriterium 2.2.2 Pause, Stop, Hide zu erfüllen. Das kann ein sich nicht bewegender Spinner oder eine Meldung „Antwort wird erzeugt“ oder ähnlich sein.
Zu unterscheiden ist zwischen echten Chatbots, bei denen Nachrichten explizit abgesendet werden und Echt-Zeit-Kommunikation = Real Time Communication RTC, bei dem Nachrichten während des Schreibens bereits beim Empfangenden angezeigt werden. Bei Letzterem wird durch die Verwendung entsprechender Protokolle sicheergestellt, dass sie von den Nutzenden assistiver Technologien auch gelesen werden können.