Is the Internet an Enemy or Friend of Paper Editions?
But it is clear that the West is significantly ahead of Russia in the degree of introduction of Internet technologies at the household level. There is a common occurrence when…

Continue reading →

What are 4G networks and what advantages do they give us?
Now it’s hard for us to believe that recently parents let their children go out all day without a mobile phone, and tourists fearlessly went on a wild trip without…

Continue reading →

The Internet. Network of things?
Let's look at Wikipedia ... “The Internet of Things (IoT) is the concept of a computing network of physical objects (“ things ”) equipped with built-in technologies for interacting with…

Continue reading →

Button State Design

In truth, mouse effects are probably the least important for design. By taking into account more functional states at an early stage, you can reduce the risk of possible costly redesigns as your template library evolves. Here are the basic conditions that you should pay attention to at an early stage, approximately in order of importance.

1. Default
Not surprisingly, the standard display of a button is really important. If you make it too catchy or too inconspicuous, you will see that without additional modifier classes or alternative styles, you cannot move on.

It is also important to create buttons based on context. One of the common mistakes is to choose a button style that does not differ enough from the input fields, which can lead to the form becoming incomprehensible.

Button State Design

It is also important to choose colors with adequate contrast for most users. I use the Contrast app to test my projects for WCAG 2.0 compliance:

Button State Design

2. Focus
The most important condition you should consider is: focus. Without it, navigation through the keyboard or other devices with direct input is almost impossible. The good news is that browsers already include a solution for it by default, usually a dashed outline or a blue glow:

These outlines can sometimes seem incompatible with the visual styles of the project, so they often turn off … and many users remain in the dark. So, let’s all raise our hand and repeat after me: “I solemnly swear never to turn off the browser focus styles without including a reasonably thought-out replacement.”

Fine! From this point of view, here is what you need to keep in mind when developing a custom focus style:

In a group of buttons, highlighting with the input focus should be easily distinguishable.

It should not rely entirely on color changes that may be difficult to see for some users.

Ideally, it should be flexible enough to work with many button styles without frequent overrides.

3. Disclosure / Switching / Selection
Although this may seem like a distant prospect in the early days of system development, it is very likely that at some point you will need buttons that act as switches: open and hide menus, switch to favorites / bookmarks, switch tabs, etc. Given this feature early on, avoid potential conflicts with other button states.

The design of the disclosure buttons may vary depending on the project. You might even need more than one. Important considerations are for the on and off states to be different from each other, and that both combine with focus styles.

Button State Design

4. Disabled buttons
Like focus and disclosure states, disabled buttons should be easily identifiable. But unlike previous states, they should not differ much from the default state. The disconnected state should look muffled, less bright.

One of the most popular ways to disable buttons is to reduce their opacity. This works well for buttons with the same default style, but less when the disabled button has more saturated colors than the adjacent active one. The combination of opacity and saturation reduction can play a trick:

5. State guidance and active
Yes, I know that many do not want to postpone the development of these states to the very end. But there are at least two really compelling arguments in favor of this:

These conditions will apply only to some users and input methods. Not everyone uses a mouse, not everyone uses their fingers.

In this way, we can take these states into account when designing them so that they differ from everything else.

Now we can know which effects will intersect with other states:

We also know enough to gracefully transition between these states and emphasize them through color, scale, and animation:

This is just the tip of the iceberg …
This is by no means an exhaustive list of considerations for developing reliable, extensible button patterns in the design system (for this I recommend reading Buttons in Nathan Curtis’s design systems). This is just a call to designers to reorient their efforts in developing button designs.

The next time you open your graphics editor or application, consider delaying the development of the hover state until you identify more important states.

What crimes await the Earth in the future?
An insidious name, isn't it? However, where does the programming come from? And let's fantasize. The offer, of course, is unusual. Not to write about love, about bright relations between…


SEO. How to put your site in search engines before others?
Tell me, what is the first thing you do when you need to find any information on the Internet? Right. Usually you open your favorite search engine (Google, Yandex, Rambler…


How to choose a platform for the blog? Paid hosting
How to create a blog on a paid hosting? First, you need to select a free “engine” for your blog, it is also called CMS (you can, of course, order…


Internet development and protection against DDOS attacks
With the development of the Internet, the problem of ensuring security in its vast areas has become urgent. Today, any Internet resource is the property of a private individual or…