Revisiting form elements in Vanilla Framework

Lyubomir Popov

on 12 December 2022

This article is more than 3 years old.


Over the years, we’ve identified a number of areas for improvement when it comes to the basic building blocks of a form – inputs, buttons, etc:

  • Long-standing complaints that inputs and buttons are too similar and therefore hard to distinguish
  • “Noisiness” of long forms caused by the presence of borders around all sides of inputs and buttons

Last cycle, our proposal for updated form elements was discussed and approved, and in this iteration, we worked on implementing it in Vanilla, our front-end framework.

Before Vanilla 3.9:

After Vanilla 3.9:

  • We’ve reduced the number of borders (all around) to the minimum required to satisfy WCAG contrast ratio requirements for interactive elements
  • We’ve removed round corners from buttons and other elements, as part of a wider push to align better with the work of our Brand team
  • We’ve introduced subtle transitions when interacting with form elements

This update also affects components that build on the functionality of form elements, like our search and Filter component:

The updated style was released as part of Vanilla 3.9.0 release.

Version 3.9.0 has just been released. You can see the updated form elements in action here

Talk to us today

Interested in running Ubuntu in your organisation?

Newsletter signup

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical's Privacy Policy.

Related posts

Why Web Engineering is great

Like many software engineers, one of my first software development experiences started with creating my own web page. Since that time 20+ years ago, a lot has...

Ubuntu 16.04 LTS has reached the end of standard Expanded Security Maintenance with Ubuntu Pro. Here are your options.

Ubuntu 16.04 LTS (Xenial Xerus) reached the end of its five-year Expanded Security Maintenance (ESM) window in April 2026. If you are still running 16.04, it...

Understanding disaggregated GenAI model serving with llm-d

What is llm-d? llm-d is an open source solution for managing high-scale, high-performance Large Language Model (LLM) deployments. LLMs are at the heart of...