Fact-checked by Grok 2 weeks ago

List box

A list box is a graphical user interface (GUI) component that displays a scrollable list of selectable items, allowing users to choose one or more options from a predefined set in various computing environments. It is commonly used to present options such as menu choices, data entries, or configurations, where the full list remains visible without needing to expand or collapse, distinguishing it from similar controls like combo boxes. In software development frameworks such as , (UWP), , and , the list box supports key features including single or multiple selection modes, data binding for dynamic content population, and customization of item appearance through templates or owner-drawn options. These capabilities enable efficient user interaction via mouse clicks, keyboard navigation, or touch inputs, with built-in for handling lists longer than the visible area. Research on highlights that list boxes are integral to selection tasks in interfaces across devices like and PDAs, where design elements such as scroll bar orientation and item justification impact user performance and preference. Historically, list boxes have been a standard element in toolkits since the early days of windowing systems, evolving to integrate with modern data-driven applications while adhering to standards for . Their versatility makes them suitable for forms, settings panels, and data browsers, though developers often pair them with more advanced controls like ListView for complex layouts in contemporary apps.

Definition and Characteristics

Overview

A list box is a graphical control element in user interfaces that displays a list of selectable items, allowing users to choose one or more options from a predefined set. It serves as a fundamental component for presenting choices in a structured manner, enabling efficient navigation through options without requiring free-form input. Users interact with a list box primarily by clicking or tapping on items to select them, with support for single or multiple selections depending on the configuration. For lists exceeding the visible area, scrollbars appear automatically to facilitate browsing longer sets of options. Visually, a list box appears as a rectangular container filled with text labels or icons representing the available options, where selected items are typically highlighted for clarity. Selected items are indicated by highlighting; in multi-selection modes, multiple items can be chosen using modifiers like Ctrl or Shift, while single-selection relies on highlighting the current choice. Some custom implementations or variant controls may use checkboxes for explicit multi-selection indication. In form-based interfaces, the list box functions as a reliable input method for capturing structured data, as it constrains user choices to valid predefined options, thereby minimizing errors associated with manual text entry. This approach enhances data accuracy and streamlines validation processes in applications ranging from software to forms.

Key Features

List boxes are designed with flexible sizing and layout options to accommodate varying amounts of content while maintaining . They generally feature a fixed or resizable height and width, allowing developers to define the visible area based on the interface's constraints. When the number of items exceeds the visible space, automatic vertical is enabled, often accompanied by scroll bars for ; is less common but supported for longer items via properties like horizontal extent settings. Primarily oriented vertically, list boxes ensure a linear presentation that prioritizes quick scanning of options. Selection mechanisms in list boxes facilitate intuitive user interaction through visual highlighting of chosen items, which can be single or multiple based on the . Users can select items via clicks or touch gestures, with support for extended selections using modifiers like Shift or Ctrl. Keyboard navigation is a core feature, enabling movement through the list using to highlight items, Home/End for jumping to boundaries, and Enter or Space to confirm selections. This combination ensures across input methods without requiring platform-specific adaptations. Data binding allows list boxes to populate dynamically from external sources such as arrays, collections, or , streamlining the display of real-time or fetched data. Developers can bind items using properties like , which automatically updates the list upon changes to the underlying . Additional capabilities include in-list sorting to organize items alphabetically or by custom criteria, and built-in or programmable to visible options based on input. These features enable efficient management of large datasets without manual repopulation. Event handling in list boxes provides responsive feedback to user actions, triggering notifications such as or SelectedIndexChanged when an item is chosen, onChange for value updates, and onDoubleClick for advanced interactions like . These events support validation logic, such as checking selection constraints before proceeding, and can integrate with broader application workflows. By firing messages like WM_COMMAND in underlying systems, they ensure seamless communication between the control and the hosting application. Styling options for list boxes emphasize while preserving , particularly for dense lists with numerous items. can be modified through themes for consistent integration with the overall , along with adjustments to fonts for text clarity and colors for foreground/background elements to enhance contrast. Owner-drawn modes allow programmatic control over item rendering, enabling icons, borders, or conditional formatting without compromising the control's core functionality. These properties ensure the list remains visually distinct yet adaptable to design requirements.

History

Origins in Early GUIs

