Skip to content

PointSav Documentation

The engineering library for the PointSav platform — operating systems and services for regulated businesses that own their data, their AI, and their record-keeping outright. Where the monorepo holds the code, this wiki holds the reasoning: architecture, services, security, and the governance commitments that bind future development.

Tokens de diseño y conformidad de accesibilidad

La mayor parte del trabajo de accesibilidad es retroactivo: se construye la interfaz y después se audita. Un verificador recorre la página, señala un anillo de foco que desapareció o un objetivo táctil que se encogió, y alguien rastrea el defecto por el CSS hasta el componente que lo introdujo. La auditoría encuentra el fallo después de publicado, página por página, y vuelve a encontrarlo la próxima vez que el mismo error se comete en otro lugar.

El Sistema de Diseño PointSav sostiene que los valores de los que depende la conformidad de accesibilidad — un objetivo táctil mínimo, el color de un anillo de foco, la relación de contraste entre dos colores — son tokens de diseño como cualquier otro, y pertenecen al mismo grafo de tokens versionado que el color, el espaciado y la tipografía. Cuando el requisito es un token, todo componente que referencia el token satisface el requisito de forma estructural. La pregunta de auditoría cambia de "¿resulta que todos los botones de todas las páginas son suficientemente grandes?" a "¿referencia la receta del botón el token de tamaño de objetivo?" — una pregunta con una sola respuesta, verificada en un solo lugar.

Los valores de accesibilidad son tokens

El anillo de foco ancla el patrón. focus.ring es un token primitivo — no un simple color, sino un token compuesto que agrupa el color del anillo ({color.primary-60}), el grosor, el estilo y un desplazamiento de 2px — de modo que un cambio en el color primario se propaga a todos los anillos de foco a la vez. El tamaño del objetivo no es un token independiente de la misma forma; se cumple aritméticamente en el nivel de componente — el botón, más abajo, muestra exactamente cómo.

Vale la pena enunciar con precisión los requisitos externos que estos tokens codifican, porque los niveles difieren. Las WCAG 2.2, publicadas como Recomendación del W3C en octubre de 2023, añadieron el SC 2.5.8 Tamaño del Objetivo (Mínimo) en nivel AA — 24 por 24 píxeles CSS, con excepciones por separación y objetivos en línea. El SC 2.5.5 preexistente, de nivel AAA, exige 44 por 44 sin excepción por separación. Este sistema de diseño tokeniza el valor AAA, el más estricto. Los indicadores de foco se rigen por dos criterios que operan juntos: el SC 2.4.7 Foco Visible (nivel AA) exige que exista un indicador visible, y el SC 1.4.11 Contraste No Textual (nivel AA) exige que el indicador — como toda información visual que identifica el estado de un componente — mantenga al menos 3:1 de contraste frente a los colores adyacentes.

La cadena de niveles porta el requisito

Los tokens del sistema se resuelven en tres niveles — primitivo, semántico, componente — y el requisito del anillo de foco desciende por la cadena igual que lo hace un color de marca:

focus.ring (primitivo: color {color.primary-60}, grosor, estilo, offset 2px)
  → toda receta de componente que necesita un indicador de foco lo referencia directamente

El anillo de foco de un componente es una referencia a {focus.ring}, no una segunda copia de los valores de color y grosor que podría derivar cuando el primitivo cambie. Si el color del anillo cambiara alguna vez, el cambio se haría una sola vez, en el primitivo, y todos los componentes que lo consumen lo seguirían — la misma propiedad de mantenimiento que motiva los tokens de color, aplicada a un valor de conformidad.

Los pares de contraste se computan desde el grafo

Como los tokens de color son datos, las relaciones de contraste entre ellos son computables en lugar de meramente afirmables. La referencia de color del sistema publica los pares que más importan — un token de primer plano contra un token de fondo — con razones computadas directamente desde los valores hexadecimales mediante la fórmula de luminancia relativa de las WCAG: ink-primary sobre la superficie predeterminada en 14,7:1 (AAA), ink-secondary sobre la superficie predeterminada en 8,9:1 (AAA), y el texto de botón (ink-on-interactive) sobre el fondo interactivo primario en 7,4:1 (AAA).

