いさぢちんメモ

d.hatena.ne.jp/mosshm/より移行。

ページを開いた際にフォームにフォーカスされてるアレ

document.*.focus()みたいなjavascriptだろうけど、ページを開くと勝手にテキスト入力ボックスにフォーカスされるってのは、ユーザビリティに優れているとか思われているような気がするのですが、私はむしろありがた迷惑だと感じているのです。

具体的にはgoogle.co.jpなんかが、そーいうフォームですね。googleのようにページを開いたらテキスト入力ボックスへ文字を入力するしかしないってページなら良いんですよ。それなら、わざわざ自分でフォーカスを合わせる必要がないし、ユーザビリティに優れていると言ってもいい。

けど、それ以外が主目的の場合、この動作が致命的に使いづらくなるのですよ。

UAによっても動作に違いがあるのかもしれないですが、ページ読み込みすべてが終わってからテキスト入力ボックスへフォーカスされるので、読み込みが完了する前にスクロールして文章を読み進めているのに、読み込みが完了した途端にフォームの位置まで引き戻される*1という事もあるわけで、回線の遅いモバイル環境でしかも動作の重いブラウザでは致命的になる。

例えばですよ、読み込みに時間がかかる広告が大量に掲載されているブログで、ページ先頭に検索フォームがあり件のjavascriptが仕込まれてるとします。回線速度が多少速くても広告の読み込みが引っ掛かりやすいのでページを全部読み込むのには時間が掛かるでしょう。ですから、全て読み込みが終わる前にページをスクロールして読み進めていて、中盤くらいに差し掛かったまさにそのとき! ページの読み込みが完了し、件のjavascriptによってページ先頭まで戻されてしまいました!!

もう読まねぇよカスが。

ということになるのです。

*1:場合によってはページの先頭