Web Design & UI/UX7 min read

Couleur des séparateurs en UI : pourquoi un séparateur n'est pas #000000

Une ligne noire pure entre des lignes de liste crie plus fort que les mots qu'elle sépare. Utilisez #C6C6C8 en clair, #38383A en sombre, 1 px, en retrait jusqu'au texte, et essayez l'espace avant de tracer la moindre ligne.

By Boone
XLinkedIn
Divider Color in UI: Why Dividers Are Not #000000

La bonne couleur de séparateur est un gris clair doux comme #C6C6C8, tracé sur 1 px et en retrait jusqu'au texte, pas une ligne noire pure. Un séparateur sert à distinguer des lignes, et un séparateur noir devient l'élément le plus bruyant de la liste. Voici les quatre correctifs, avec les valeurs pour les écrans clairs et sombres.

Pourquoi les séparateurs noirs crient

Personne ne choisit un séparateur noir exprès. Une ligne tracée sans réfléchir sort en #000000, et elle le reste jusqu'à ce que quelqu'un la change.

Le problème, c'est le contraste. Le noir pur sur blanc est l'association la plus forte qu'un écran puisse afficher, et le texte de vos lignes est généralement un peu plus doux. La ligne passe donc avant les mots. L'œil lit d'abord les traits, puis va chercher le contenu entre eux.

Un séparateur est un indice, pas une vedette. Son rôle est d'être repéré par l'œil quand c'est nécessaire et ignoré le reste du temps.

Correctif 1 : éclaircir les lignes

Lignes #000000

Une liste de réglages avec les lignes Wi-Fi, Cellulaire et Notifications séparées par des traits noirs durs

Lignes #C6C6C8

La même liste de réglages avec des traits gris clair doux entre les lignes
Même liste, mêmes lignes. À gauche, les traits sont les marques les plus sombres de l'écran. À droite, les mots mènent et les traits restent en retrait derrière eux.

iOS dessine ses séparateurs de liste en #C6C6C8 sur blanc, soit la couleur de séparateur système semi-transparente posée sur un fond blanc. Material 3 arrive au même endroit avec #CAC4D0, son jeton outline variant, à 1 dp.

#000000

Ligne noire

#6B6B6B

Séparateur iOS

#6B6B6B

Séparateur Material 3

#6B6B6B

12 % de noir sur blanc

Si votre fond n'est pas un blanc uni, utilisez une valeur alpha plutôt qu'un gris fixe. Les recommandations de Material décrivent les séparateurs comme du noir à 12 % dans les thèmes clairs et du blanc à 12 % dans les thèmes sombres. #000000 à 12 % sur blanc donne #E0E0E0, et sur une surface teintée il reste teinté, donc la ligne n'a jamais l'air collée.

Le même correctif s'applique hors des listes : filets de lignes de tableau, pieds de carte, trait sous un en-tête et filet entre les groupes d'un menu.

Correctif 2 : les mettre en retrait jusqu'au texte

Pleine largeur

Une liste de réglages où chaque séparateur part du bord gauche, sous les icônes colorées

Commence au texte

La même liste où chaque séparateur commence au texte de la ligne, laissant les icônes dans une colonne propre
La liste de gauche coupe un trait sous chaque icône. La liste de droite fait démarrer chaque trait là où commencent les mots, si bien que les icônes forment une seule colonne nette.

Ouvrez Réglages sur un iPhone et regardez. Le trait commence au libellé, pas sous l'icône. Material dit la même chose : les séparateurs en retrait séparent des contenus liés, et ils s'associent à des éléments d'ancrage comme les avatars.

Ce retrait est ce qui attache une icône à sa ligne. Un trait pleine largeur sous l'icône la détache, et la liste se lit comme des rayures au lieu de lignes.

Depuis iOS 16, les listes SwiftUI alignent par défaut chaque séparateur sur le bord de début du texte de la ligne, pas sur son icône. Si vos lignes n'ont ni icône ni avatar, il n'y a rien autour de quoi mettre en retrait, et un trait pleine largeur convient très bien.

Correctif 3 : essayer l'espace d'abord

Un trait par ligne

Une carte d'événement avec un trait noir entre chaque ligne de détail

L'espace s'en charge

La même carte d'événement sans traits, où un écart plus grand sépare l'horaire du lieu
Cinq détails, quatre traits à gauche. À droite, aucun trait. Un seul écart plus grand entre le groupe de l'horaire et celui du lieu regroupe les lignes sans rien dessiner.

Avant de sortir une ligne, demandez-vous à quoi elle sert. Souvent, c'est du regroupement, et le regroupement peut se faire avec de la distance. Material liste des alternatives aux séparateurs pleine largeur : espace blanc, sous-titres et séparateurs en retrait, et prévient que l'abus des pleine largeur crée du bruit visuel. Refactoring UI avance le même argument sous « use fewer borders » : séparez les choses avec de l'espace, une couleur de fond ou une ombre.

Un test rapide : supprimez tous les traits de votre liste. Si vous voyez encore les groupes, les traits n'étaient que de la décoration.

Correctif 4 : les atténuer aussi en sombre

#FFFFFF sur #1C1C1E

Une liste de réglages sombre où chaque séparateur est un trait blanc vif qui éblouit

#38383A sur #1C1C1E

