何が共有しづらいのか
フォーム付きページをそのままURLで公開すると、レビュアーが試しにフォームを送信したとき、開発用APIや本番DBに実データが書き込まれるリスクがある。Magic PatternsのデフォルトHTMLに`action`属性や`fetch`コールが含まれる場合は、共有前に必ず送信先を確認する必要がある。
デザインレビューが目的なのに「フォームが送れない」「エラーになる」という報告が来ると、コードの問題かデザインの問題かの切り分けに時間を取られる。送信処理を意図的に無効化した旨をレビュー依頼文に明記しておけば、レビュアーが迷わず視覚デザインのフィードバックに集中できる。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
URL化する前の確認点
HTMLを開いてCtrl+Fで`action=`と`fetch(`を検索し、送信先URLをリストアップする。`https://api.your-service.com/`のような本番エンドポイントがあれば、`<form action="#" onsubmit="return false;">`に書き換えるか、送信ボタンを`type="button"`に変更して送信を無効化する。
フォームバリデーションにサードパーティライブラリを使っている場合、そのCDNリンクが有効かどうかも確認する。`cdnjs.cloudflare.com`経由のライブラリは安定しているが、個人のGitHub Pages等をCDN代わりにしているコードが含まれると、レビュー中にスクリプトが読み込めなくなる可能性がある。
- HTML内の外部script・form action・iframeを確認する
- APIキーやトークンらしき文字列がないか検索する
- 画像・CSS・JSのパスが公開後も解決できるか見る
- noindexと認証を混同せず、必要なら両方設定する
認証と期限の決め方
フォームデザインのレビューは通常、UXデザイナーや特定のステークホルダーなど人数が限られる。その場合はパスワード認証が最もシンプルで、URLとパスワードを別チャンネルで送るだけで設定が完了する。メール認証は宛先ごとにURLを変えられるため、「誰がいつアクセスしたか」のログが欲しい場合に適している。
フォームページのレビュー期限は、開発スプリントの区切りに合わせて1週間単位で設定するケースが多い。期限後にアクセスしたレビュアーが「見られなくなった」と問い合わせてくることを防ぐため、期限日時を依頼メールの件名に含める習慣をつけると管理が楽になる。
- 誰でも見てよい: URL共有のみでもよいが、検索除外は確認する
- 特定の相手だけ: パスワードまたはメール認証を使う
- 会社内だけ: 会社ドメイン認証を検討する
- 短期レビュー: 期限を設定して古いURLを残さない
共有後のフィードバック回収
フォームのUXレビューで有効な質問は「どのフィールドで入力を迷いましたか?」「エラーメッセージは意図が伝わりますか?」の2点だ。抽象的な「使いやすいですか?」より具体的な回答が集まりやすく、修正箇所の優先度もつけやすい。
フィードバックをもとに修正したHTMLを同じ共有URLに差し替えたら、変更点のサマリーをSlackに投稿して再確認を依頼する。「v1のフォームとv2のフォーム、どちらが送信完了まで迷わなかったか」のような比較質問を加えると、2回目のレビューがより生産的になる。
- 確認してほしい観点を3つ以内に絞る
- 期限と返信先を明記する
- 修正後も同じURLで見られるか伝える
- 最終版と途中版が混ざらないようタイトルを付ける
よくある質問
フォームの送信処理を無効化すると、バリデーション動作もレビューしてもらえなくなりますか?
onsubmitをfalseにするとバリデーションのトリガーも止まる場合があります。バリデーションだけを見せたい場合は、submitボタンをそのままにしつつfetchのコールバックを空関数に差し替える方法を取るとよいでしょう。
フォームに画像アップロードUIが含まれる場合、共有後にファイル選択はできますか?
inputタグのtype=fileは共有ページでも動作しますが、アップロード先エンドポイントを無効化している場合は選択後エラーになります。レビュー依頼文に「ファイル選択UIの確認のみ、送信はできません」と明記しておくと混乱を防げます。
入力値がlocalStorageに保存される設計の場合、共有URLでのレビューに問題はありますか?
localStorageへの読み書きは共有URLでも正常に動作します。ただしレビュアーのブラウザにデータが残るため、個人情報を含むダミーデータをデフォルト値にしている場合は削除するか匿名化してから共有してください。