A user interface (UI) control is a visual element on a computer screen that helps humans to interact with the underlying software. (They are also sometimes referred to as “widgets.”) Examples of UI controls are buttons, checkboxes, links, tabstrips, charts, and windows, but there are many more that you probably use daily, but never gave them a second thought. Let’s briefly have a closer look here.
In addition to being visual elements, UI controls are technical building blocks with predefined attributes, methods and values that establish a consistent visualization and interaction. They are made available in a so-called “control library” from which application developers choose the controls they need and then, if necessary, select the preconfigured attributes. For example, a developer might choose to create a form with a check already in a checkbox, instead of an empty box (which is the default). This might be to encourage the user to select that particular option. However, as the checkbox is enabled, the user can still uncheck the box if he or she wants to. “Checked” and “unchecked” are examples of attributes of the checkbox UI control.
A control library has many benefits. It supplies reusable UI controls to developers and simplifies the versioning process inherent to software creation. In a consolidated library, the relationships among controls become evident, allowing designers and developers to better ensure usability on a variety of levels. For example, keyboard accessibility, screen reader support, and color usage can be treated consistently, providing our users with a unified experience. Rendering performance can also be addressed more efficiently, since some principles apply to a variety of UI controls. Dependencies which are important for design customization for our customers can also be analyzed in a more systematic way. UI control libraries streamline the development process because they provide designers and developers with a consistent toolset for their UI work. They do not have to create the controls from scratch each time they build an application. Users benefit in turn from the consistent look and feel of our software.