No todos los pares alcanzan el mismo nivel — el componente Button, más abajo, muestra un caso real donde una variante específica queda en AA en vez de AAA, y la especificación de accesibilidad del propio componente lo declara con claridad en vez de redondear hacia arriba. Un registro que computa la conformidad desde sus propios datos hace aflorar precisamente este tipo de brecha en vez de afirmar un estándar uniforme entre todos los pares de color.

Un componente hereda su conformidad

La especificación de accesibilidad ya publicada del componente Button muestra lo que el enfoque de tokens produce en el nivel de componente, incluidas las partes que no alcanzan el nivel más estricto. Su objetivo de conformidad es WCAG 2.2 AA, con AAA donde sea alcanzable — no una afirmación general de AAA — y la especificación es explícita sobre qué variante alcanza qué nivel: el contraste de texto de la variante primaria es de 6,66:1, que aprueba AA (SC 1.4.3) pero no llega al piso de 7:1 de AAA (SC 1.4.6); la variante crítica alcanza ambos en 7,33:1. El anillo de foco mantiene el mínimo de 3:1 del SC 1.4.11 en todas las variantes. El tamaño de objetivo se cumple por aritmética — el botón se renderiza con 40 píxeles de altura, y el anillo de foco más su desplazamiento añaden 2 píxeles por lado, llevando el área activable a los 44 píxeles que exige el SC 2.5.5.

La misma especificación muestra requisitos conductuales, más que numéricos, portados por tokens allí donde un token puede portarlos: el valor de duración de transición del CSS se resuelve a cero cuando prefers-reduced-motion: reduce aplica, de modo que los consumidores obtienen soporte de movimiento reducido sin escribir código alguno. Y registra las reglas que ningún token puede imponer — ningún estado comunicado solo por color, elementos <button> nativos en lugar de role="button" sobre un <div>, ningún anillo de foco eliminado sin sustituto — como antipatrones con nombre dentro de la especificación, junto a las referencias de tokens y no en un documento separado que deriva.

La línea de cierre de la propia especificación pone la nota justa de franqueza: un punto de acceso de auditoría WCAG por componente es trabajo futuro, y hasta que exista, la especificación escrita es la declaración canónica de conformidad.

Lo que la aplicación estructural no sustituye

Dicho con claridad. Las afirmaciones de conformidad anteriores son autodeclaradas por los mantenedores del sistema de diseño contra los criterios citados; no se ha realizado una auditoría de accesibilidad por terceros. Los tokens imponen los valores de los que depende un criterio, no el criterio en sí — un componente puede referenciar {focus.ring} y aun así fallar a los usuarios de teclado por un marcado roto, y ningún token expresa los criterios que dependen del juicio sobre contenido, etiquetas y contexto. Las pruebas con tecnología de asistencia y lectores de pantalla reales siguen siendo manuales. La afirmación estructural es más estrecha y, por eso mismo, defendible: valores que antes se redecidían por componente ahora se deciden una vez, en datos, donde verificarlos es barato.

Antecedentes y licenciamiento

La arquitectura de tokens en tres niveles sobre la que cabalga este patrón está bien establecida y no es una invención de PointSav: Carbon, de IBM, documenta niveles de tokens globales, alias y de componente, y Material Design 3, de Google, documenta clases de tokens de referencia, de sistema y de componente. Ambos sistemas publican guías de accesibilidad junto a sus tokens. Lo que este artículo describe es la aplicación de esa estructura de niveles compartida a los valores de conformidad en concreto — el tamaño de objetivo y el color de foco como tokens de primera clase, con el criterio WCAG registrado en el propio campo de descripción del token.

En cuanto al licenciamiento, la precisión importa porque hay dos licencias distintas en juego. Los datos de tokens en sí — focus.ring, los archivos de tokens DTCG y las recetas de componentes que los referencian — se publican en el repositorio pointsav-design-system bajo la licencia Apache-2.0. El texto de este artículo se publica en el wiki de documentación bajo CC BY 4.0. Reutilizar los tokens implica cumplir Apache-2.0; reutilizar la prosa de este artículo implica cumplir CC BY 4.0. Ninguna de las dos licencias rige el otro artefacto.


