왜 자바스크립트로 링크를 걸까?

며칠 전 Daum Blog UI 개편이 있었다. 개편의 핵심은 내부 링크를 Ajax로 구현해서 최대한 빠르게 본문 및 댓글을 가져오게 하는 것이다. 사용을 해보면 알겠지만 꽤 속도도 빠르고 만족할 만하다.

근데 사내에서도 지적했지만 코드 결과물을 보면 정말 짜증 나면서도 어이없는 문제점이 있다.
링크를 모조리 viewAjaxArticle이라는 자바스크립트 함수로 구현한 것이다. 아마 대부분 웹 개발자나 UI개발자들이 흔히 하는 링크 방식을 게다.

자바스크립트 함수를 만들고 이를 링크에 이용하는 것이다. 이럴 경우, 장애인을 위한 스크린 리더나 검색 엔진의 경우 어쩔 줄을 모른다. 제일 좋은 것은 정확한 URL에 링크를 걸어 주는 것이다.

만약 굳이 써야 겠다면, 다음과 같이 하는 게 좋지만 권장 하지는 않는다.

잘못된 방식
<a href=”viewAjaxArticle(‘1’);”>1번 글보기</a> 혹은
<a href=”#” onClick=”viewAjaxArticle(‘1’);”>1번 글보기</a>

잘된 방식
<a href=”/viewArticle?id=1″ title=”글 보기”>1번 글보기</a>

대안 방식
<a href=”/viewArticle?id=1″ onClick=”viewAjaxArticle(‘1’);return false;”>1번 글보기</a>

사실 이런 게 공공 기관 보안 지침에 의해 정당화 되고 있기도 하다니 정말 할말이 없다.

그렇지만 공공기관을 그렇다 치고 모질라 웹 표준 포럼에서도 이야기 되었던 건데, 그냥 오래된 습관이나 관성 같다.

우리 나라 만큼 표준 기법이나 코딩 컨벤션이 안 지켜지는 데도 없는 거 같다.  그 만큼 개발자들이 자기 하던 대로 한다는 것이다.

모름직이 국내 양대 포털 서비스를 만드는개발자라도.

- ;

Disclaimer- 본 글은 개인적인 의견일 뿐 제가 재직했거나 하고 있는 기업의 공식 입장을 대변하거나 그 의견을 반영하는 것이 아닙니다. 사실 확인 및 개인 투자의 판단에 대해서는 독자 개인의 책임에 있으며, 상업적 활용 및 뉴스 매체의 인용 역시 금지함을 양해해 주시기 바랍니다. 본 채널은 광고를 비롯 어떠한 수익도 창출하지 않습니다. (The opinions expressed here are my own and do not necessarily represent those of current or past employers. Please note that you are solely responsible for your judgment on checking facts for your investments and prohibit your citations as commercial content or news sources. This channel does not monetize via any advertising.)

여러분의 생각 (3개)

  1. Funworld 댓글:

    표준이란게 이제 의미는 없는 것 같습니다. 적어도 한국에서는..
    극히 일부 환경에서만 돌아가게 해도 한국 인터넷 환경에서는 상관이 없으니까요..
    도저히 맥을 메인으로 쓸 수가 없는 상황..

  2. izen's bolg 댓글:

    음… 나도 잘못된 방식으로 사용하고 있엇군… 요즘은 제대로 할려고 노력은 한다만… 이건 또 새로운 사실 이구나!!! 원문. 며칠 전 Daum Blog UI 개편이 있었다. 개편의 핵심은 내부 링크를 Ajax로 구현해서 최대한 빠르게 본문 및 댓글을 가져오게 하는 것이다. 사용을 해보면 알겠지만 꽤 속도도 빠르고 만족할 만하다. 사내에서도 지적했지만 작업할 때 실수가 하나 있었다. 링크를 모조리 viewAjaxArticle이라는 자바스크립트..

  3. okoru 댓글:

    링크를 함수로써만 구현해서 새 창, 새 탭으로 열 수 없을 때 자주 짜증내곤 합니다.