Skip to main content
  1. Blog
  2. Article

Lyubomir Popov
on 12 December 2022

Revisiting form elements in Vanilla Framework


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

Related posts


Ijlal Loutfi
27 July 2026

Ubuntu’s virtualization hardware enablement (HWE) stack: a new model for confidential computing enablement

Confidential computing Security

Confidential computing is moving quickly. The foundation is already here: AMD SEV-SNP and Intel TDX have made it possible to run confidential virtual machines (VMs) with stronger protection for data in use. Ubuntu 26.04 Long Term Support (LTS) brings integrated host and guest support for both of these technologies, making confidential com ...


Ijlal Loutfi
24 July 2026

Confidential computing and the new regulatory focus on data in use

Confidential computing Article

Most organizations already understand encryption at rest and encryption in transit. These controls are mature, widely deployed, and often explicitly referenced in security frameworks. However, runtime is different: when an application processes sensitive information, that data is typically available in memory. In a traditional infrastruct ...


anusha-c
24 July 2026

A day in the life of an Android developer with Anbox Cloud

Ubuntu Article

Meet Alex, an Android developer. In this article, we’ll follow Alex through their day to show you how Anbox Cloud supports Alex from feature development to release. Alex’s focus for today is building a ride-tracking feature for their ride-sharing app. ...