Este artículo es material de contexto para lectores de la documentación del Sistema de Diseño PointSav, previo a las especificaciones de accesibilidad por componente y a la referencia de tokens de fundamentos. Véase también: el artículo de vocabulario primitivo para el esquema completo de nomenclatura de tokens, y el artículo de filosofía de diseño para la capa de fundamentación que registra por qué se tomó cada decisión de accesibilidad.

Cite this record: /wiki/design-tokens-and-accessibility — revision 38c462f9, last updated 1 August 2026.

Important Information

Estructura corporativa. PointSav Digital Systems ("PointSav") es actualmente un nombre comercial de Woodfine Capital Projects Inc. ("Woodfine"), con previsión de convertirse en una subsidiaria de propiedad absoluta de Woodfine tras su incorporación. PointSav no ofrece, vende ni solicita por sí mismo valor alguno. Toda oferta de valores asociada a las soluciones inmobiliarias de tenencia directa de Woodfine se realiza exclusivamente por parte de Woodfine, y únicamente por medio del Memorando de Colocación Privada aplicable.

Sin asesoramiento de inversión. El contenido de este wiki se ofrece con fines de ingeniería, operativos, de investigación y de desarrollo. Nada de lo que figura en este wiki constituye asesoramiento de inversión ni una solicitud para invertir en ninguna sociedad o solución de tenencia directa de Woodfine.

Propiedad intelectual. El nombre, el nombre comercial, el logotipo y las marcas de PointSav, junto con todos los productos, servicios y ofertas actuales y futuros de las marcas PointSav y Totebox — así como el software, el código fuente, la documentación, el sistema de diseño y todos los materiales relacionados — son propiedad de Woodfine y sus filiales, salvo los componentes identificados como de código abierto. No se otorga ningún derecho salvo el expresamente establecido en una licencia o acuerdo por escrito. El aviso de marcas completo aparece en el pie de página de cada página de este sitio.

Componentes de código abierto. Algunas partes de la plataforma se ofrecen bajo licencias de código abierto permisivas identificadas en el repositorio correspondiente. El uso de esos componentes se rige por los términos de sus respectivas licencias.

Sin garantía; uso informativo. El contenido de este wiki se ofrece únicamente con fines informativos generales y no constituye una declaración, garantía ni compromiso respecto de la funcionalidad, disponibilidad, precio o hoja de ruta de ningún producto. Algunos artículos describen características, capacidades e hitos planificados o previstos — el lenguaje como "planificado", "previsto", "objetivo", "puede" y "esperado" marca este contenido prospectivo, que está sujeto a cambios y no constituye un compromiso respecto del rendimiento futuro.

Confidencialidad. Cuando un artículo describiría un detalle operativo o de implementación no destinado a divulgación pública, ese artículo no se publica en este wiki. El contenido aquí es documentación de ingeniería de uso general, no configuración específica de clientes.

Jurisdicción. Woodfine Capital Projects Inc. está constituida en Columbia Británica, Canadá. Las referencias a la Sovereign Data Foundation en este wiki describen una iniciativa planificada o prevista únicamente, no una titular de capital actual ni un órgano de gobierno activo.

Cambios a este aviso. PointSav podrá actualizar este aviso periódicamente; rige la versión publicada en esta página.

No es un sistema de presentación de documentos. Este wiki no es un sistema de presentación de valores, un repositorio de divulgación electrónica ni un sustituto de SEDAR+ ni de ningún otro sistema de presentación regulatorio. Las presentaciones formales de valores se realizan a través del sistema de presentación regulatorio correspondiente, no a través de este wiki.

Descargo completo. Este aviso complementa, y no sustituye, el artículo completo de Avisos Legales. En caso de cualquier conflicto, prevalece el artículo de Avisos Legales.

Read the full disclaimer →