A text box, text field or text entry box is a graphical control element intended to enable the user to input text information to be used by the program. Human Interface Guidelines recommend a single-line text box when only one line of input is required, and a multi-line text box only if more than one line of input may be required. Non-editable text boxes can serve the purpose of simply displaying text. A typical text box is a rectangle of any size, possibly with a border that separates the text box from the rest of the interface. Text boxes may contain zero, one, or two scrollbars. Text boxes usually display a text cursor, indicating the current region of text being edited. It is common for the mouse cursor to change its shape when it hovers over a text box.
Standard functionality
Typical implementations allow a user to do the following:
* When keys are pressed, the text appears where the caret is. Some very simple text boxes may not show a caret, which would suggest that new characters typed in will appear at the end of the current text.
Navigate and select portions of text
* Using a mouse:
** Change the caret position by clicking the desired point with a mousecursor;
** Select a portion of text by pressing the main mouse button while pointing the cursor at one end of the desired part of the text and dragging the cursor to the other end while holding the button pressed.
* Using the keyboard:
** Pressing arrow keys changes caret position by one character or line ;
** Pressing Page Up / Down moves the caret a page backward / forward or moves the scrollbar thumb a page backward / forward without changing the caret position ;
** Holding the Ctrl key while pressing arrow keys or Home / End keys makes the caret move at larger steps, e.g. words, paragraphs or beginning / end of document;
** Holding the Option key while pressing arrows moves the caret whole words or paragraphs;
** Holding the Command key while pressing up or down arrows or Holding the Ctrl key while pressing home / end moves the caret to the beginning or end of the document;
** Holding the shift key while changing the caret position with a mouse or keyboard selects the text between the caret position from when shift was first pressed and its current position.
** Pressing Control-A|Ctrl+A selects all text.
Edit the text
* Work in insert or overwrite mode, typically switched using Insert key. In insert mode if there is a character to the right of the caret, the new character will be inserted before it, while in overwrite mode typing a new character will replace the character to the right of the caret position.
* Typing in a text while some part of the text already entered is selected will replace the selected text.
* Delete / Backspace keys remove one character right / left of current caret position, while pressing them together with the Ctrl or command key removes one word.
* Edit the text using standard clipboard operations.
The keys indicated relate to the text box widgets in Microsoft Windows and Mac OS X; similar if not identical keyboard bindings exist under the X Window System and other systems, and typically follow the same scheme as Windows.