先日、下記のようなツイートを見かけました。
「ご指定のページは見つかりませんでした」
「ご指定のページが見つかりませんでした」
のどちらがよいかについてのアンケートです。
文言の1文字についてまで議論できる環境は素晴らしいと思います。
さて、結果を見るになんとなく多くの人が「は」の方がいいと感じているようですが実際どうでしょうか。
「は」と「が」の使い分けにはいくつかパターンがありますが、ざっくりと
「は」は後を伝える主体として置いていて
「が」は前を伝える主体として置くというのがあります。
つまり「ご指定のページは見つかりませんでした」であれば、
見つからなかったということを伝えようとしていることになります。
一方で「ご指定のページが見つかりませんでした」は
見つからなかったものが前提としてあり、それはご指定のページですという流れになります。
ユーザーの指定が悪いようなニュアンスを若干感じますよね。
そのため「が」だと印象がよくないので「は」を使う方がよいと考えられます。
そもそも「見つからない」という言葉が正しいか
「見つからない」というのはサービスを主体とした状況です。(ユーザーが直接ページの内容を探しに行ったわけではないですよね。)
それはサービス都合の情報であってユーザーにとって必要な情報か、という議論もあります。
こちらについて考えていきましょう。
まず、サービス都合の典型的な悪い例としては「APIが実行できませんでした」とか「すでにitemsテーブルに値が存在します」などがあります。
これを見て一般的なユーザーは理解できるでしょうか。
これ、いうなれば取引先からの電話に「鈴木は只今ピヨ助当番です」と答えるようなものです。
ピヨ助当番だったりAPIを実行できなかったのは内部事情です。
相手からすれば待てばいいのか、待つならどれくらい待つのかなど必要な表層の情報は何も得られず、
ピヨ助当番というシステムなのかペットのえさやりなのかも分からない謎の深いところの情報だけを受け取ってしまっています。
すでにピヨ助当番が何か知っている人なら「あー、ピヨ助当番なら結構時間かかるな」などと伝わるかもしれませんが、少なくとも初めての相手とのやり取りとしては不適切で万人向けの対応ではないですね。
通常はこの場合「鈴木は只今離席しております。差支えなければ、ご用件をお伺いして鈴木より折り返しお電話をさせる様に致しますが、いかがいたしましょうか?」というように、①状況を伝え②取れるアクションを提示しますよね。
同様に「APIが実行できませんでした」では詳しい人でなければ状況もわからず、どう対応したらいいのかも不明です。
(開発者向けサービスであれば"API"を知っている前提で上記が最適になることもありますが、今回は一般的なサービスについての話なのでそのようなケースは考慮しません)
さて、では「ご指定のページは見つかりませんでした。」はどうでしょうか。
ブラウザの仕組みやURLなどがよくわからない人でも、今見ようとしたページが見れないということは伝わりそうですね。
「鈴木は只今離席しております」に近い、誰でも理解できて状況を把握しやすい文言です。
また、見れないのでこれ以上探しても無駄ということは分かるので「見かたが分からないから問い合わせしよう!」ともならなそうですね。
よって必要十分な文言と言えそうです。
もちろん、この後に「削除された可能性があります」や「〇〇からお探しください」と情報を付加するとより丁寧です。
「存在しません」はどうか
「見つかりませんでした」に違和感をもつ人は代替案として「存在しません」を挙げることが多いです。
どちらも問題はなさそうですね。ここでは深堀りしてどちらの方がよりよいかを検討していきましょう。
まず、「見つかりませんでした」だと見つけられなかっただけで存在はするのかもしれないと思えるので「存在しません」とするという意見があります。
しかしながら、実際存在するけど404ということはあります。
よくあるのが、SNSなどの投稿サイトやGitHubなどでページは存在するけど非公開だったり今閲覧している人に見る権限がない場合です。
隠されていて権限的に見れないので「見つけられない」のは本当ですが「存在しない」のは嘘ですね。
一般的に嘘はユーザビリティを下げやすいです。
"嘘"であるということは何かが本当の情報とはズレているということなので、実際の状況とユーザーの認識との間にズレが生じ、想定外の動きや問い合わせに繋がることがあります。
次に、「このページは存在しません」というのはただの事実です。機械的で冷たい印象を与えます。
「ご指定のページは見つかりませんでした」は見つけようと探した主体の存在が見えます。人間的であたたかい印象を与えます。
404に関しては情報が十分で取りうる例外的な行動が少ないので前者の理由は弱く、後者が主な「見つかりませんでした」の選択理由になるでしょう。
が、「存在しません」は"事実"を伝える文脈なのにたまに嘘という踏んだり蹴ったりなところはあります。
比較すると「存在しません」は理由を忘れて"開発側主体のメッセージを避ける"ことだけ考えて、ユーザーに寄り添いきれていない可能性があります。
「404」を見せるのは正しいか
引き続き、そもそも論でいうなら、"404"というステータスコードをユーザーに見せるのは正しいのでしょうか。
404を見せるならなぜ正常なレスポンスの200や、サーバーエラーの500なども見せないのかという話になってきます。
こちらについては、私としては「404はステータスコードも見せることが正しくなった」と感じます。
詳しくは割愛しますが、ルーティングという段階で出し分けられてページを作成していなくてもデフォルトでメッセージと共にステータスコードが表示されるものがいくつかあります。
その中で404が表示されるケースが圧倒的に多いです。
他のステータスコードを知らなくても404だけ知っている人は多いのではないでしょうか。
そのため、Web初期の段階から404については自然と一般層にも徐々に認知・学習されていったと考えられます。
現在ではWeb開発の技術も進んできておりデフォルトの404表示を見ることは少なくなりました。
しかしながら、知識がある人は404というコードを見るだけで細かい文章を見ずとも状況を手軽に察することができます。
いわゆる「慣れた人」向けの付加価値となっています。慣れていない人も見つからないメッセージとともに表示される404を何度か見るうちに学習していくことができます。
よって、404とわかりやすく表示することは、Webに慣れた層へのユーザビリティ向上につながっているといえます。
結論
以上より、
「404 ご指定のページは見つかりません」
というメッセージが簡潔な短文ながら他と比べて優しさや温かみを重視した表記であるといえるでしょう。
さらにユーザビリティを向上させるために、+1、2行程度のメッセージを追加したりしてもいいでしょう。
参考になれば幸いです。