Buttons allow users to perform actions with mouse, touch, or keyboard.
Buttons seems like simple components at first, but they are incredibly complicated. Read the following articles to understand why: