정부 시스템, 키보드 레이아웃 때문에 로그인 불가?
스위스 정부 로그인 시스템 AGOV, AZERTY 키보드 레이아웃에서 숫자 입력 불가 버그 발생
6개 입력 필드와 복잡한 JavaScript 로직이 문제의 원인으로 지목됨
웹 표준 준수 및 단순한 UI 설계의 중요성이 커뮤니티에서 강조됨
접근성 문제와 함께 정부 시스템의 견고성 부족에 대한 비판 제기
AZERTY 키보드와 JavaScript 이벤트 핸들링 충돌
본문에서는 스위스 정부 로그인 시스템 AGOV 등록 시, AZERTY 키보드 레이아웃에서 숫자 입력이 불가능했던 문제를 상세히 기술합니다. 이는 JavaScript 코드에서 Shift 키를 포함한 특수 키 입력을 차단하면서 발생한 것으로, 해당 레이아웃에서는 숫자 입력에 Shift 키가 필수적이기 때문입니다. 이로 인해 프랑스어권 사용자들의 시스템 접근에 심각한 장애가 발생했습니다. 커뮤니티에서는 이러한 키보드 레이아웃 호환성 문제를 간과한 설계에 대한 비판이 제기되었습니다.
복잡한 커스텀 UI 컴포넌트의 위험성
논의에서는 6개의 개별 입력 필드를 사용하고 JavaScript로 각 키 입력을 직접 처리하는 방식의 UI 설계가 문제의 근본 원인이라고 지적합니다. 웹 표준 HTML 폼 요소를 사용하면 브라우저가 기본적으로 제공하는 자동 포커스 이동 및 입력 유효성 검사 기능을 활용할 수 있어 불필요한 복잡성을 줄일 수 있다는 의견입니다. 특히, 데이터 격리 아키텍처(Data Isolation Architecture)를 적용하지 않고 JavaScript 로직이 DOM 조작과 직접적으로 엮이는 점이 유지보수성 저하의 원인으로 꼽혔습니다.
정부 시스템의 접근성 및 지원 채널 문제
커뮤니티에서는 AGOV 시스템의 접근성 문제와 함께 제한적인 지원 채널에 대한 비판이 있었습니다. 특히, 문제 해결을 위해 지원팀에 연락하려 해도 동일한 이메일 인증 절차를 통과해야 하는 닭과 달걀 문제(Chicken-and-Egg Problem)가 지적되었습니다. 또한, 데이터 미저장 정책(Zero-Retention Policy)을 적용하지 않은 채 민감한 개인 정보를 다루는 시스템에서 이러한 버그가 발생한 점은 보안 모델의 허점을 드러낸다는 의견도 있었습니다.
웹 표준 준수 및 개발 관행에 대한 제언
댓글에서는 웹사이트가 브라우저의 기본 기능을 재구현하려 할 때 발생하는 문제점을 강조합니다. HTML과 CSS만으로 충분히 구현 가능한 기능을 복잡한 JavaScript로 처리하는 것은 불필요한 복잡성 증가로 이어질 수 있다는 지적입니다. 또한, 소스 코드 공개 지연은 버그 리포팅 및 해결 과정을 더디게 만들 수 있으며, 단일 지원 채널은 사용자 피드백 수집에 비효율적이라는 의견이 제시되었습니다. 이는 견고한 시스템 설계(Robust System Design)의 중요성을 시사합니다.