Accessible Custom Select Dropdowns

In web development, creating custom select dropdowns is difficult. It requires a lot of resources to sufficiently design (annotating the interaction, etc) and develop (the Javascript is fairly complex and the ARIA isn’t easy) and then test. Additional requirements such as option groups and auto-suggest make it even more challenging and time-consuming, and usually frustrating.

Most often the result is not fully accessible; browser and assistive technology is inconsistent; and implementations vary across the web. This is why it’s always better to use native selects with HTML/web. (Native components is also a better choice for native apps as well.) Don’t forget that HTML selects can be styled with CSS; see these resources by RTD, Filament Group, and LugoLabs.

If you must implement a custom select dropdown, you will most like need to use the ARIA listbox rolecombobox role (which specifies a composite widget), and often a combination of those roles. The option role is also required and usually a few other ARIA attributes (for label, state, etc.).

Here are some great examples which will save many folks a lot of time!

screen shot of custom select; category dropdown and submit button


  1. Pingback: [COMPUTERS-INFORMATION-SCIENCE-DATA-AND-DIGITAL-MEDIA] [webdev] Web Design Update: August 2, 2017 | socialworkandsocialissuesblog
  2. Pingback: [COMPUTERS-INFORMATION-SCIENCE-DATA-AND-DIGITAL-MEDIA] [webdev] Web Design Update: August 2, 2017 – Computer and Information Science Resources

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>