The list box, as a (GUI) component for selecting from a predefined set of options, emerged in the pioneering work at PARC with the system in 1973. The Alto's displayed directory listings in a columnar format, allowing users to select files via interaction on a bitmapped screen, laying foundational concepts for list-based selection widgets that influenced subsequent designs. These early implementations prioritized visual representation of choices over command-line inputs, enabling more intuitive navigation in a resource-constrained environment with limited processing power and memory. The concept was formalized in the workstation, released in , where scrolling lists and dialog boxes became core elements for user interaction. In the Star's interface, property sheets and dialog forms incorporated selectable lists with scroll bars to manage options like file names or settings, adhering to design principles that minimized user memory load by making actions visible and reversible. This approach was motivated by the need to support office productivity tasks efficiently on hardware with modest capabilities, such as a ~6 MHz and 384 RAM (expandable to 1.5 MB), where list boxes reduced the cognitive burden of recalling exact commands or typing into text fields compared to earlier text-based systems. Early adoption occurred with the computer in 1983, which integrated list-based selection mechanisms into its for alternatives to pull-down menus, particularly in applications like the LisaWrite word processor for choosing fonts or styles. Folders in the Lisa's displayed hierarchical lists of files and directories, with mouse-driven selection supporting single or group operations, building directly on innovations to streamline tasks. The Macintosh, introduced in 1984, carried over these elements, using list selections in dialog boxes for tasks like document management in , further popularizing the in consumer software. A key milestone came with Microsoft's in 1985, marking the first widespread commercial deployment of list boxes in PC environments, adapted from and Apple precedents to fit tiled-window multitasking on IBM-compatible hardware. Windows' built-in list box controls handled option selection in applications and dialogs, enabling efficient management of visible choices despite the era's 640 KB memory limits and slower processors.

Evolution Across Platforms

In the 1990s, list boxes achieved greater standardization within the through the toolkit, which introduced the XmList as a core component for Unix environments, enabling consistent graphical list selection interfaces across diverse workstations. This toolkit's IEEE 1295 standard, ratified in 1993, formalized widget behaviors including list rendering and event handling, influencing subsequent GUI developments. The approach emphasized modular, extensible components that promoted in networked computing setups. Parallel developments in other desktop environments included Digital Research's (1983–1985), which featured list selectors in dialog boxes for file and option management, and the Amiga's interface (1985), incorporating scrollable list views for application menus and data selection on consumer hardware. These systems contributed to the diversification of list box implementations beyond proprietary workstations. These Unix-based standards significantly shaped cross-platform GUI frameworks, notably Java's (AWT), released with 1.0 in 1996, which included the List component for portable list box functionality across Windows, macOS, and Unix systems. Building on AWT, the toolkit—introduced in 1997 and fully integrated by 1.2 in 1998—enhanced list boxes with the class, offering improved rendering, data models, and look-and-feel pluggability to ensure visual consistency regardless of the underlying OS. Swing's pure-Java implementation addressed AWT's native dependencies, facilitating broader adoption in enterprise applications. Parallel to desktop advancements, list boxes integrated into web technologies during the 1990s via the HTML as a foundational control for user input on the emerging web. By the late 1990s, the CSS Level 1 specification (1996) and CSS Level 2 (1998) allowed basic styling of options via asynchronous JavaScript requests, reducing page reloads and enhancing interactivity in tools like Google's . By the 2010s and into 2025, modern frameworks have refined list boxes for scalability and inclusivity, with incorporating virtualized lists via libraries like react-window to efficiently render thousands of items by only painting visible elements, mitigating performance issues in data-heavy UIs. Similarly, has adopted virtual scrolling through utilities like useVirtualList, supporting seamless handling of large datasets in single-page applications since the early 2020s. Recent trends emphasize for , ensuring list boxes degrade gracefully to basic when JavaScript fails, aligning with WCAG 2.2 guidelines (updated 2023) to support screen readers and keyboard navigation across diverse user agents.

Implementations

In Web Technologies

