帰ってきたHolyGrailとHoryGrailの区別がつかない日記

はてなブログに帰って来ました

href="#" onclickをYahoo UI Libraryを使ってどうのこうの

Re:href="#" onclick の悪習[to-R]より

たとえば

<a href="#" onclick="ごにょごにょ">テキスト</a>

みたいなのがあるとしたらそれは全部

<a id="test" href="xxx.html">テキスト</a>

とidを割り当ててやってhrefにはJavaScriptOFFのユーザに対する適切なページへと遷移するようにさせる。
で、JavaScript

YAHOO.example.clickText = function(e){
  YAHOO.util.Event.stopEvent(e);
  alert('ここで何か処理');
};
YAHOO.util.Event.addListener("test", "click", YAHOO.example.clickText );

ってやってやればいいと思った。

href="javascript:void(0)"って

JavaScriptOFFのユーザに対してあまり優しくないよね。
意図的にページ遷移をさせない、というのもありかもしれないけれどクリッカブルになっている要素をクリックしても無反応というのは分かっている人ならいいけどよく分かっていない人に対しては不親切すぎる気がする。
このあたりのJavaScriptOFFのユーザに対する配慮はYahoo! Irelandなんかがすげーよくできてるんじゃないかと個人的には思ってる。

もちろんこれは

  • JavaScriptOFFのユーザに対してちゃんとページを用意してやる手間が増える
  • JavaScriptOFFの人はたいてい意図的にOFFにしてる人がほとんどだからそこまで考慮する必要ないよね

ってのはあると思うんだけどやっぱりYahoo!のような巨大なポータルサイトではそこまできちんと考慮して作られているのだなぁ、というお話でした。