Saltar al contenido

Relaciones

Cuando un semántico no es alias

La regla de DesignToken101 de que los semánticos son siempre alias, sus cuatro excepciones y por qué existe cada una, y cómo se controla una excepción para que no se convierta en un valor suelto.

Última revisión:

En DesignToken101, un semántico apunta siempre a un primitivo. Casi siempre: hay cuatro tokens semánticos con un valor propio. En esta lección verás cuáles son, por qué cada uno es una excepción y cómo se controla una excepción para que no acabe siendo un valor suelto con nombre de token.

En esta página

La regla

Recomendación

En DesignToken101, los semánticos son siempre alias de un primitivo, nunca valores directos. Así, todo valor del sistema está en la colección de primitivos, y para saber de dónde sale un color o una medida basta con seguir el alias.

La regla es nuestra. DTCG permite que cualquier token tenga un valor propio o una referencia, sin distinguir capas (Format Module: Groups). Figma tampoco obliga a nada: una variable de cualquier colección puede tener un valor o un alias.

Las cuatro excepciones

TokenValorColecciónPor qué no es alias
size/content/max-width960 pxSemantic sizeNo hay escala de tamaños
size/sidebar/width304 pxSemantic sizeNo hay escala de tamaños
color/background/overlaycolor/black al 50 %Semantic colorNecesita una opacidad que el primitivo no tiene
color/background/neutral/translucentwhite al 96 % en Light, neutral/950 al 90 % en DarkSemantic colorIgual que el anterior, y además cambia con el modo

Sin escala a la que apuntar

Los dos tamaños de maquetación podrían ser alias si existiera una escala size/* de primitivos. No existe porque hay dos valores y ninguno se repite: crear una escala para ellos sería crear primitivos que usaría un único token cada uno.

Recomendación

Si aparecen más tamaños de maquetación y empiezan a compartir valores, se crea la escala y estos tokens pasan a ser alias. Mientras tanto, un valor directo con nombre semántico es más claro que una escala inventada para justificarlo.

Un alias no cambia la opacidad

La capa que oscurece la página al abrir el menú en móvil es negra, con un 50 % de opacidad. El primitivo color/black existe, pero es negro opaco.

Así que el token lleva el color completo, con su opacidad, como valor propio. DesignToken101 no tiene tokens de opacidad: la transparencia va dentro del color, en su propiedad alpha (Tipos simples).

Nota

DTCG 2025.10 tiene una segunda sintaxis, $ref, que apunta a una parte de un valor. Su propio ejemplo construye un color tomando dos componentes de otro token y escribiendo el tercero a mano (Format Module: JSON Pointer syntax). Con ella, un color podría reutilizar los componentes de color/black y fijar su propio alpha.

Lo probamos con la herramienta que genera el CSS de esta web, Terrazzo 2.7.1. Resuelve $ref: el overlay sale como #00000080, y si color/black cambia, el overlay cambia con él. Pero sus páginas sobre los tokens no mencionan $ref dentro de un valor (Terrazzo: DTCG Tokens, Token Types), y el CSS lleva el valor ya calculado, no una referencia a color/black.

Recomendación

DesignToken101 mantiene estos colores como valores directos. Figma no exporta $ref, así que habría que escribirlos a mano fuera de Figma; la herramienta lo admite sin documentarlo, y el CSS final sería el mismo.

El fondo de la cabecera añade una dificultad: es blanco al 96 % en Light y neutral/950 al 90 % en Dark. Un valor directo distinto por modo, y también con una opacidad distinta: la de Light se subió al 96 % para que el anillo de foco contraste lo suficiente sobre la cabecera (Contraste de lo que no es texto). En Figma es una variable de la colección Semantic color con un valor propio en cada columna, Light y Dark. Cómo se unen los modos en código lo verás en el módulo De Figma al código.

Cómo se controla una excepción

Una excepción sin control acaba siendo un valor suelto con nombre de token. En DesignToken101, cada valor directo cumple tres condiciones:

  1. Tiene un motivo registrado. Cada una está en el registro de decisiones del proyecto, con la fecha y el porqué.
  2. Lo dice su descripción. La descripción del token explica que es un valor directo y por qué, para quien lo encuentre en Figma o en el JSON.
  3. Tiene una salida prevista. Los tamaños pasarán a ser alias si aparece una escala; los colores, si una herramienta permite derivar la opacidad.

Lo que te llevas

  • La regla: un semántico es siempre un alias de un primitivo.
  • Las excepciones son tamaños sin escala y colores con opacidad, porque un alias de Figma no cambia la opacidad.
  • Cada excepción lleva su motivo registrado, lo dice en su descripción y tiene una salida prevista.

Fuentes