In web technologies, the list box is primarily implemented using the , which creates a dropdown menu or scrolling list of options for user selection. This element contains child <option> elements to define the selectable items, each with a value attribute for the submitted data and optional label for display. For instance, a basic single-select list box might be structured as <select><option value="1">Option 1</option><option value="2">Option 2</option></select>. Key attributes control the behavior and appearance of the <select> element. The size attribute specifies the number of visible rows, defaulting to 1 for a dropdown or higher (e.g., size="5") to display a scrolling list without collapsing. The multiple attribute enables multi-selection, transforming the control into a list where users can hold Ctrl (or Cmd on macOS) to pick several options. The disabled attribute, introduced in 4.01, prevents user interaction and form submission of the value, rendering the list box grayed out. These attributes ensure flexibility in form design while maintaining semantic structure. CSS allows limited customization of the <select> element to override browser-default styling, though full control remains challenging due to native rendering. Setting appearance: none removes platform-specific dropdown arrows and borders, enabling custom backgrounds, borders, and padding via properties like width, height, background-image for arrows, and border-radius for rounded edges. For example, a custom style might include select { appearance: none; background-image: url('arrow.svg'); background-repeat: no-repeat; background-position: right center; } to replace the default arrow. However, options within the dropdown often resist deep styling, prompting developers to use pseudo-elements like ::after for arrows or libraries for advanced visuals. Recent proposals, such as the appearance: base-select value in experimental browser features, aim to enhance customizability while preserving accessibility. JavaScript enhances interactivity by attaching event listeners to the <select> element, represented by the HTMLSelectElement interface. The change event, fired upon selection, can be handled with addEventListener('change', function(event) { /* update UI or submit form */ }); to enable dynamic behaviors like populating dependent fields or AJAX fetches. Methods such as add() and remove() allow runtime modification of options, supporting features like loading data from APIs. For more advanced functionality, libraries like Select2 provide search, tagging, and infinite scrolling for large datasets, while Choices.js offers a lightweight, vanilla JS alternative with similar enhancements including pagination and customizable placeholders. In React applications, the React Select component integrates virtual scrolling via libraries like react-window to render only visible options, mitigating performance issues with thousands of items. The <select> element has been supported since HTML 2.0 in 1995, with universal browser compatibility from early versions like 1.0 and 2.0. Modern features, such as the <datalist> element introduced in , serve as a alternative by providing suggestions for <input> fields (e.g., <input list="options"><datalist id="options"><option value="Item 1"></option></datalist>), allowing free-text entry alongside predefined choices. For older browsers like and below lacking <datalist> support, polyfills such as datalist-polyfill emulate this behavior using overlays. Performance considerations arise with large option lists, where rendering thousands of <option> elements can cause DOM bloat and slow rendering; virtual scrolling in frameworks like React Select addresses this by lazily loading and recycling DOM nodes based on viewport position.

In Desktop Environments

In desktop environments, list boxes are implemented through native application programming interfaces () provided by major operating systems and cross-platform frameworks, enabling developers to create selectable lists of items within graphical user interfaces. These controls are typically rendered using system-level widgets, ensuring consistency with the host platform's while supporting core functionalities such as item population, selection handling, and event notification. On Windows, the ListBox control is a fundamental component of the Win32 API, defined in the User32.dll library and available since the initial release of in 1985. Developers create a ListBox instance using the CreateWindowEx function with the "LISTBOX" class name, after which items can be added programmatically via messages like LB_ADDSTRING for inserting text strings or LB_INSERTSTRING for positioned insertion. Selection states are managed through messages such as LB_GETSEL to retrieve the index of selected items or LB_SETSEL to modify selections, allowing single or multiple item choices depending on styles like LBS_MULTIPLESEL. This control integrates seamlessly with dialog boxes and forms in applications built with languages like C++ or via higher-level wrappers in .NET. In macOS environments using the framework, list box functionality is primarily handled by the NSTableView class, which originated in the operating system in 1988 and was refined upon the introduction of in 2001. NSTableView displays rows of in a tabular format that can be configured as a simple vertical list by using a single column, with data sourced from an NSArray or other collections via a data source protocol. For scenarios requiring a compact list with optional text input, NSComboBox serves as an alternative, combining a text field with a pop-up list introduced in Mac OS X 10.3 (2003); it supports adding items through methods like addItemWithObjectValue: and handles selections via delegate callbacks. Both controls natively support drag-and-drop operations, enabling users to reorder or transfer items between views using NSDragging protocols, which enhances usability in applications like file managers or preference panels. For Linux-based desktop environments, the toolkit provides GtkTreeView as the primary for list box implementations, introduced in GTK+ 2.0 in 2002 following the stable release of GTK+ 1.0 in 1998. GtkTreeView renders hierarchical or flat lists by binding to a GtkTreeModel, such as GtkListStore for simple lists, where items are appended using gtk_list_store_append and populated with gtk_list_store_set; selections are tracked via a GtkTreeSelection object that emits signals for changes. A more modern option, GtkListBox, added in 3.10 (2013), offers simpler vertical list handling with built-in sorting and filtering through GObject-based signals like "row-activated" for item interactions. These are widely used in applications, leveraging the toolkit's event-driven model for responsive updates. Cross-platform frameworks facilitate list box development without platform-specific code. In , the QListWidget class, introduced with Qt 4.0 in June 2005, provides an item-based interface for lists, where items are added via addItem or insertItem methods and selections handled through signals like itemClicked; it abstracts native controls on Windows, macOS, and for consistent behavior. Similarly, JavaFX's ListView, available since JavaFX 1.0 in December 2008, displays observable lists from javafx.collections.ObservableList, supporting cell factories for custom rendering and selection modes via getSelectionModel, making it suitable for Java desktop applications across operating systems. List boxes in desktop applications often integrate with underlying data models for dynamic content, such as binding to SQL query results or XML documents to populate items in real-time. For instance, in or WPF, a ListBox can be data-bound to a DataTable from an SQL connection, automatically updating as query results change, while in or , XML libraries like NSXMLParser or QXmlStreamReader feed structured data into the control's model for applications like integrated development environments () or file explorers. This binding ensures efficient synchronization without manual refresh loops, improving performance in data-intensive scenarios.

