Sélecteur de caractères
Composant d'interface utilisateur (natif ou basé sur le Web) permettant de parcourir et sélectionner des caractères visuellement. Les sélecteurs d'emoji sur mobile en sont l'exemple le plus courant.
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) |
Termes associés
Plus dans Méthodes de saisie
A system-level tool for browsing and inserting Unicode characters. macOS Character Viewer …
Méthode de saisie Windows utilisant Alt + chiffres du pavé numérique pour …
Composant logiciel permettant la saisie de caractères complexes (CJK, coréen, etc.) à …
Toute méthode pour saisir des caractères par leur point de code Unicode …
Saisie directe de points de code Unicode en tapant la valeur hexadécimale. …
Utilitaire graphique permettant de parcourir et d'insérer des caractères Unicode. Windows : …
Une touche (généralement Alt droit ou personnalisée) qui démarre une séquence de …
Une touche qui ne produit aucune sortie immédiate mais modifie la prochaine …