<datalist>
Definition
The HTML datalist
element is a way to provide a list of options to users when they are filling out a form. This is helpful because it allows users to select an option from the list rather than having to type out their own response. It's also useful for providing a list of pre-defined options or for providing suggestions as the user is typing.
The datalist
element is typically used in conjunction with an input element, and the list of options is specified using option
elements inside the datalist
element. Here is an example of how you might use the datalist
element in a form:
Examples
<label for="city">City:</label>
<input type="text" id="city" name="city" list="city-list">
<datalist id="city-list">
<option value="New York">
<option value="Los Angeles">
<option value="Chicago">
<option value="Houston">
<option value="Philadelphia">
</datalist>
In this example, the input
element has an id
attribute of "city" and a name
attribute of "city". It also has a list
attribute whose value is "city-list", which specifies that this input should use the list of options defined in the datalist
element with an id of "city-list".
The datalist
element then contains a list of option elements, each of which has a value
attribute specifying one of the options that should be available in the list. When the user starts typing in the input
element, they will see a list of suggestions based on the options in the datalist
element. They can then select an option from the list, or continue typing to enter their own response.
Attributes
This element makes use of the global attributes.
Best Practices
- Use the
datalist
element in conjunction with aninput
element to provide a list of options to users when they are filling out a form. - Use the
list
attribute on theinput
element to specify whichdatalist
element should be used to provide the list of options. - Use the
option
elements inside thedatalist
element to specify the options that should be available in the list. - Use the
value
attribute on theoption
elements to specify the value that should be used if the user selects that option. - Use the
label
attribute on thedatalist
element to provide a label for the list of options. - Use the
disabled
attribute on thedatalist
element to disable the list of options. - Use the
accesskey
attribute on thedatalist
element to specify a keyboard shortcut for activating or focusing the element. - Use the
form
attribute on thedatalist
element to specify the form that the element belongs to. - Use the
autofocus
attribute on thedatalist
element to indicate that the element should be focused automatically when the page loads. - Use the
tabindex
attribute on thedatalist
element to specify the tab order of the element. - Use the
title
attribute on thedatalist
element to provide additional information about the element.
Accessibility Considerations
When using the datalist
element, there are a few accessibility considerations to keep in mind. First, it is important to make sure that the datalist
element has an appropriate label
attribute. This will provide a label for the list of options, which will make it easier for users with assistive technology to understand what the element is for. Additionally, you should make sure to use the value
attribute on the option
elements to specify the value that should be used if the user selects that option. This will make it easier for assistive technology to understand the meaning of the options in the list.
Another important consideration is to make sure that the datalist
element is keyboard accessible. This means that users should be able to interact with the element using only their keyboard, without needing a mouse. You can achieve this by using the tabindex
attribute to specify the tab order of the element, and by using the accesskey
attribute to specify a keyboard shortcut for activating or focusing the element.
Finally, it is important to make sure that the datalist
element is properly marked up with the appropriate semantic elements. For example, you should use the label
element to provide a label for the datalist
element, and you should use the option
element to specify the options that should be available in the list. This will make it easier for assistive technology to understand the structure and meaning of the datalist
element.
Browser Compatibility
Chrome | Firefox | Safari | Internet Explorer | Microsoft Edge | Opera |
---|---|---|---|---|---|
Yes | Partial | Yes | Yes | Yes | Yes |