In Mobile and Touch Interfaces

In mobile and touch interfaces, list boxes are adapted to prioritize gesture-based interactions, screen size limitations, and resource constraints, often manifesting as scrollable selectors or pickers rather than traditional desktop dropdowns. These implementations emphasize efficient rendering and intuitive touch responses to enhance on devices with varying form factors. On , the UIKit framework provides UIPickerView for wheel-style selections and UITableView for flat, scrollable lists, both introduced with iPhone OS 1.0 in 2007 to support early touch navigation. UIPickerView allows users to spin through options via flick s, while UITableView enables swipe-based with gesture recognizers for interactions like selection and deletion. These components integrate seamlessly with iOS's event handling system to detect taps and drags, ensuring responsive feedback on capacitive screens. Android platforms utilize Spinner for compact dropdown-like lists and RecyclerView for high-performance, dynamic lists, with Spinner debuting in Android 1.0 in and RecyclerView added in 2014 via the support library. Spinner displays a single selected item that expands into a list upon touch, while RecyclerView employs view recycling and adapters to handle large datasets efficiently, minimizing memory usage during scrolling. Both support touch events through the View system, allowing for smooth animations and state preservation across user interactions. Cross-platform frameworks like and offer ListView and FlatList, respectively, for consistent list box behaviors across and . 's ListView, available since Flutter 1.0 in , uses slivers for lazy rendering and supports momentum-based scrolling to optimize performance on resource-limited devices. Similarly, 's FlatList provides virtualized rendering to load only visible items, reducing CPU and battery drain during extended use. These tools abstract native widgets, enabling developers to implement touch-optimized lists with shared codebases. Touch optimizations in mobile list boxes include enlarged hit areas, typically at least 44x44 pixels on to accommodate finger precision, and equivalent 48dp minimums in 's guidelines. Momentum scrolling simulates natural deceleration after flicks, while haptic feedback—such as subtle vibrations on selection—provides tactile confirmation without visual clutter. These features address the imprecision of touch inputs compared to pointers. Key challenges in mobile implementations are mitigated through techniques like , which defers data population until items enter the to conserve battery life, as recommended in both Apple and developer guidelines. Additionally, robust state management ensures list data persists during orientation changes, using lifecycle methods in iOS's UIViewController and 's Activity to restore selections without user disruption.

Usage and Design

Common Applications