La même liste sombre où les séparateurs sont d'un gris foncé discret
Les traits blancs éblouissent sur un écran sombre comme les traits noirs crient sur un écran blanc. La version discrète n'est que de quelques crans plus claire que le fond.

La règle ne change pas en mode sombre, elle s'inverse. Sur un écran clair, le trait est un peu plus sombre que la surface, et sur un écran sombre il est un peu plus clair.

iOS utilise #38383A sur son fond de liste sombre. Material 3 utilise #49454F, son outline variant sombre, sur une surface #141218.

Les traits blanc pur posent le même problème que les noirs purs : ce sont les marques les plus lumineuses de la liste, donc elles battent le texte.

La spec des séparateurs

Touchez une pastille pour copier son code.

Séparateurs du thème clair. Touchez une couleur pour copier son code.
Séparateurs du thème sombre. Touchez une couleur pour copier son code.
PropriétéValeurPourquoi
Couleur, clair#C6C6C8Visible quand on regarde, discret quand on lit
Option alpha#000000 à 12 %S'adapte à toute surface, donne #E0E0E0 sur blanc
Épaisseur1 px (1 dp)Les traits plus épais deviennent des formes
RetraitCommence au texteGarde icônes et avatars rattachés à leurs lignes
Couleur, sombre#38383AUn peu plus clair que la surface, jamais blanc
EspaceÀ essayer d'abordRegrouper sans rien dessiner

Passez ça à votre développeur

css
:root { --divider: #C6C6C8; } @media (prefers-color-scheme: dark) { :root { --divider: #38383A; } } .row + .row { border-top: 1px solid var(--divider); margin-left: 56px; /* icon width plus gap, so the line starts at the text */ } .group + .group { margin-top: 24px; /* try this before adding a line */ }

Le margin-left sur la bordure est le retrait : le trait commence là où commence le libellé. Si vous utilisez l'approche alpha, remplacez la variable par rgba(0, 0, 0, 0.12) en clair et rgba(255, 255, 255, 0.12) en sombre.

FAQ

Quelle couleur pour les séparateurs ?

Un gris clair doux sur écran clair, comme le #C6C6C8 d'iOS ou le #CAC4D0 de Material 3. Sur écran sombre, utilisez un gris foncé légèrement plus clair comme #38383A.

Les séparateurs doivent-ils être noirs ?

Non. Une ligne noire pure est la marque au plus fort contraste de la liste, donc l'œil la lit avant le contenu. Utilisez un gris clair ou du noir à environ 12 % d'opacité.

Quelle épaisseur pour un séparateur ?

1 px, soit 1 dp dans Material. Les traits plus épais se transforment en formes et font concurrence aux lignes.

Qu'est-ce qu'un séparateur en retrait ?

Un séparateur qui commence au texte de la ligne plutôt qu'au bord de l'écran, afin de ne pas couper sous une icône ou un avatar. Les Réglages d'iOS l'utilisent pour chaque liste.

Faut-il des séparateurs entre chaque ligne ?

Pas toujours. Un écart plus grand entre les groupes sépare souvent le contenu sans rien dessiner, et Material prévient que l'abus de séparateurs pleine largeur crée du bruit visuel.

Quelle couleur de séparateur fonctionne en mode sombre ?

#38383A sur le fond de liste sombre d'iOS et #49454F sur la surface sombre de Material 3. Évitez le blanc, car les traits vifs éblouissent sur les écrans sombres.

Sources

  • Material Design 2, Dividers : les séparateurs font 1 dp d'épaisseur, en noir à 12 % dans les thèmes clairs ou en blanc à 12 % dans les thèmes sombres ; les séparateurs en retrait séparent des contenus liés et fonctionnent avec des éléments d'ancrage comme les avatars ; les alternatives aux séparateurs pleine largeur incluent l'espace blanc, les sous-titres et les séparateurs en retrait ; l'abus de séparateurs pleine largeur crée du bruit visuel.
  • Material 3 tokens : le séparateur utilise la couleur outline variant avec une épaisseur de 1,0 dp ; la valeur de base est #CAC4D0 dans le schéma clair et #49454F dans le schéma sombre. #141218 est la surface sombre de base.
  • Apple, listRowSeparatorLeading et Adjust List Row Separator Insets : depuis iOS 16, les listes alignent par défaut chaque séparateur sur le bord de début du texte de la ligne.
  • Couleurs de séparateur iOS : en clair rgba(60, 60, 67, 0.29), qui se pose sur blanc comme #C6C6C8, et #38383A en sombre. L'app Réglages sur iPhone montre le retrait.
  • #000000 à 12 % sur #FFFFFF donne #E0E0E0, calculé par mélange alpha.
  • Refactoring UI, « Use fewer borders » (Adam Wathan et Steve Schoger).
  • WCAG 2.2, 1.4.11 Non-text Contrast : un séparateur entre des lignes de liste est de la décoration, non nécessaire pour comprendre le contenu, donc aucun contraste minimum ne s'applique.
  • Les lignes de Réglages et les détails de l'événement « Design review » sont inventés pour cette page.
  • Publié d'abord sous forme de carrousel sur UX Brainy.

Want lists, forms and every other surface designed as one quiet system? Our team designs and builds product UI that holds up in light and dark.

Get Started

More from Brainy Papers

Keep reading