142 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			142 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Form Inputs | ||
|  | --- | ||
|  | 
 | ||
|  | ## Form Inputs
 | ||
|  | 
 | ||
|  | Bootstrap supports the following form controls: | ||
|  | 
 | ||
|  | 1. input | ||
|  | 2. textarea | ||
|  | 3. checkbox | ||
|  | 4. radio | ||
|  | 5. select | ||
|  | 
 | ||
|  | ## Example Code Snippets
 | ||
|  | 
 | ||
|  | #### 1. Input
 | ||
|  | 
 | ||
|  | Bootstrap supports all the HTML5 input types: text, password, datetime, datetime-local, date, month, time, week, number, email, url, search, tel, and color. | ||
|  | 
 | ||
|  | **Note: Inputs will NOT be fully styled if their type is not properly declared!** | ||
|  | 
 | ||
|  | The following example contains two input elements; one of type text and one of type password: | ||
|  | 
 | ||
|  | ```html | ||
|  | <div class="form-group"> | ||
|  |   <label for="usr">Name:</label> | ||
|  |   <input type="text" class="form-control" id="usr"> | ||
|  | </div> | ||
|  | <div class="form-group"> | ||
|  |   <label for="pwd">Password:</label> | ||
|  |   <input type="password" class="form-control" id="pwd"> | ||
|  | </div> | ||
|  | ``` | ||
|  | 
 | ||
|  | #### 2. Textarea
 | ||
|  | 
 | ||
|  | The following example contains a textarea: | ||
|  | 
 | ||
|  | ```html | ||
|  | <div class="form-group"> | ||
|  |   <label for="comment">Comment:</label> | ||
|  |   <textarea class="form-control" rows="5" id="comment"></textarea> | ||
|  | </div> | ||
|  | ``` | ||
|  | 
 | ||
|  | #### 3. Checkboxes
 | ||
|  | 
 | ||
|  | Checkboxes are used if you want the user to select any number of options from a list of preset options. | ||
|  | 
 | ||
|  | The following example contains three checkboxes. The last option is disabled: | ||
|  | 
 | ||
|  | ```html | ||
|  | <div class="checkbox"> | ||
|  |   <label> | ||
|  |   <input type="checkbox" value="">Option 1</label> | ||
|  | </div> | ||
|  | <div class="checkbox"> | ||
|  |   <label> | ||
|  |   <input type="checkbox" value="">Option 2</label> | ||
|  | </div> | ||
|  | <div class="checkbox disabled"> | ||
|  |   <label> | ||
|  |   <input type="checkbox" value="" disabled>Option 3</label> | ||
|  | </div> | ||
|  | ``` | ||
|  | 
 | ||
|  | Use the **.checkbox-inline** class if you want the checkboxes to appear on the same line: | ||
|  | 
 | ||
|  | ```html | ||
|  | <label class="checkbox-inline"><input type="checkbox" value="">Option 1</label> | ||
|  | <label class="checkbox-inline"><input type="checkbox" value="">Option 2</label> | ||
|  | <label class="checkbox-inline"><input type="checkbox" value="">Option 3</label> | ||
|  | ``` | ||
|  | 
 | ||
|  | #### 4. Radio Buttons
 | ||
|  | 
 | ||
|  | Radio buttons are used if you want to limit the user to just one selection from a list of preset options. | ||
|  | 
 | ||
|  | The following example contains three radio buttons. The last option is disabled: | ||
|  | 
 | ||
|  | ```html | ||
|  | <div class="radio"> | ||
|  |   <label><input type="radio" name="optradio">Option 1</label> | ||
|  | </div> | ||
|  | <div class="radio"> | ||
|  |   <label><input type="radio" name="optradio">Option 2</label> | ||
|  | </div> | ||
|  | <div class="radio disabled"> | ||
|  |   <label><input type="radio" name="optradio" disabled>Option 3</label> | ||
|  | </div> | ||
|  | ``` | ||
|  | 
 | ||
|  | Use the **.radio-inline** class if you want the checkboxes to appear on the same line: | ||
|  | 
 | ||
|  | ```html | ||
|  | <label class="radio-inline"><input type="radio" name="optradio">Option 1</label> | ||
|  | <label class="radio-inline"><input type="radio" name="optradio">Option 2</label> | ||
|  | <label class="radio-inline"><input type="radio" name="optradio">Option 3</label> | ||
|  | ``` | ||
|  | 
 | ||
|  | #### 5. Select (List)
 | ||
|  | 
 | ||
|  | Select lists are used if you want to allow the user to pick from multiple options. | ||
|  | 
 | ||
|  | The following example contains a dropdown list (select list): | ||
|  | 
 | ||
|  | ```html | ||
|  | <div class="form-group"> | ||
|  |   <label for="sel1">Select list:</label> | ||
|  |   <select class="form-control" id="sel1"> | ||
|  |     <option>1</option> | ||
|  |     <option>2</option> | ||
|  |     <option>3</option> | ||
|  |     <option>4</option> | ||
|  |   </select> | ||
|  | </div> | ||
|  | ``` | ||
|  | 
 | ||
|  | ## How to make Bootstrap Inputs Accessible
 | ||
|  | 
 | ||
|  | Input fields should have labels or some other form of identifier such as WAI-ARIA tags to meet the Web | ||
|  | Content Accessibility Guidelines or [WCAG](https://www.w3.org/WAI/tutorials/forms/) for short. In order | ||
|  | for screen readers to accurately convey to a user what labels are associated with which inputs the labels | ||
|  | should reference the corresponding input. | ||
|  | 
 | ||
|  | This can be done by utlizing the `for` parameter in the HTML: | ||
|  | ```html | ||
|  | <label for="email-input">Enter Email</label> | ||
|  | <input type="email" class="form-control" id="email-input" placeholder="Enter Email"> | ||
|  | 
 | ||
|  | ``` | ||
|  | 
 | ||
|  | The label `for` attribute **always** references the input field by its **ID**. This tells the screen reader | ||
|  | that this label is definitely for this input field which will minimize confusion for any users who are using | ||
|  | a screen reader to visit a web site. | ||
|  | 
 | ||
|  | 
 | ||
|  | ### More Information:
 | ||
|  | Code examples are from [W3Schools - Bootstrap Form Inputs](https://www.w3schools.com/bootstrap/bootstrap_forms_inputs.asp). | ||
|  | 
 |