Pemilih karakter
Komponen UI (native atau berbasis web) untuk menelusuri dan memilih karakter secara visual. Picker emoji di perangkat mobile adalah contoh yang paling umum.
What is a Character Picker?
A character picker is a UI widget or interface component — either in an operating system, application, or web page — that allows users to browse and select special characters for insertion into text. Character pickers are the graphical, interactive counterpart to keyboard shortcuts: where shortcuts reward memorization, pickers reward discoverability. They are particularly common for emoji selection, symbol insertion in document editors, and mathematical notation input.
Types of Character Pickers
OS-Level Pickers
Windows Emoji & Symbols (Win + . or Win + ;): A floating panel with tabs for emoji, GIF, kaomoji, and symbols. Searchable, with recently used characters. Available in any text field system-wide.
macOS Character Viewer (Ctrl + Cmd + Space): A richer panel with full Unicode category browsing, search, recent/favorites. Can be expanded to a full Character Viewer window.
iOS/Android keyboard: The globe/emoji key opens a full-screen picker with scrollable categories and search.
Application-Level Pickers
Word processors (Google Docs: Insert → Special characters; Microsoft Word: Insert → Symbol) include their own character pickers, often with better search and categorization than OS-level tools.
Code editors and IDEs: Some (like VS Code with extensions) include Unicode character pickers accessible by command.
Web-Based Pickers
Many web applications implement in-page character pickers as <input> overlays or modal dialogs, typically using JavaScript to insert the selected character at the cursor position:
// Insert character at cursor in a textarea
function insertAtCursor(textarea, char) {
const start = textarea.selectionStart;
const end = textarea.selectionEnd;
const value = textarea.value;
textarea.value = value.slice(0, start) + char + value.slice(end);
// Move cursor after inserted character
textarea.selectionStart = textarea.selectionEnd = start + char.length;
textarea.focus();
}
// Usage
document.querySelector('#insert-btn').addEventListener('click', () => {
insertAtCursor(document.querySelector('textarea'), '→');
});
Emoji Picker as Special Case
The emoji keyboard/picker has become the most widely used character picker in consumer software. Its design patterns have influenced character picker UX broadly:
- Category tabs with icon navigation (smileys, animals, food, activities, etc.)
- Search by keyword ("heart," "star," "thumbs")
- Skin tone modifier selection (for applicable emoji)
- Recently used section for fast repeat access
- Grid layout with hover/tap preview
Design Considerations for Web Pickers
Building an accessible, performant character picker for a web app involves:
- Virtualized grid: Rendering all 154,998 Unicode characters at once is impractical. Virtualize the list using intersection observer or a library like
react-window. - Search indexing: Pre-build a search index of character names for fast lookup.
- ARIA roles: Use
role="grid"for the character grid,role="gridcell"for each character, andaria-labelwith the character name for screen readers. - Keyboard navigation: Arrow keys to move focus, Enter to select, Escape to dismiss.
- Focus management: Return focus to the triggering element after selection.
<div role="grid" aria-label="Character picker">
<div role="row">
<button role="gridcell" aria-label="Em dash U+2014" data-char="—">—</button>
<button role="gridcell" aria-label="En dash U+2013" data-char="–">–</button>
<!-- ... -->
</div>
</div>
Quick Facts
| Property | Value |
|---|---|
| Windows OS picker | Win + . (Emoji & Symbols) |
| macOS OS picker | Ctrl + Cmd + Space (Character Viewer) |
| iOS/Android | Globe/emoji key in keyboard |
| Web insertion API | textarea.setRangeText() or selection API |
| Accessibility role | role="grid" / role="gridcell" |
| Key UX features | Search, categories, recent, favorites |
| Performance technique | Virtualized rendering for large character sets |
| Google Docs picker | Insert → Special characters (with drawing search) |
Istilah Terkait
Lainnya di Metode Input
A system-level tool for browsing and inserting Unicode characters. macOS Character Viewer …
Entri code point Unicode langsung dengan mengetik nilai hex. Mac: tahan Option …
Komponen perangkat lunak yang memungkinkan input karakter kompleks (CJK, Korea, dll.) menggunakan …
Metode input Windows menggunakan Alt + digit numpad untuk mengetik karakter berdasarkan …
Metode apa pun untuk memasukkan karakter berdasarkan code point Unicode-nya: input hex …
Utilitas GUI untuk menelusuri dan menyisipkan karakter Unicode. Windows: charmap.exe. Mac: Character …
Tombol (biasanya Alt Kanan atau yang dipetakan khusus) yang memulai urutan komposisi …
Tombol yang tidak menghasilkan output langsung tetapi memodifikasi penekanan tombol berikutnya. Digunakan …