仕事で利用規約同意のUI変更の依頼があった。その際にUIについていろいろと考えさせられたので、各サイトの「利用規約同意」がどのようになっているか調べてみた。
一般的な「利用規約同意」のUI
利用規約等の同意確認UIで思い浮かべるのが、このチェックボックスタイプだと思う。各種項目を入力し、同意を促す文章の横にあるチェックボックスにチェックを入れると、下の「会員登録する」ボタンが活性化し次の画面に進むことができる。
チェックボックス・各種規約リンク一体型
label
内に各種規約リンクのa
タグやテキストを含むタイプ。label
のfor
属性がinput
のid
属性と紐づいているので、テキストをクリックしてもチェックボックスにチェックが入る。
label
内にa
タグやbutton
タグが存在するのはユーザビリティ的によろしくない、という記事を2・3見かけたが、HTMLタグの入れ子構造的には問題ないようだ。
見た目は同じようなチェックボックスでも、サイトによってコードは微妙に異なる。マークアップの嗜好が伺えて興味深い
Dribble
<fieldset>
<input type="checkbox" id="user_agree_to_terms" name="user[agree_to_terms]">
<label for="user_agree_to_terms">
I agree with Dribbble's
<a target="_blank" href="/terms">Terms of Service</a>,
<a target="_blank" href="/privacy">Privacy Policy</a>, and default
<a target="_blank" href="/notifications">Notification Settings</a>.
</label>
</fieldset>
label
とinput
の紐づけにより、テキストをクリックしてもチェックが入るようになっている。リンクは別窓で開く。label
内のa
タグを分かりやすくするためだろうか、label
をマウスオーバーした時にcursor:pointer
になっていない。
Qiita
<div>
<input id="terms" required="required" style="margin-right: 4px;" type="checkbox">
<label class="sessions-Registration_formLabel" for="terms">
<a href="/terms" target="_blank">利用規約</a>に同意する
</label>
</div>
<div>
<input id="privacy" required="required" style="margin-right: 4px;" type="checkbox">
<label class="sessions-Registration_formLabel" for="privacy">
<a href="/privacy" target="_blank">プライバシーポリシー</a>に同意する
</label>
</div>
利用規約とプライバシーポリシーそれぞれにチェックボックスを設けている。
こちらもリンクは別窓、label
をマウスオーバーした際のcursor:pointer
スタイルがない。
余談だが、input
のスタイルがインラインで書かれているのが少し気になった。
Qoo10
<label for="join-newsletter" class="inline-flex space-x-1 transition-colors items-start mt-2 text-xs">
<input name="join-checkbox" class="cursor-pointer appearance-none overflow-hidden outline-none ..." id="join-newsletter" type="checkbox" value="agree">
<span class="cursor-pointer...">
<button class="underline" type="button" onclick="window.open(`https://m.qoo10.jp/gmkt.inc/Company/UserAgreement.aspx`);">利用規約</button>, <button type="button" class="underline" onclick="window.open(`https://m.qoo10.jp/gmkt.inc/Company/PrivacyPolicy.aspx`);">個人情報保護方針</button><span classname="transition-colors">およびイーベイジャパン合同会社からメールマガジンを受信することに同意します。</span>
</span>
</label>
label
内にテキストとinput
を配置している。label
にinput
を含めるか含めないかは、単なる好みの問題かもしれない。
リンクをa
タグではなくbutton
タグでマークアップしているところが珍しい。button
タグにした意図は分からない。これも好みの問題か。
label
には、マウスオーバー時にcursor:pointer
のスタイルが付いている。テキストとa
タグエリアとの区別よりもlabel
でクリックできるエリアをユーザーに伝えることを優先しているのだろうか。
チェックボックス・各種規約リンク分離型
規約同意のチェックボックスと各種リンクを分けて配置している。label
タグとa
タグを別にしてアクセシビリティを高めているものと思われる。
&mall(三井ショッピングパーク)
<label class="c-checkbox">
<input class="c-checkbox__input input-agree" type="checkbox" name="agree" value="agree">
<span class="c-checkbox__checkbox"></span>
<span class="c-checkbox__text">会員規約に同意する</span>
</label>
label
内にinput
を配置。本物のチェックボックスは隠して、span
タグで疑似的にチェックボックスを作りスタイルを付けている。
テキストをlabel
タグで囲み、マウスオーバー時にcursor:pointer
のスタイルが付いている。
&mallの他には、三越伊勢丹オンラインストアがこのタイプだった。
「利用規約同意」のチェックボックスなし
同意確認のチェックボックスが無いタイプ。
ボタンの近くに利用規約やプライバシーポリシーへのリンクが配置されており、リンク先ページを確認の上で会員登録を行うことで規約同意と見なされる。
SNS・サービスでは、X(旧Twitter)やFacebook、Instagram、note、はてな、Adobe、Canvaが該当。ショッピング系では、Amazon、楽天市場、ZOZOTOWNなど。
メールアドレス等入力時に同意
規約の確認および会員登録用メールアドレス(=会員ID)の入力・送信で規約同意とされる。高島屋オンラインがこのタイプに該当する。
その他
7iDやYahoo! JAPAN IDは、まずメールアドレス・携帯電話番号を入力、各種情報入力はメール到着後に行うタイプだった(実際に手続きを行わないとUIが確認できないので、このタイプは割愛する)。
「利用規約同意」UI調査の感想
サンプル数は20程度と少ないので断言はできないが、今回私が調べた限りではチェックボックスで確認を促すUIは少ないように感じられた。
「チェックボックスなし」のサイトの多くは、Google、Facebookといった他サービスIDとの連携ログインが可能になっている。企業側はユーザーに一々問うのは面倒だろう(そしてユーザー側としては簡潔に手続きを行いたいだろう)から、会員登録・連携を以て規約に同意したとみなすのが主流になりつつあるのではと思った。