채팅 상담 적용 사례
Last updated
Was this helpful?
Last updated
Was this helpful?
최근 많은 기업들이 챗봇 서비스를 통해 고객 경험 향상시키고자 많은 노력을 하고 있지만, 실상 장애인들도 챗봇 서비스를 이용할 수 있을까? 일반인보다도 장애인에게 더 유용할 서비스인 채팅 서비스를 어떻게 접근성을 준수하고자 했는지 확인해보자.
채팅창을 aria로 제작하는 대표적인 방법은 role="log"를 사용하면 간단하다. 전체 채팅창 컨테이너에 role="log"를 삽입하면 컨테이너에 업데이트되는 노드는 알아서 스크린리더가 읽게 된다.
안녕? 만나서 반가워
간단하게는 위와 같은 예제로 제작하면 되고, 또 다른 방법으로는 아래와 같은 방법이 있다.
채팅창 컨테이너 aria-live="assertive"
속성으로 실시간으로 삽입되는 노드를 읽도록 구성하고, aria-atomic="false"
로 변경된 노드만 읽도록 하고, aria-relevant="additions text"
속성을 사용하여 추가된 노드를 읽도록 설정하였다.
하단 메시지 입력 박스에 포커스가 이동하고 스크린리더로 듣게 되면 아래와 같이 읽게 된다.
메세지 입력 edit 최대 200자까지만 입력 가능합니다. 상담원 안녕하십니까 고객님, 무엇을 도와드릴까요? 오후 7:42:00
메세지 입력 edit 최대 200자까지만 입력 가능합니다. 부모님 마일리지를 합산하고 싶은데 계정을 모릅니다.
사용자 부모님 마일리지를 합산하고 싶은데 부모님 계정을 모릅니다. 오후 7:42:24 상담원이 메세지를 입력 중입니다.
상담원 죄송합니다 스카이패스회원번호는 본인에게만 안내가능합니다 회원 본인이 직접 1588-2001번으로 전화주시거나혹은 홈페이지 통한 찾기 해주셔야 합니다. 오후 7:42:53
메세지 입력 edit 최대 200자까지만 입력 가능합니다.
위 채팅 문구 중 "상담원이 메세지를 입력 중입니다"는 다른 aria-live 속성을 사용하여 실시간으로 스크린리더에서 읽도록 설정하였다.
복잡할 것 같지만 의외로 많은 작업을 하지 않고 채팅창 live region 속성 몇 가지만 사용하여도 완벽하지는 않겠지만 장애인이 이해할 수 있을 정도의 채팅 서비스를 구현할 수 있다.
Live Region은 다양한 속성이 있으며 콘텐츠의 중요도에 따라 적절한 속성을 사용해야 한다. 이 속성은 잘못 사용하게 되면 스크린리더 사용자에게 매우 심각한 영향을 끼치게 되므로 주의해야 한다.
Attribute
Value
Description
aria-live
assertive / polite / off
업데이트 되는 콘텐츠의 중요도에 따라 설정할 수 있는 속성
aria-atomic
true / false
일부만 변경된 경우에도 전체를 읽어야 하는지를 설정하기 위한 속성
aria-relevant
additions / removals / text / all
변경되는 타입의 추가된 노드/삭제된 노드/변경된 텍스트 등으로 설정하는 속성