アーカイブ

エンジニア立ち居振​舞い​:誰が​どう​触っても​良いように​つくる

GitHub Edit Page
この記事は公開から1年以上が経過しています。内容が一部古い箇所があります。

お題「エンジニア立ち居振舞い」

マークアップなのかフロントエンドなのかいまいち良く分からない位置付けに居ますが、自分の中で大事にしていることについて。

タイトルの通りなんですが簡単な例でいくと、jQuery でトグルボタンを実装する時に

$('#button').on('click', function () {
  $(this).next().slideToggle();
});

という風になると思う。でもこれには問題があって、ボタンを何度もクリックすると律儀なまでにトグルする動作が押された回数分繰り返されるのでボタンを押すのを止めても動作し続けてしまう。

なので以下のように対応する。

$('#button').on('click', function () {
  $(this).next().stop().slideToggle();
});

これは stop()メソッドを使用することでトグルしようとする動作を一度ストップさせるので、押す → トグル動作の間にボタンを押してもその動作をキャンセルして次の動作へ移行させることができる。

動作イメージは以下よりどうぞ。

https://jsfiddle.net/ft21p1cy/2/

これは非常に単純な例ですが、ユーザーはどういった操作をするかはエンジニアには検討が全くつかない。我々は「1回クリックする」だけのことを考えますが、間違って2回クリックしてしまうとその人は「何だこれは」という風になってしまいます。たった1つのメソッドを追加するでだいぶ使いやすくなるのに、そういったことに気がつけないというのが一番怖い部分です。

だからどんな人がどのようなシチュエーションで弄ったとしても「出来る限り」平等なユーザー体験をもたらさなければならない、というのが私たちの使命なのだと感じています。

こちらからは以上です。

アーカイブ記事のため、内容に関する更新依頼は受け付けておりませんが、誤字や脱字などありましたらご連絡ください。

この記事に関する修正依頼
トップへ戻る