Niveau 0
HTML sémantique pur
Les balises natives (<button>, <input>, <dialog>, <details>, <search>) et les états ARIA pilotent directement le style et l'accessibilité.
<label for="nom">
Nom <em data-required aria-hidden="true">*</em>
<input id="nom" type="text" required>
</label>
Niveau 1
Contrat --peels-*
Chaque rôle visuel (surfaces, typographie, rayon, densité des contrôles, anneau de focus) est exposé sur :root ou sur un conteneur parent par héritage.
aside {
--peels-control-font-size: var(--peels-text-xsmall);
--peels-component-radius: 0px;
}
Niveau 2
Thèmes découplés par axe
Couleur OKLCH, typographie et espacement sont indépendants. Changez d'identité globale ou locale par un simple attribut sur n'importe quel sous-arbre.
<html data-color-theme="forest"
data-type-theme="editorial"
data-space-theme="compact">