前提
インターネットから誰でもアクセスできる一般向けWebアプリケーションを開発しています。
その中で、ユーザに回答してもらうフォームをHTMLで作成しており、
HTML5のバリデーションを使って必須項目の入力チェックを行っています。
発生している問題
フォーム内のとある項目にselectタグのrequired属性を付けて、必須回答項目としています。(仮で「社会人ですか?」とします)
大半のユーザからは回答をもらっているのですが、先日、1人のユーザだけその項目のみ回答なしでのフォーム送信がありました。(その他の必須項目はちゃんと入力済となっており、送信処理自体も正常完了している状態。特にエラー等もありません)
必須項目としていてバリデーションがあるのに、なぜ入力なしで送信してこれたのか、不明な状態です。
該当のソースコード
html
1<h3>社会人ですか?</h3> 2<select class="***" name="***" id="***" required> 3 <option value>選択してください</option> 4 <option value="yes">はい</option> 5 <option value="no">いいえ</option> 6</select>
お伺いしたいこと
- ブラウザの問題もあるかもと思い、色々と調べてみましたが、明確な答えを見つけることはできませんでした。
- ただ、以下サイトにはsafari 15.6が「対応していない」旨が確認できました。
https://caniuse.com/?search=required
上記サイト内のHTML element: select: required
の項目 - しかし、mozillaのドキュメントを参照すると、Safariは
Full Support
と出てきました。
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#browser_compatibility - 上記2つの異なる情報が出てきている状況です。
- mozillaの方が信頼性高いと思うので前者のサイトは間違いなのかな?と思いつつ、サイトの見方が間違っている可能性もあるので、一度お伺いした次第です。
何か情報を持っておられる方や、調査先のサイトが(見方も含めて)適切かどうかなど、もしわかれば、お伺いしたいと考えています。
該当ユーザが特殊なブラウザ設定をしてしまっている可能性も考えられなくはないため、はっきりとした答えを得ることは難しいかもしれませんが、何か少しでもわかることがあれば、参考にしたいと考えています。
(フロントエンドは特に経験薄いため「対応ブラウザを正確に知ることは実は難しいよ」的なご回答でも大丈夫です)
お手数をお掛けしますが、どうぞよろしくお願いいたします。
※こちらからお伺いしておきながら大変恐縮ですが、解決方法については別途検討したいと考えており、ここでは一旦、タイトル通りの「selectタグのrequired属性の対応ブラウザの調べ方」についてお伺いできればと考えております。
調査したこと
- Webサーバのログ(NginxのUserAgentログ)によると該当ユーザのブラウザは、
iOS 15.6 Safari 15.6
のiPhoneを使用されているようです。 - アプリケーションログによると、該当の処理においては、フォームPOST時の送信パラメータに「社会人ですか?」の項目は含まれていなかったため、バックエンド側の問題でなく、そもそもユーザが未入力であったと想定しています。
- 一般ユーザかつiPhoneなので、Dev tool等でフォーム改変した等は考えづらいかなと思っています。
補足情報(FW/ツールのバージョンなど)
HTML5
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/20 07:09