코드만 보이는 화면의 문제
양식을 제출했는데 알 수 없는 코드만 화면에 나타난다면 이용자는 다시 시도해야 하는지, 입력을 고쳐야 하는지, 아니면 그냥 기다려야 하는지 알 수 없습니다. 내부 코드는 담당자가 문제를 추적할 때 쓸모가 있지만, 이용자에게는 단독 안내가 되어서는 안 됩니다. 오류 메시지는 무슨 일이 생겼는지와 지금 할 수 있는 행동을 함께 알려 주어야 합니다.
사용자 입력 문제는 특히 입력 형식에 대한 안내가 부족해서 생기는 경우가 많습니다. 전화번호에 하이픈을 넣어야 하는지, 날짜는 어떤 순서로 쓰는지를 입력란 옆에 미리 보여 주면 오류 자체가 줄어듭니다. 오류가 나기 전에 막는 안내가 가장 좋은 오류 메시지입니다.
입력 문제와 서비스 문제를 구분하기
가장 먼저 이용자가 고칠 수 있는 오류와 서비스 쪽에서 생긴 장애를 구분합니다. 필수 항목이 비어 있다면 어느 항목인지 짚어 주고, 이미 입력한 다른 값은 그대로 유지해야 합니다. 서버나 외부 인증처럼 이용자가 어쩔 수 없는 문제라면 이용자가 잘못한 것처럼 읽히는 표현을 피하고, 잠시 뒤 다시 시도하거나 공식 지원 경로를 확인하도록 안내합니다. 확인되지 않은 복구 시간을 약속하는 문장은 쓰지 않습니다.
결제와 예약에서는 완료 여부가 우선
결제나 예약처럼 중요한 행동에서는 처리가 되었는지 아닌지가 가장 큰 관심사입니다. 오류 화면이 떠도 실제로는 접수가 끝났을 수 있는데, 확인 없이 다시 제출하라고 안내하면 중복 신청이 생길 위험이 있습니다. 현재 상태를 확인할 수 있는 경로를 제공하고, 운영자가 추가로 확인해야 한다면 어떤 정보가 필요한지 최소한의 범위로만 알려 주세요. 개인정보를 공개된 댓글에 남기도록 유도하는 안내는 피해야 합니다.
오류 문구를 쓰는 사람은 서비스 내부를 잘 알기 때문에 어떤 표현이 모호한지 스스로 알아차리기 어렵습니다. 서비스를 처음 쓰는 사람에게 문구만 보여 주고 다음에 무엇을 하겠는지 물어보면 모호한 부분이 금세 드러납니다. 두세 사람의 답이 갈린다면 문구를 다시 다듬을 때입니다.
메시지를 놓는 위치와 전달 방식
메시지의 위치도 점검합니다. 화면 맨 위에 오류라는 단어만 보이고 실제 문제가 된 입력란은 아래쪽에 숨어 있으면 이용자가 찾기 어렵습니다. 해당 항목 가까이에 이유를 적고, 키보드로 이동할 때나 화면 읽기 도구를 쓸 때에도 오류가 전달되는지 확인하세요. 빨간색 같은 색상만으로 상태를 구분하면 색을 구별하기 어려운 이용자에게는 전달되지 않습니다.
이용자 문구와 내부 기록 분리하기
이용자에게 보이는 문구와 내부 로그는 나누어 관리합니다. 접수번호나 발생 시각처럼 지원 담당자가 추적할 수 있는 정보는 개인정보가 아닌 범위에서 보여 줄 수 있지만, 서버 구성 같은 민감한 시스템 정보는 공개 화면에 노출하지 않습니다. 이용자에게 화면 전체나 민감한 입력값을 캡처해서 보내 달라고 요구하는 방식도 가능한 한 피하는 편이 안전합니다.
문구가 실제 동작과 맞는지 시험하기
메시지에서 안내한 대로 행동했을 때 실제로 문제가 해결되는지 모바일과 컴퓨터 양쪽에서 시험해야 합니다. 다시 시도하라고 했는데 같은 오류가 반복된다면 문구를 더 친절하게 바꾸는 데서 그치지 말고 원인을 고쳐야 합니다.
같은 오류가 반복되는지 살피는 방법
오류 문구를 정리한 뒤에는 어떤 오류가 얼마나 자주 나타나는지 기록해 보는 것이 좋습니다. 특정 항목에서 입력 오류가 몰린다면 안내 문구나 입력 형식의 예시가 부족하다는 뜻일 수 있습니다. 시간대별로 장애성 오류가 늘어난다면 서비스 쪽 점검이 필요하다는 신호입니다. 이렇게 보면 오류 메시지는 이용자를 안내하는 도구이면서 사이트의 불편한 지점을 알려 주는 자료이기도 합니다.
문의 창구에도 같은 기준을 적용하세요. 지원 담당자가 이용자에게 같은 말을 되풀이하고 있다면 그 내용이 화면의 안내 문구로 옮겨져야 할 대상입니다.
좋은 오류 메시지는 코드를 해독하라고 요구하지 않고, 이용자가 자신의 작업 상태를 이해해 안전한 다음 단계를 고르게 합니다. 입력 오류와 장애의 구분, 완료 여부 확인 경로, 항목 가까운 위치, 내부 정보 분리의 네 가지를 우선 점검해 보시기 바랍니다.