Les icônes sont toujours des Material Symbols de Google : Rounded pour M3E et Plaza, Sharp pour la variante Chrome (Y2K). Jamais d'autre bibliothèque, jamais d'emoji.
Ce que fournit le consommateur
<span class="ms">nom_de_l_icone</span> (ligature de la police) avec aria-hidden="true" si un libellé l'accompagne, sinon un aria-label sur le bouton parent. .ms.fill pour la version remplie. Dans .y2k, la même balise passe automatiquement en Sharp.
Réglages
- Graisse 400, grade 0, taille optique égale à la taille d'affichage (
opsz20 à 48). - Tailles : 18px dans un bouton ou une chip, 20px dans un champ, 24px par défaut (icon-button, navigation), 40px et plus en illustration.
FILL0 au repos,FILL1 pour l'état sélectionné (navigation, favori actif).- Couleur héritée (
currentColor) : l'icône prend le rôle du texte voisin. - Web : police Google Fonts avec
icon_names=pour ne charger que les icônes utilisées. Flutter :Icons.*_rounded(Stabilité le fait déjà), etIcons.*_sharpen variante Chrome. Compose :Icons.Rounded.*/Icons.Sharp.*.
Règles
- Un seul style d'icône par écran : Rounded ou Sharp, jamais mélangés.
- Une icône seule doit être universelle (fermer, rechercher, plus) ; sinon un libellé l'accompagne.