Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Overview

Required fields are commonly identified with an asterisk.

However, the asterisk character is typically not announced by screen readers.

Following are techniques to use in order to notify screen reader users that form elements are required to complete.


Required Form Input Field

Markup

<form novalidate>
<label for="fname">First Name:</label>
<input id="fname" required>
</form>

View HTML Markup on Github


Required Group of Radio Buttons

Markup

Use the “aria-required” attribute in combination with the “radiogroup role” in the fieldset tag.

<fieldset aria-required="true" role="radiogroup">
<legend>Select your shipping option:</legend>
<input id="overnight" type="radio" name="shipping" value="overnight">
<label for="overnight">Overnight</label><br>
<input id="twoday" type="radio" name="shipping" value="twoday">
<label for="twoday">Two day</label><br>
<input id="ground" type="radio" name="shipping" value="ground">
<label for="ground">Ground</label>
</fieldset>

View HTML Markup on Github


Required Group of Checkboxes

When it comes to making a group of checkboxes required you cannot use the same technique that’s used to make a group of radio buttons required.

The required attributes on the fieldset will not work and there is no equivalent checkboxgroup role.

Basically, what you can do here is to add an invisible required label, within the legend tag.  that will be announced by the screen reader. A sighted user will not see this text.

Markup

<fieldset>
<legend>I enjoy the following activities:<span class="required">required</span></legend>
<input id="hiking" type="checkbox" name="toppings" value="hiking">
<label for="hiking">Hiking</label><br>
<input id="biking" type="checkbox" name="toppings" value="biking">
<label for="biking">Biking</label><br>
<input id="running" type="checkbox" name="toppings" value="running">
<label for="running">Running</label><br>
<input id="dancing" type="checkbox" name="toppings" value="dancing">
<label for="dancing">Dancing</label>
</fieldset>

CSS

.required { 
  display: none;
}

View HTML Markup on Github


Required Single Checkbox

You can make standalone/single checkboxes mandatory to complete by applying the “required” attribute to the input tag.

Markup

<form>
  <input id="agreement" type="checkbox" required aria-invalid="false">
  <label for="agreement">All the information I have submitted in this application is true</label>
</form>

View HTML Markup on Github

 

  • No labels