Ajaxの意外なメリット
Ajaxが強力なのはlivedoor Readerによって証明されていますが、速度等の表面的なユーザビリティ以外にも、使うメリットがあると思い始めました。ブックマークされるべきでないURLをユーザに意識させなくてすむという点です。
Ajax不採用のサイトにおいて、「path/to/form」というパスにデータ登録用フォームがあるとします。フォームのmethod属性には「POST」が、action属性には「path/to/register」が指定されています。
もし、登録処理時にエラーが発生したらどうなるでしょう?ブラウザのアドレス欄には「path/to/register」が表示され、コンテンツ部分には入力内容とエラーメッセージが表示されるのが普通です。
このとき、ユーザはその内容を保存するために「path/to/register」をブックマークしてしまうかもしれません。が、それは無意味です。ブックマークから開いたときにはPOST処理が行われず、前回の出力結果が再現されないからです。
Ajaxを使えば、アドレス欄が「path/to/form」のまま処理できます。エラーが発生した場合は、エラーメッセージをポップアップ表示させれば良いのです。いかにもポップアップっぽく表示させれば、その状態をブックマークしておこうと思うユーザはいないでしょう。
Ajax解禁
自作Webアプリにおいて、これまでAjaxを全面的に採用する勇気がなかったのですが、上記の理由もあって、これからは積極的に使おうと思っています。
採用を見送ってきたのは、障害者への配慮とJavaScript無効環境への配慮が主でした。読み上げブラウザでAjaxはキツいだろうし、JavaScript無効の環境ではそもそも使えません。
まあ、なんだかんだいって「最速こそ正義」というmalaさんの思想にシビれたというのが正直なところです。Ajaxを利用してかえって重くなっている本末転倒な例も散見されますが、そうならないよう精進します。