List boxes are widely used in form inputs to facilitate structured , such as selecting product categories in filters or choosing countries in user registration forms. In platforms, scrollable list boxes enable users to browse and select multiple options like brands or sizes, streamlining product discovery without requiring separate searches. Similarly, registration forms employ single-select list boxes for predefined options, ensuring users input valid geographic data. In data selection interfaces, list boxes support navigation and querying tasks, such as displaying folders in or in database user interfaces. applications use list boxes to present contents, allowing users to select and files or subfolders efficiently. Database tools integrate list boxes to query , where selections from a list populate related data views, simplifying . Configuration tools in software often incorporate list boxes within settings panels to manage preferences, like choosing application themes or selecting plugins. These controls present available options in a visible, scrollable format, enabling quick adjustments without free-text entry. In , list boxes appear in clients for managing recipient lists and in integrated development environments () for picking languages or frameworks. applications use multi-select list boxes to add multiple contacts, supporting efficient composition in group communications. employ them to display and select project components, aiding developers in workflow setup. By providing standardized options, list boxes enhance accuracy in user inputs, preventing errors like typos in or selections, while their immediate visibility reduces interaction steps, speeding up tasks in interfaces handling high volumes of choices. Multi-select variants extend this utility for scenarios requiring multiple choices, such as recipient lists.

Accessibility and Usability Guidelines

To ensure list boxes are accessible, developers must adhere to the (WCAG) 2.2, particularly Success Criterion 4.1.2 (Name, , Value), which requires components to be programmatically identifiable by assistive technologies. For web-based list boxes, the role="listbox" identifies the container as a selectable , while child elements use role="option" to denote individual items, enabling screen readers to announce the structure and current selections. Additionally, attributes like aria-selected indicate the focused or chosen option, and aria-activedescendant manages within the for dynamic updates, ensuring screen readers convey changes without shifting system focus. Keyboard navigation must support standard operations, such as arrow keys for traversal and Enter or Space to select, with announcements for shifts to comply with WCAG 2.4.7 ( Visible) for visible indicators like outlines. Usability guidelines emphasize avoiding cognitive overload by limiting visible items in a list box to 3-9 options, allowing users to scan choices quickly without excessive scrolling, though expandable designs can accommodate more. For lists exceeding seven items, incorporating type-ahead or search functionality enhances efficiency, as users can filter options by typing the first character to jump to matches, reducing selection time and errors. Options should be presented in a logical, grouped order—such as alphabetical or categorical—to facilitate intuitive navigation, aligning with principles of progressive disclosure to reveal details only as needed. Inclusive design principles further require a minimum text-to-background of 4.5:1 for normal-sized text in list box labels and options, ensuring readability for users with low vision, as per WCAG 1.4.3 (Contrast Minimum). Semantic labeling is essential, using Testing list box accessibility involves automated and manual methods to verify compliance. Tools like evaluate for errors, missing labels, and contrast issues by overlaying visual indicators on the page, while audits keyboard traps, focus order, and WCAG conformance scores during development. Manual testing should simulate diverse user needs, such as navigating with screen readers (e.g., NVDA or ) to confirm announcements and using one-handed input for motor impairments, ensuring larger targets reduce accidental selections. Platform-specific guidelines reinforce these practices for native integration. In Android's 3, list boxes (as lists or spinners) must use content descriptions for TalkBack screen reader announcements and follow touch target sizing of 48dp minimum, with semantic grouping via dividers for scannability. For iOS, the recommend pickers (analogous to list boxes) with accessibility labels via the isAccessibilityElement property and traits like .button for selectable rows, ensuring reads selections contextually while supporting dynamic type for resizable text.

Variations and Alternatives

Single-Select vs. Multi-Select

