In computing, a button (sometimes known as a command button or push button) is a graphical control element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action.

Overview
A typical button is a rectangle or rounded rectangle, wider than it is tall, with a descriptive caption in its center. The most common method of pressing a button is clicking it with a pointer controlled by a mouse, but other input such as keystrokes can be used to execute the command of a button. However, a button is not always restricted to a rectangular shape. The sole requirement of button interaction is that the user can execute a command by a click action. Thus pictures and background areas can be programmed as buttons. When pressed, in addition to performing a predetermined task, buttons often undergo a graphical change to mimic a mechanical button being depressed.

Depending on the circumstance, buttons may be designated to be pushed only once and execute a command, while others may be used to receive instant feed back and may require the user to click more than once to receive the desired result. Other buttons are designed to toggle behavior on and off like a check box. These buttons will show a graphical clue (such as staying depressed after the mouse is released) to indicate the state of the option.

A button often displays a tooltip when a user moves the pointer over it. The tooltip serves as built-in documentation that briefly explains the purpose of the button.

Some very common incarnations of the button widget are:
 An OK button for confirming actions and closing the windows
 A Cancel button for canceling actions and closing the window
 An Apply button for confirming actions without closing the window
 A Close button for closing windows after changes have already been applied

Appearance

macOS  

Buttons in macOS's Aqua interface are usually depicted as rounded-rectangles of crystallised glass. Normally these buttons are light grey in color, and turn blue when pressed. The button with keyboard focus (selectable with the spacebar) appears with a blue glow surrounding it. The default button in an active window (selectable with the return key) animates between a bright blue and a darker blue (the same color as a pressed button).

Also used, primarily within application toolbars, are slightly rounded rectangles with a light grey metallic appearance. These buttons appear darker and "pushed inward" when pressed.

Window management controls appear in the top left corner of each window. These buttons are similar in style to standard aqua buttons, but are color-coded as a memory aid. From left to right, these are: "Close Window", shown in red; "Minimize Window", shown in yellow; and "Zoom", shown in green, which causes the window to resize to best fit its contents.

Windows shell 

Buttons in Microsoft Windows are usually rectangular, with mildly rounded corners in Windows XP, Vista, and 7, with a return to form in Windows 11.  In Windows 8, the buttons are rectangular with sharp corners.  A button with active focus is shown with a black dotted line just inside the border of the button.  In addition, more recent versions, the default button is shown with a blue border.  In Windows Vista and Windows 7, the default button will slowly fade between its normal appearance and the blue border. Window management controls are in the upper right-hand corner of the application window, and, from left to right: "minimize" the window (causing it to disappear into the taskbar at the bottom of the screen); maximize the window (causing it to expand to cover the whole screen; if the window is already maximized, the button will restore it to its previous size and position); and close the window.

Linux and other Unix-like systems 
The appearance and behavior of buttons in Linux and other Unix-like operating systems is defined primarily by which widget toolkit is being employed, the most popular being GTK and Qt, though other toolkits are used as well. The use of multiple toolkits can lead to less uniform look and feel across applications. Most widget toolkits also have theming capabilities, so there is no single standard appearance as there is with Mac OS and Windows.

HTML 

Buttons appear as elements of HTML forms to carry out actions such as clearing user input or submitting the form contents to the server. Buttons specified in HTML may be rendered by web browsers in different ways, typically either using the native button appearance of the underlying OS, or by using a button definition from within the browser. Buttons may also be styled by the developer of the web site the form appears on by using cascading style sheets.

HTML links are sometimes represented by a graphic closely resembling a button. Sometimes this type of link is used in advertisements to induce the user to click the ad and visit the advertiser's site.

References

Graphical control elements