<input required>は、入力必須にする際に使用します。
input要素にrequired属性を指定すると、
その要素は入力必須となります。
以下のサンプルでは、「メールアドレス」と「パスワード」の入力欄にrequired属性を指定して入力必須にしています。
「パスワード確認」は入力必須ではありませんが、「パスワード」と一致しないとエラーメッセージが表示されます。
<form action="/newaccount" method=post
oninput="up2.setCustomValidity(up2.value != up.value ? 'パスワードが一致していません。' : '')">
<p>
<label for="usermail">メールアドレス:</label>
<input id="usermail" type=email required name=un>
<p>
<label for="password1">パスワード:</label>
<input id="password1" type=password required name=up>
<p>
<label for="password2">パスワード確認:</label>
<input id="password2" type=password name=up2>
<p>
<input type=submit value="アカウントを作成">
</form>
以下のサンプルは、ラジオボタングループ内の「そう思う」のラジオボタンだけにrequired属性を指定しています。
この場合、required属性が指定されたラジオボタンだけでなく、
グループ内の任意のラジオボタンをチェックできます。
<fieldset>
<legend>自分は運が良いほうだと思いますか?</legend>
<p><label><input type="radio" name="luck" value="no">そう思わない</label>
<p><label><input type="radio" name="luck" value="amari">あまり思わない</label>
<p><label><input type="radio" name="luck" value="yaya">ややそう思う</label>
<p><label><input type="radio" name="luck" value="yes" required>そう思う</label>
<p><label><input type="radio" name="luck" value="unknown">わからない</label>
</fieldset>
ラジオボタンにrequired属性を指定する場合、
グループ内のいずれかのラジオボタンが選択されていればrequired属性が満たされます。
上記サンプルでは、ラジオボタングループ内の「そう思う」のラジオボタンだけにrequired属性を指定していますが、
ラジオボタングループが必要かどうかに関する混乱を避けるために、
グループ内のすべてのラジオボタンにrequired属性を指定することが推奨されています。