List boxes operate in two primary modes: single-select and multi-select, each suited to different interaction needs based on whether options are mutually exclusive or allow concurrent choices. In single-select mode, users can choose only one item from the list at a time, making it ideal for scenarios requiring mutually exclusive selections, such as selecting (e.g., , , other) or product (e.g., small, medium, large). This mode defaults to a radio-button-like behavior where selecting a new item deselects the previous one, promoting simplicity and reducing for novice users. In contrast, multi-select mode enables users to choose multiple items simultaneously, often using checkboxes for visual indication of selections or keyboard modifiers like Ctrl (for individual picks) and Shift (for range selection) to facilitate efficient choices. This configuration is particularly useful for tasks involving tagging, filtering, or accumulating options, such as selecting multiple interests (e.g., , reading, ) from a hobbies . Configuration for these modes varies by platform; in web technologies, the uses the multiple attribute to enable multi-select, transforming the into a when combined with a size attribute greater than 1, while single-select is the default without it. In desktop environments like Windows, API flags such as LBS_SINGLESEL (default) or LBS_MULTIPLESEL/LBS_EXTENDEDSEL dictate the behavior, with multi-select providing visual cues like persistent highlights on selected items to distinguish it from single mode. The trade-offs between modes center on and flexibility: single-select offers a straightforward that limits errors and suits beginners but restricts users to one , potentially frustrating those needing combinations; multi-select provides greater power for complex selections yet can lead to over-selection or confusion without constraints like maximum limits, increasing the risk of unintended in large lists. From a performance perspective, multi-select list boxes demand more to track multiple selection states, especially in large datasets, often necessitating techniques like to maintain responsiveness whereas single-select requires minimal state management. In touch interfaces, multi-select adaptations include gestures like two-finger panning for range selection, as implemented in lists. The serves as a hybrid control combining elements of a list box and a text input field, enabling users to either select from a predefined list of options or enter custom values, often with functionality as seen in search bars. This distinguishes it from a standard list box by allowing editable input beyond the provided suggestions, making it suitable for scenarios where users might need to specify options not explicitly listed. A dropdown menu functions as a space-efficient, collapsible variant primarily for single selection, where options remain hidden until the user interacts with the control, such as by clicking an or the field itself. Unlike the always-visible list box, the dropdown conserves screen by displaying only the currently selected value, which is ideal for interfaces with limited space but requires an extra action to view alternatives. The extends the list box concept into hierarchical structures, presenting nested options that users can expand or collapse to navigate categories, such as in file directories or organizational charts. This control goes beyond flat lists by supporting parent-child relationships, enabling efficient browsing of complex, multi-level data sets where simple linear selection would be inadequate. Designers should select alternatives to list boxes based on specific needs: opt for a when users may enter unknown or custom options alongside suggestions; choose a for data with inherent categories or hierarchies requiring navigation; and avoid list boxes for very short lists of 2–5 mutually exclusive options, favoring radio buttons instead to make choices immediately visible without scrolling or expansion. Many of these related controls evolved from foundational list box designs in early graphical user interfaces and have been standardized across platforms, including web toolkits like Bootstrap, which provides consistent implementations for responsive environments.

