문자 선택기
문자를 시각적으로 탐색하고 선택하는 UI 구성 요소(네이티브 또는 웹 기반). 모바일의 이모지 선택기가 가장 일반적인 예입니다.
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) |
관련 용어
입력 방식의 더 많은 용어
16진수 값을 입력하여 유니코드 코드 포인트를 직접 입력하는 방법. Mac: Option + …
Alt + 숫자 패드 숫자를 사용하여 코드 페이지 번호로 문자를 입력하는 Windows …
A system-level tool for browsing and inserting Unicode characters. macOS Character Viewer …
즉시 출력 없이 다음 키 입력을 수정하는 키. 분음 부호 입력에 사용됩니다: …
유니코드 문자를 탐색하고 삽입하는 GUI 유틸리티. Windows: charmap.exe. Mac: 문자 뷰어(Control+Command+Space). Linux: …
유니코드 코드 포인트로 문자를 입력하는 모든 방법: 16진수 입력(Mac), Ctrl+Shift+U를 통한 U+XXXX …
음성 또는 구조적 매칭을 통해 키 입력 시퀀스를 문자로 변환하여 표준 키보드로 …
다중 키 합성 시퀀스를 시작하는 키(보통 오른쪽 Alt 또는 사용자 지정). Linux/Unix …