Daybreakin Things
간만에 좋은 레퍼런스 글을 읽었다. javascript로 접근성을 지키는 코딩을 하는 방법에 관한 것인데 너무나 공감가는 부분이 많다.
우선 <a href="/path/linkfile" onclick="window.open(this.href, '', '...'); return false;" >link</a>와 같은 코딩 방식은 정말 추천할 만한 것이다. 얼마 전에 MR 홈페이지의 익명게시판을 만들면서 글 삭제 버튼을 구현할 때, 이런 방법을 써서 javascript가 되면 확인/취소 대화상자를 띄우고(onclick 핸들러에서 return false를 하면 해당 링크가 실행되지 않기 때문에 가능하다), javascript가 비활성화되어 있을 경우는 그 url이 바로 실행되어 삭제가 된다. 즉 기능 이용에는 아무런 문제가 없게 하고 있는 것이다. 이것은 Firefox/IE 등 여러 브라우저에서 다 통하는 것 같다.
그 다음으로 엄청나게 공감한 건, 각종 form 정보를 javascript를 이용해서 여러 페이지에 걸쳐 자동으로 넘기게끔 되어 있는 것들이었는데, 예로 든 qubi.com(철도·교통 포탈로 철도 예약 가능)을 내가 자주 이용하기 때문이다.
정확한 원인은 모르겠지만 Microsoft Script Debugger를 설치했다가 지운 뒤로 IE에서 qubi.com에 들어갔을 때 열차 조회 시 "권한이 없습니다"라는 메시지가 뜨며 오류가 나기 시작했다. (iframe으로 조회창을 만들어놨던데 그 주소의 host과 iframe을 감싼 document 주소의 host가 달라서 그런 것인지.. 디버깅 해봐도 원인을 모르겠다)
아무튼, 그래서 나는 열차 예약은 Firefox로 하고 결제는 IE로 하고 있다. 그런데 Firefox로 로그인하려고 하면 문제의 javascript를 이용한 redirection 때문에 주소창에 매번 url을 직접 다시 쳐줘야 하는 불편을 겪고 있다. (그나마 열차 조회와 예약이 작동하는 게 다행이라고 해야 되는 건지..orz)
Javascript도 잘 생각을 하고 쓰면 정말 유용한 도구이지만, 그걸 잘못 이해하고 쓰면 가장 최악의 접근성을 낳기도 한다. 철도청이 철도공사로 바뀌어 국가 행정 기관이라고 볼 수는 없게 되었지만, 분명히 국민을 위한 공익성을 띠고 있으므로 아래에서 말한 행정 소송의 범위에 포함될 수 있을 것이다. 제발 저런 javascript를 이용한 redirection 폼, javascript로만 submit 가능한 폼을 만들지 않았으면 좋겠다. (이것 때문에 회원가입과 로그인이 안 되는 사이트만 해도 엄청나게 많을 것이다)