References

  1. [1]
    ListBox Class (System.Windows.Forms) | Microsoft Learn
    A ListBox control that displays multiple items in columns and can have more than one item selected in the control's list.
  2. [2]
    ListBox Class (Windows.UI.Xaml.Controls) - Microsoft Learn
    ListBox lets users select from a pre-defined list of options presented like a text control. Use a ListBox when you want the options to be visible all the time.Missing: interface component
  3. [3]
    [PDF] Effects of scroll bar orientation and item justification in using list box ...
    The list box GUI component is usually present in an interface that asks a user to make a selection from a list of items.Missing: definition | Show results with:definition
  4. [4]
    About List Boxes - Win32 apps | Microsoft Learn
    Aug 21, 2020 · A list box control contains a simple list from which the user can generally select one or more items. List boxes provide limited flexibility compared with List ...Missing: component | Show results with:component
  5. [5]
    Listbox Pattern | APG | WAI - W3C
    A listbox presents a list of options, allowing users to select one or more. It can be single-select or multi-select. Screen readers may render the name, state, ...Scrollable Listbox Example · Listbox Example with Grouped...Missing: graphical definition
  6. [6]
    ListBox Control Overview - Windows Forms - Microsoft Learn
    A ListBox control displays a list where users select items. It uses scroll bars if needed, and can display items in single or multiple columns.Missing: graphical element
  7. [7]
    Combo box and list box - Windows apps | Microsoft Learn
    Feb 26, 2025 · A list box allows the user to choose either a single item or multiple items from a collection. List boxes are similar to drop-down lists, except ...
  8. [8]
    Checkboxes: Design Guidelines - NN/G
    Jun 28, 2024 · Checkboxes allow users to select one, some, or none of items from a list. They can be used standalone, in checkbox lists, or nested checkbox lists.Missing: rectangular | Show results with:rectangular
  9. [9]
    Listboxes vs. Dropdown Lists - NN/G
    Apr 12, 2020 · Using a listbox or a dropdown list can also reduce errors by constraining the options to those in the list and ensuring that users enter ...
  10. [10]
    Create a drop-down list - Microsoft Support
    Check the In-cell dropdown box. Select the Input Message tab. If you want a message to pop up when the cell is selected, check the Show input message when ...Add or remove items from a... · Combine text from two or more...<|control11|><|separator|>
  11. [11]
    Overview of the ListBox Component | Design System Kit - Telerik.com
    The ListBox component is a UI element that displays lists of items within a box and provides a number of interactive features. Users can select, reorder, and ...
  12. [12]
    A History of the GUI - Ars Technica
    May 4, 2005 · Since there were no such computers at the time, PARC invented their own. This was dubbed the Alto, and was first completed in 1973.Missing: list | Show results with:list
  13. [13]
    (PDF) Designing the Star user interface (1982) - ResearchGate
    Mar 9, 2017 · ArticlePDF Available. Designing the Star user interface (1982). January 1989. Authors: David Canfield Smith · David Canfield ...
  14. [14]
    GUIdebook > Articles > “Lisa user interface standards” (1980)
    Jan 22, 2005 · Most of the menus operate on the selection in the active folder. Some may operate on the active folder as a whole; or on a group of related ...
  15. [15]
    [PDF] Developer's Workshop - Bitsavers.org
    In version 1 (1985),. Windows' visual interface had a clunky, unconvincing ... be handled by Windows' built-in list box and combo box list-management.
  16. [16]
    [PDF] Common Desktop Environment: Programmer's Overview
    The Motif 1.2 standard, IEEE Std 1295, is entitled Standard for Information. Technology—X Window System Graphical User Interface—Modular Toolkit. Environment.
  17. [17]
    [PDF] Common Desktop Environment: Programmer's ... - Oracle Help Center
    The Motif 1.2 standard, IEEE Std 1295, is entitled Standard for Information. Technology—X Window System Graphical User Interface—Modular Toolkit Environment.
  18. [18]
    2 - A history of HTML - W3C
    In April 1993, version 1 of the Mosaic browser was released for Sun Microsystems Inc.'s workstation, a computer used in software development running the UNIX ...Missing: SELECT | Show results with:SELECT
  19. [19]
    Cascading Style Sheets, level 1 - W3C
    Dec 17, 1996 · CSS1 is a simple style sheet mechanism that allows authors and readers to attach style (eg fonts, colors and spacing) to HTML documents.
  20. [20]
    UITableView | Apple Developer Documentation
    Table views in iOS display rows of vertically scrolling content in a single column. Each row in the table contains one piece of your app's content.UITableViewDelegate · UITableViewDataSource · UITableView.Style · reloadData()
  21. [21]
    Virtualize large lists with react-window | Articles - web.dev
    Apr 29, 2019 · To improve the user experience of virtualized lists, react-window allows you to overscan items with the overscanCount property. This allows you ...
  22. [22]
    useVirtualList | VueUse
    Create virtual lists with ease. Virtual lists (sometimes called virtual scrollers) allow you to render a large number of items performantly.Missing: 2020s | Show results with:2020s
  23. [23]
  24. [24]
    Customizable Select Element (Explainer) - Open UI
    The <select> element will continue to behave as it currently does unless it has the appearance:base-select CSS property.Html Parser Changes · Use Cases · Customizing Basic Styles
  25. [25]
    HTMLSelectElement - Web APIs | MDN
    Apr 12, 2025 · The HTMLSelectElement interface represents a <select> HTML Element. These elements also share all of the properties and methods of other HTML elements.selectedOptions property · selectedIndex property · HTMLSelectElement.add()
  26. [26]
    Getting Started | Select2 - The jQuery replacement for select boxes
    Select2 gives you a customizable select box with support for searching, tagging, remote data sets, infinite scrolling, and many other highly used options.Select2 · The Select2 data format · Migrating from Select2 3.5 · Installation
  27. [27]
    Choices
    Choices.js is a lightweight, configurable select box/text input plugin. Similar to Select2 and Selectize but without the jQuery dependency.
  28. [28]
    React-Select
    A flexible and beautiful Select Input control for ReactJS with multiselect, autocomplete and ajax support.Props · Styles · Advanced · Creatable
  29. [29]
    Fyrd/purejs-datalist-polyfill: A pure JS (no jQuery required ... - GitHub
    A polyfill for the datalist element that both works in IE8+ and does not have dependencies, I decided to write my own.
  30. [30]
    List Box - Win32 apps - Microsoft Learn
    Aug 21, 2020 · A list box is a control window that contains a simple list of items from which the user can choose. For more complex lists, use the List View instead.Missing: component | Show results with:component
  31. [31]
    NSTableView | Apple Developer Documentation
    A set of related records, displayed in rows that represent individual records and columns that represent the attributes of those records.
  32. [32]
    NSComboBox | Apple Developer Documentation
    A view that displays a list of values in a pop-up menu where the user selects a value or types in a custom value.
  33. [33]
    Gtk.TreeView
    Gtk.TreeView is a widget for displaying both trees and lists, displaying any object that implements the GtkTreeModel interface.
  34. [34]
    Scalable lists in GTK 4
    Jun 7, 2020 · History: tree views and list boxes. Since ancient times (ie GTK 2), GtkTreeView has been the go-to data display widget in GTK. It uses a ...
  35. [35]
    QListWidget Class | Qt Widgets | Qt 6.10.0
    QListWidget is a convenience class that provides a list view similar to the one supplied by QListView, but with a classic item-based interface for adding and ...Missing: 4.0 | Show results with:4.0
  36. [36]
    ListView (JavaFX 20)
    A ListView displays a horizontal or vertical list of items from which the user may select, or with which the user may interact.
  37. [37]
    Use values from a SQL Server database to populate a list box, drop ...
    You can populate a list box, drop-down list box, or combo box with data from a query data connection to a Microsoft SQL Server database.
  38. [38]
    Add a list box or combo box - Microsoft Support
    To create a bound list box or combo box that looks up values in a table or query, make sure the form is based on a record source that includes a foreign key ...
  39. [39]
    How to create a directory listing in a single-selection ListBox
    Nov 4, 2020 · This topic demonstrates how to use a single-selection list box to display and access the contents of a directory.Missing: IDE | Show results with:IDE<|control11|><|separator|>
  40. [40]
    Performance issue - Long Multiple List Box - OutSystems
    Hi everyone,. I want to mimic something similar to email client, like the image below: I am using List Box with Multiple Selection and it works fine... but ...
  41. [41]
    Web Content Accessibility Guidelines (WCAG) 2.1 - W3C
    May 6, 2025 · Web Content Accessibility Guidelines (WCAG) 2.1 covers a wide range of recommendations for making Web content more accessible.Understanding WCAG · User Agent Accessibility · WCAG21 history · Errata
  42. [42]
    ARIA: listbox role - MDN Web Docs - Mozilla
    Jun 23, 2025 · The listbox role is used to identify an element that creates a list from which a user may select one or more static items, similar to the HTML <select> element.
  43. [43]
    WAVE Web Accessibility Evaluation Tools
    WAVE is a suite of evaluation tools that helps authors make their web content more accessible to individuals with disabilities.WAVE Browser Extensions · WAVE Report · Site-wide WAVE Tools · WAVE API
  44. [44]
    Introduction to Lighthouse - Chrome for Developers
    Jun 2, 2025 · Lighthouse is an open-source, automated tool to help you improve the quality of web pages. You can run it on any web page, public or requiring authentication.Lighthouse accessibility score · Lighthouse performance... · SEO auditsMissing: WAVE boxes
  45. [45]
    Lists – Material Design 3
    The accessibility Accessible design makes products usable for people with all kinds of abilities. More on accessibility label for a list is typically the same ...Missing: box | Show results with:box
  46. [46]
    Pickers | Apple Developer Documentation
    A picker displays one or more scrollable lists of distinct values that people can choose from. A stylized representation of a selected item in a scrollable list ...
  47. [47]
    List Boxes - Win32 apps - Microsoft Learn
    Aug 26, 2021 · With a list box, users can select from a set of values presented in a list that is always visible. With a single-selection list box, users select one item from ...
  48. [48]
    Select | U.S. Web Design System (USWDS)
    Multi-select. If you need to allow users to choose more than one option at once. Users often don't understand how to choose multiple items from select elements.
  49. [49]
  50. [50]
    ComboBox vs. ListBox - Windows Forms - Microsoft Learn
    A combo box is appropriate when there is a list of suggested choices, and a list box is appropriate when you want to limit input to what is on the list.Missing: treeview | Show results with:treeview
  51. [51]
  52. [52]
    Tree Views - Win32 apps - Microsoft Learn
    Jun 4, 2021 · With a tree view, users can view and interact with a hierarchically arranged collection of objects, using either single selection or multiple selection.Missing: differences | Show results with:differences<|control11|><|separator|>