Select
<gcds-select>
Also called: dropdown, select menu.
A select provides a large list of options for single selection.
-
GitHub -
Figma
Select component preview
Build a select
Use the select to give multiple (7 or more) options to answer a single question. The select helps users make a choice by limiting their options.
Code and accessibility for select
Apply required attributes
For the select to function properly, always use the following attributes with <gcds-select>
:
name
label
select-id
Set the default value
Use the default-value
attribute to set the first option in the select list. This avoids pre-selection of an option.
Handle error messages and validation
-
Use the
required
attribute to activate the required validator. Validation will happen by default on theonBlur
event. A missing or invalid entry will prompt an inline error message with preset text. -
If you need to change the validation event, use the
validate-on
attribute. Validation can happen on blur, when the element loses focus, or manually with thevalidate()
method. -
Use the
required
attribute for fields that must be filled in. This places "required" at the end of the label. -
Use the
error-message
attribute to include an error message text for all required inputs. Avoid using error messages for optional ones. -
For optional fields, avoid adding the
error-message
attribute. -
For an optional field that needs validation based on user input (like validating an email address format), opt to add custom validation with a custom error message.
Include a hint text for task success
-
Use the
hint
attribute to add hint text to help a person provide a complete value in the input and avoid an error state. -
Avoid adding hint text in the field (sometimes called placeholder text) where it will disappear once the field is selected or a response starts to be entered.
Get your code
Generate an instance of the component you need by selecting its code properties.
-
Explore by choosing different code values to generate the instance you want.
-
Get the code and pull it into your environment.
-
Add any copy you need to the component (like text for a label).
Note: The code builder uses English for all code elements, which follows standard practice.
Help us improve
Have questions or a request? Give feedback on our contact form.
Something's wrong? Raise it through GitHub with an