터미널 환경에서 작동하는 텍스트 사용자 인터페이스(TUI)는 그래픽 인터페이스(GUI)보다 접근성이 높을 것이라는 인식이 많습니다. 하지만 최근 OSNews 기사에 따르면, 현대 TUI 프레임워크로 개발된 애플리케이션들이 오히려 스크린 리더 사용자에게는 그래픽 인터페이스보다 더 사용하기 어렵다는 비판이 제기되었습니다. 이는 TUI 자체의 문제가 아니라, 현대 프레임워크가 터미널의 핵심 기능을 제대로 활용하지 않는 구현 방식 때문이라는 분석입니다.
전통적인 명령줄 인터페이스(CLI)는 데이터가 시간순으로 쌓이는 선형 스트림 구조를 가집니다. 최신 정보가 아래에 추가되고 과거 기록은 위로 올라가는 방식이어서 스크린 리더가 내용을 비교적 쉽게 파악할 수 있었습니다. 그러나 Ink(JS/React), Bubble Tea(Go), tcell 같은 현대 TUI 프레임워크는 각 문자 셀을 픽셀처럼 다루는 2차원 격자 방식으로 화면을 구성합니다. 이는 데이터의 시간적 흐름 대신 공간적 레이아웃을 중시하며, 화면을 갱신할 때마다 커서를 여러 위치로 반복적으로 이동시킵니다. 이 과정에서 스크린 리더는 화면의 변화와 올바른 읽기 순서를 제대로 처리하지 못해 사용자 경험을 저해하게 됩니다.
일부 오래된 TUI 애플리케이션은 이러한 문제를 피하기 위해 터미널의 고유 기능을 활용했습니다. 예를 들어, Irssi는 화면 전체를 다시 그리는 대신 VT100 스크롤 영역(scroll region)을 사용해 필요한 부분만 효율적으로 업데이트합니다. 이는 문자 기반 출력 여부보다 터미널 화면을 어떻게 갱신하는지가 접근성을 좌우한다는 점을 보여줍니다. 따라서 TUI 개발자들은 화면 재그리기와 커서 이동이 스크린 리더에 미치는 영향을 충분히 고려하고, TUI 설계 과정에서 접근성을 핵심 요소로 다뤄야 할 필요성이 강조되고 있습니다. 터미널의 잠재력을 최대한 활용하면서도 모든 사용자가 불편함 없이 정보를 접할 수 있도록 하는 것이 중요합니다.