Étiquettes et annotations
L’étiquette de section, l’étiquette de carte, l’annotation d’une scène, le fil d’Ariane.
L’étiquette de section
Elle nomme la section, au-dessus du titre : Inter en capitales espacées, sur un fond pâle bordé de vert. C’est la pastille qui dit qu’une section commence. Quand elle tient lieu de titre, comme pour les logos, elle peut être un h2 et garde sa taille.
- Emploi
- Nommer une section au-dessus de son titre : Nos offres, L’équipe, Le suivi, Contact.
- Moment
- Dans chaque Tête de section ; seule, en h2, quand la section n’a pas de titre (les logos).
- Jamais
- Comme bouton ou comme lien. Avec une phrase : elle ne passe à la ligne que sous 480 px. Dans une carte avec son bord et son fond : voir la rubrique suivante.
Nos offres
Ils nous ont confié leur projet
<Etiquette>Nos offres</Etiquette>
<Etiquette element="h2" id="tr-logos">Ils nous ont confié leur projet</Etiquette> | Classe | Zone | Valeur |
|---|---|---|
| .tr-etq | l’étiquette | Inter 600 11 px/1, .14em, capitales, chiffres de tableau ; padding 5/9 px ; sur une ligne |
| .tr-etq | les couleurs | bord 1 px var(--grinn), fond var(--pale), texte var(--grinn-deep) |
| .tr-etq::before | le carré | depuis le 12 octobre (les verts en relief) : un carré de 6 px en vert moyen (#60B8AF) devant le libellé, 8 px avant lui, immobile et décoratif ; pas dans une carte, le sommaire, une cellule lien, une note ni une page légale |
| .tr h2.tr-etq | quand elle est un h2 | même police et même taille, max-width none : elle ne prend pas la taille d’un titre |
| sous 480 px | écran étroit | retour à la ligne permis, interligne 1,35, max-width 100 % |
| element | la balise | p par défaut, span dans une carte, h2 quand elle nomme la section à elle seule |
| .tr-page__offre, .tr-fort .tr-etq, .tr-citation__note .tr-etq, .tr-cc--appel .tr-etq | sur les pages des cas | l’offre sous le chapô d’une page de cas, 26 px plus bas ; le point fort, sur fond blanc dans la cellule vert clair ; la citation ; l’appel de la page Réalisations, sur l’encre, qui garde son fond pâle et son bord : des étiquettes de section, avec leur carré |
L’étiquette de carte
Dans une carte d’offre ou de réalisation, l’étiquette nomme l’offre. Elle perd son bord et son fond et passe en gris : la pastille signale une section, pas une carte.
Clotilde Davenne
La boutique Shopify d’un domaine de Chablis. Cinq appellations, le retrait au domaine, et les règles de la vente de vin prévues dès le départ.
<Cellule element="div" classe="tr-cas__it">
<Etiquette element="span">Boutique en ligne</Etiquette>
<h3>Clotilde Davenne</h3>
<p class="small">La boutique Shopify d’un domaine viticole bourguignon.</p>
</Cellule> | Classe | Zone | Valeur |
|---|---|---|
| .tr-carte .tr-etq, .tr-cas__it .tr-etq | dans une carte | padding 0, bord 0, fond transparent, texte var(--ink-3) ; var(--ink-2) au survol d’une carte d’offre (son fond passe au vert clair) et d’un cas qui a son lien |
| .sys-sommaire .tr-etq | dans le sommaire du design system | même traitement : la case est une carte |
| Carte, Cas | qui la pose | le nom de l’offre (V3.offres.cartes) ; le libellé d’offre de la fiche (V3.realisations.offreLibelle) |
| .tr-cc__offre, .tr-suivant__etq | la carte d’un cas (page Réalisations), le cas suivant (page de cas) | pas une Etiquette : un paragraphe dans la même voix, Inter 600 11 px, capitales, .14em, encre troisième, sans bord, sans fond, sans carré ; le libellé d’offre de la fiche, précédé de « Cas suivant · » dans le cas suivant |
L’annotation
Un mot en capitales dans un petit cadre, relié par un trait d’attache à ce qu’il nomme sur la scène. Sur une illustration v2, elle est ancrée : le bout de son trait est posé sur l’objet ; ailleurs, en pourcentage de la scène. Elle flotte lentement, et disparaît sous 700 px : le texte suffit. Elle est décorative, elle redit ce que le texte dit.
<div class="tr-carte__scene" data-stagger="150">
<Scene nom="site-internet" />
{technos.map((t, k) => <Puce {...ancree(id, ANCRES_OFFRES[id][k], 'contenu')} vert={k === 1} n={k}>{t}</Puce>)}
</div> | Classe | Zone | Valeur |
|---|---|---|
| .tr-puce | l’annotation | Inter 600 10,5 px/1,2, .1em, capitales, chiffres de tableau ; padding 5/8 px ; largeur de la scène moins 8 px au plus, lignes équilibrées |
| .tr-puce | les couleurs | bord 1 px var(--line), fond var(--surface), texte var(--ink-2), ombre 0 1px 0 var(--line) |
| .tr-puce::after | le trait d’attache | 1 px de large, 16 px de haut (var(--trait) quand la prop trait est posée), var(--grinn-deep) depuis le 12 octobre (var(--ink-3) avant), à 12 px du bord gauche, au-dessus du cadre |
| haut | accrochée par le bas | le trait part sous le cadre (.tr-puce--haut) |
| vert | soulignée | une pastille pleine (.tr-puce--vert) : fond var(--grinn), bord var(--grinn-deep), texte var(--ink), 10,3:1 |
| etape | un des trois temps | s’allume en var(--grinn) pendant 28 % d’un cycle de 6,6 s, décalé de 2,2 s par rang (.tr-puce--etape) |
| x, y, n | la position | left et top en pourcentage de la scène ; n décale le flottement et le tour d’allumage |
| ancre | sur une illustration v2 | x et y sont le bout du trait, posé sur l’objet nommé : trame/annotations.ts donne le point dans le repère du dessin, ancree() le rend en cqw / cqh de la boîte (un conteneur de taille), avec la longueur du trait ; droite fait s’étendre l’annotation à gauche du trait |
| le trait se trace | à l’arrivée | scaleY(0) puis 1, 480 ms var(--ease) après 380 ms, une fois l’annotation apparue (.is-in) |
| tr-flotte | le flottement | 4 px vers le haut et retour, 5,2 s en boucle, décalé de -1,3 s par rang ; dans la section IA de l’accueil, aucun : la boîte flotte d’un bloc avec le dessin (tr-ia-flotte), les étapes gardent leur allumage |
| un cran plus petite | dans une boîte étroite | 9 px, padding 4/6 px, .08em : l’en-tête de /offres/ de 900 à 1199 px de fenêtre ; la boîte du schéma de la section IA quand elle fait moins de 540 px de large (requête de conteneur) |
| sous 700 px | écran étroit | display none |
| mouvement réduit | sans | trait tracé d’emblée, ni flottement ni allumage |
Le nom d’une offre, autour de la scène
Sur le premier écran de l’accueil, depuis le 12 octobre, le nom d’une offre n’est plus une annotation posée sur la scène. Il est dans sa case, autour de la scène, dessiné comme une annotation, et un trait d’attache le relie à l’objet qu’il nomme. La case est un lien vers la page de l’offre. Le spécimen est dans L’accueil, rubrique 02.
| Classe | Zone | Valeur |
|---|---|---|
| .tr-demo__nom | le nom | comme .tr-puce : Inter 600 10,5 px/1,2, .1em, capitales, chiffres de tableau ; padding 5/8 px ; bord 1 px var(--line), fond var(--surface), texte var(--ink-2) ; sans ombre, dans le flux de la case, en haut à gauche, sa largeur au plus |
| dès 620 px | sur une ligne | white-space nowrap ; en dessous, 10 px, .06em, padding 5/7 px, et il peut passer à la ligne, lignes équilibrées |
| .is-allumee, :hover, :focus-visible | allumé | une pastille pleine, comme l’annotation verte : fond var(--grinn), bord var(--grinn-deep), texte var(--ink), 10,3:1, en 520 ms ; la case passe au vert clair |
| le trait | dès 1000 px | pas de ::after : le trait part du bord de la case tourné vers la scène, à mi-hauteur, tracé par trame.ts jusqu’à l’objet (voir Signes, le trait d’attache) |
| sous 700 px | il reste | contrairement à l’annotation, le nom ne disparaît pas : c’est le texte visible du lien |
| aria-label | l’accessibilité | le lien est nommé « Voir l’offre » et le nom de l’offre ; le « Voir l’offre » visible, en bas de la case, est aria-hidden |
Le fil d’Ariane
Dans la voix technique : Accueil › Offres › Site internet. Le composant ajoute l’accueil devant ; le dernier maillon est la page, sans lien, en vert profond. Il remplace l’étiquette en tête d’une page intérieure.
<FilAriane chemin={[
{ href: '/offres/', libelle: 'Offres' },
{ href: '/offres/site-internet/', libelle: 'Site internet' },
]} /> | Classe | Zone | Valeur |
|---|---|---|
| .tr-fil ol | la liste | Inter 600 11 px/1.5, .14em, capitales, chiffres de tableau ; gap 6/10 px ; var(--ink-3) |
| .tr-fil li + li::before | le séparateur | ›, à 10 px du maillon suivant |
| .tr-fil a | un maillon | var(--ink-2), souligné var(--line) décalé de .3em ; var(--ink) et var(--grinn-deep) au survol |
| .tr-fil [aria-current] | la page | var(--grinn-deep), sans lien |
| nav | l’accessibilité | aria-label « Fil d’Ariane » ; aria-current="page" sur le dernier maillon |
| chemin | la prop | le chemin depuis l’accueil, sans l’accueil ; le dernier élément est la page |
La pastille d’attente
Rien ne s’invente. Quand une donnée manque, EnAttente la marque en clair, à côté de l’endroit où elle manque, jusqu’à ce qu’elle soit fournie. Elle dit ce qui manque, et ce qu’il reste à faire.
- Emploi
- Dire qu’une donnée manque : une citation, une durée, un second exemple, un accord client.
- Moment
- Dans les paires clé et valeur (Cles), le mur de citations (Mur), à côté des boutons de la cellule IA tant qu’un second cas manque.
- Jamais
- À la place d’un texte qu’on pourrait écrire. Pour masquer un manque : elle est faite pour le montrer.
La durée du projet à écrire
La citation verbatim réel à récupérer
Un autre cas un second exemple à fournir
<EnAttente />
<EnAttente libelle="verbatim réel à récupérer" />
<EnAttente libelle="un second exemple à fournir" /> | Classe | Zone | Valeur |
|---|---|---|
| .pend | la pastille | Inter 700 9,5 px/1.3, .08em, capitales ; padding 2/6 px ; bord 1 px var(--line) ; var(--ink-3) |
| .pend | sa place | margin-left 7 px, vertical-align middle : collée à ce qui manque |
| .tr-dire__carte .pend | dans une citation | margin-left 8 px |
| libelle | le texte | « à écrire » par défaut ; sinon ce qui manque et ce qu’il faut faire : « à arrêter », « verbatim réel à récupérer », « un second exemple à fournir » |
RègleL’étiquette nomme, l’annotation touche, la pastille avoue : aucune des trois n’est un bouton.