Have you already checked in? Mastering Foursquare Social Network
Today's leaders in the market of Internet idleness products are intertwined with each other very tightly, notifications and records are scattered across all social networks in a few minutes and…

Continue reading →

the Costa-Rica-based Bitcoin Penguin has really great chances to become one
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…

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.

How to open an online store for your grandmother?
Remember how a couple of years ago, the ability to make money on the Internet seemed to be the highest skill? Then the children patiently explained to their parents how…


10 word of mouth tactics for business
Word of mouth is when customers share brand information with friends and family. In other words, this is free advertising. According to a Nielsen study, 92% of consumers trust the…


What could the Internet become in the future?
In the world, it seems, there is not a single corner left without an Internet connection. He is in the jungle of the Amazon, in Antarctica, in the deserts of…


What skills of a successful blogger can be very useful in everyday life?
Blogging for many today is no longer just entertainment, but part of a lifestyle. Found, finally, a vocation of life ... But, no matter how much such people would like…