文字ピッカー
文字を視覚的に閲覧・選択するUIコンポーネント(ネイティブまたはWebベース)。モバイルの絵文字ピッカーが最も一般的な例です。
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進数値を入力してUnicodeコードポイントを直接入力する方法。Mac:Option+16進数+離す。Windows:Word/WordPadで16進数入力後にAlt+X。
Alt+テンキーの数字でコードページ番号により文字を入力するWindows入力方法(Alt+0169 → ©、Alt+0176 → °)。コードページ1252の文字に制限されます。
A system-level tool for browsing and inserting Unicode characters. macOS Character Viewer …
Unicodeコードポイントで文字を入力する任意の方法:16進数入力(Mac)・Ctrl+Shift+UによるU+XXXX入力(Linux)・Alt+X(Windowsアプリケーション)。
音声または構造的マッチングにより入力キーシーケンスを文字に変換し、標準キーボードで複雑な文字(CJK・韓国語など)を入力できるようにするソフトウェアコンポーネント。
複数キーの合成シーケンスを開始するキー(通常は右Alt またはカスタムマップ)。Linux/Unix機能:Compose + a + e → æ。XComposeで設定可能です。
すぐに出力せず次のキー入力を修飾するキー。発音区別符号の入力に使われます:`を押してeを押すとèになります。欧州のキーボードレイアウトで一般的です。
Unicode文字を閲覧・挿入するGUIユーティリティ。Windows:charmap.exe。Mac:文字ビューア(Control+Command+Space)。Linux:gucharmap。