Administración pública y servicios públicos · Nuevo recurso
Sistema de diseño Det Fælles Designsystem.
Explora el tema DKFDS de Dinamarca, las escalas Sass reales y los patrones accesibles para tablas mediante una comparación completa de recursos con ordenación numérica, búsqueda enviada y recuperación del estado vacío.
Tema publicado de DKFDS 11.3.0 para Borger.dk CSS y fuentes locales; ordenación original numérica y textual, y búsqueda al enviar. · Referencia de implementación
02
Referencia de diseño del sistema de diseño Det Fælles Designsystem
Tema real de DKFDS 11.3.0 para Borger.dk, mapa de espaciado, mapa tipográfico y variables de foco. Los nombres que se muestran son referencias al código fuente Sass.
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
xs
1.4rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
sm
1.6rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
md
1.8rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
lg
2.0rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
xl
2.1rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
2xl
2.2rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
3xl
2.4rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
4xl
2.8rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
5xl
3.2rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
6xl
4.0rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
7xl
4.8rem
Entrada publicada de $fds-font-sizes. La raíz predeterminada es 62.5% y respeta las preferencias tipográficas del navegador; con el valor predeterminado de 16px del navegador, 1.6rem equivale a 16px.
03
Guía completa del sistema de diseño Det Fælles Designsystem
Una guía práctica para elegir, aplicar y revisar este sistema en una interfaz real.
DESIGN-denmark-fds.md
Orientación completa, un punto de partida para la implementación y enlaces al código fuente.
Tema y alcance de implementación de DKFDS para el sistema de diseño Det Fælles Designsystem
Elige Borger.dk o Virk de forma deliberada
Det Fælles Designsystem distribuye hojas de estilos independientes para Borger.dk y Virk. Este ejemplo fija dkfds 11.3.0 y usa la hoja de estilos de Borger.dk, que aporta sus característicos controles principales verdes y el texto en IBM Plex Sans. No se limita a cambiar el color de un botón para presentarlo como un cambio completo de tema. Cargar otro tema debe ser una decisión de implementación deliberada.
No atribuyas a la biblioteca la ordenación original
Las pautas publicadas para tablas proporcionan marcado y estilos, pero dejan explícitamente el comportamiento de ordenación y búsqueda en manos de la aplicación. La vista previa incluye una implementación original completa de ambos. Esta distinción importa: importar DKFDS JavaScript por sí solo no convierte cualquier tabla en una vista de datos con búsqueda y ordenación.
Valores Sass y ritmo de base del sistema de diseño Det Fælles Designsystem
Interpreta los mapas de origen como mapas de origen
La referencia recoge valores Sass reales en vez de inventar nombres --token. El mapa de espaciado usa una base de 8px, con claves como 305 para 12px y 405 para 20px. En lugar de interpretar esos números como píxeles literales, el desarrollador debe usar el auxiliar de la biblioteca o las convenciones de utilidades correspondientes. La tabla de parámetros muestra la correspondencia.
Respeta la convención del tamaño de fuente raíz
El tamaño raíz predeterminado es 62.5% y respeta las preferencias tipográficas del navegador. Por eso, el mapa de tamaños de fuente de origen incluye 1.6rem para el nivel estándar de texto pequeño o de cuerpo con el valor habitual predeterminado del navegador. Copiar un valor rem en un entorno con un tamaño raíz distinto puede cambiar considerablemente el resultado. El ejemplo carga la hoja de estilos real para mantener la coherencia del contexto tipográfico y de espaciado.
Estructura semántica de tablas del sistema de diseño Det Fælles Designsystem
Usa un título de tabla y define claramente las funciones de las columnas
La comparación de recursos tiene un título, encabezados de columna y celdas de datos normales. Los títulos, los formatos, los minutos numéricos y los propósitos ocupan columnas separadas porque las personas comparan esos atributos. Los tiempos de lectura son estimaciones de ejemplo redactadas por el equipo, no estadísticas medidas de tráfico ni de rendimiento. El título deja claro ese límite sin cambiar la estructura de la tabla.
Incluye un título útil y encabezados de columna.
Mantén los datos numéricos como números en el modelo de la aplicación.
Etiqueta la región de desplazamiento enfocable en pantallas estrechas.
Mantén el desplazamiento móvil dentro de la tabla
La tabla ordenable está dentro de una región de desplazamiento adaptable y enfocable. Su ancho mínimo mantiene las columnas legibles y la página exterior dentro de la ventana gráfica. En este ejemplo, la tabla no se convierte en tarjetas sin relación entre sí en pantallas estrechas, ya que eso exigiría otro modelo de navegación y controles de ordenación. Los usuarios de teclado pueden enfocar la región de desplazamiento.
Det Fælles Designsystem Estado de ordenación y comparación numérica del sistema de diseño
Mantén un único orden activo
La columna de título comienza en orden ascendente. Al activar el mismo encabezado, se invierte el orden; al seleccionar la columna de minutos, esta comienza en orden ascendente. Solo el encabezado activo recibe aria-sort, y la instrucción oculta de cada botón describe la siguiente acción. La flecha visible refleja el mismo estado, no es un elemento decorativo independiente.
Compara los números como números
Det Fælles Designsystem Búsqueda enviada y recuperación cuando no hay resultados del sistema de diseño
Aplica la consulta al enviarla
Al enviar el formulario, la búsqueda filtra todas las características mostradas, también al pulsar Enter. Escribir sin enviar no sustituye la tabla que está leyendo la persona. El estado indica la cantidad de resultados visibles y el orden actual, y la consulta permanece en el campo. Este es el modelo de búsqueda con envío elegido para el ejemplo.
Restablece la consulta sin perder el orden
Si la consulta no devuelve resultados, se muestra un mensaje para recuperarse. Al restablecerla, se restauran todas las filas y el foco vuelve al campo de búsqueda, sin alterar la columna ni la dirección de ordenación seleccionadas. Así, la búsqueda y la ordenación se mantienen como variables de estado independientes. No se muestra un estado de carga artificial porque el conjunto completo de cinco filas ya está disponible localmente.
Det Fælles Designsystem Integración funcional completa del sistema de diseño
Carga los recursos de distribución sin alterar sus rutas
El mapa de exportaciones del paquete 11.3.0 expone su entrada JavaScript, no importaciones profundas arbitrarias de CSS. La configuración copia la distribución en public/dkfds y vincula la hoja de estilos desde index.html, conservando las rutas relativas de fuentes e imágenes. Guarda main.js y denmark.css, incluidos con el ejemplo, junto a esa estructura. La vista previa local incorpora los mismos recursos para facilitar una inspección fiable.
Instala dkfds 11.3.0 y copia su distribución en public/dkfds.
Usa la estructura HTML proporcionada para cargar la hoja de estilos de Borger.dk.
Guarda la entrada completa y CSS; después, ejecuta la aplicación local.
Comprueba la ordenación numérica, la búsqueda enviada, el restablecimiento y el desplazamiento interno en móviles.
Comprueba todo el flujo de comparación
Ordena los minutos en ambos sentidos, envía una consulta sin coincidencias y restablece la tabla. Busca «Template» y comprueba que solo queden las dos filas de plantillas y que se conserve el orden actual. En el ancho de un teléfono, desplázate por la tabla y confirma que la página no se desborde. La comprobación también verifica que se carguen todos los recursos incluidos y que no haya errores del navegador.
Det Fælles Designsystem Ejemplos de componentes del sistema de diseño
main.js — comportamiento completo de comparación
Datos originales completos, ordenación numérica y textual, filtrado al enviar y restablecimiento.
javascript
// index.html loads /dkfds/css/dkfds-borgerdk.css from the copied distribution.
import './denmark.css';
const rows=[{name:'Content inventory',type:'Worksheet',minutes:25,note:'Map the purpose and owner of each section.'},{name:'Accessibility review',type:'Checklist',minutes:30,note:'Inspect keyboard use, reading order and clear labels.'},{name:'Research questions',type:'Template',minutes:15,note:'Separate assumptions from questions that need evidence.'},{name:'Decision summary',type:'Template',minutes:10,note:'Record a choice, its reason and what remains uncertain.'},{name:'Prototype walkthrough',type:'Guide',minutes:20,note:'Walk through one realistic task and note friction.'}];let key='name',direction=1,query='';document.getElementById('root').innerHTML=`<main><p class="eyebrow">DET FÆLLES DESIGNSYSTEM / ORIGINAL TABLE STUDY</p><h1>Find a planning resource</h1><p class="lead">Compare five authored resources. Search the full table or sort by title and estimated reading time.</p><form id="search-form"><label class="form-label" for="search">Search sample resources</label><div class="search-controls"><input class="form-input" id="search" type="search"><button class="button button-primary" type="submit">Search</button><button class="button button-secondary" id="reset" type="button">Reset</button></div></form><p id="count" role="status"></p><div class="table--responsive-scroll" tabindex="0" role="region" aria-label="Resource comparison table"><table class="table" id="resource-table"><caption>Original resource comparison; reading times are sample estimates</caption><thead><tr><th scope="col" id="name-head" aria-sort="ascending"><button class="button button-unstyled sort" data-key="name">Resource title <span class="arrow" aria-hidden="true">↑</span><span class="sr-only"> — sort descending</span></button></th><th scope="col">Format</th><th scope="col" id="minutes-head"><button class="button button-unstyled sort" data-key="minutes">Minutes <span class="arrow" aria-hidden="true">↕</span><span class="sr-only"> — sort ascending</span></button></th><th scope="col">Purpose</th></tr></thead><tbody id="rows"></tbody></table></div><section id="empty" hidden><h2>No matching resource</h2><p>Try a shorter word, a format such as Template, or reset the search.</p></section><aside><h2>About this table</h2><p>The Borger.dk theme and table styling are from DKFDS 11.3.0. Search and sorting are complete original JavaScript: the published table component does not implement them for you.</p><ul><li>Search is applied when you submit the form.</li><li>A selected column always has an active sort order.</li><li>On a narrow screen, scroll the table without moving the whole page.</li></ul></aside></main>`;const $=id=>document.getElementById(id);function render(){const list=rows.filter(r=>Object.values(r).join(' ').toLowerCase().includes(query)).sort((a,b)=>direction*(key==='minutes'?a.minutes-b.minutes:a.name.localeCompare(b.name)));$('rows').replaceChildren(...list.map(r=>{const tr=document.createElement('tr');[r.name,r.type,String(r.minutes),r.note].forEach(value=>{const td=document.createElement('td');td.textContent=value;tr.append(td)});return tr}));$('count').textContent=list.length+' of '+rows.length+' resources · sorted by '+(key==='name'?'title':'minutes')+' '+(direction===1?'ascending':'descending');$('empty').hidden=!!list.length;document.querySelectorAll('.sort').forEach(b=>{const active=b.dataset.key===key;active?b.parentElement.setAttribute('aria-sort',direction===1?'ascending':'descending'):b.parentElement.removeAttribute('aria-sort');b.querySelector('.arrow').textContent=active?(direction===1?'↑':'↓'):'↕';b.querySelector('.sr-only').textContent=' — sort '+(active&&direction===1?'descending':'ascending')})}$('search-form').addEventListener('submit',e=>{e.preventDefault();query=$('search').value.trim().toLowerCase();render()});$('reset').addEventListener('click',()=>{$('search').value='';query='';render();$('search').focus()});document.querySelectorAll('.sort').forEach(b=>b.addEventListener('click',()=>{direction=key===b.dataset.key?-direction:1;key=b.dataset.key;render()}));render();
Sustituye el index.html raíz de Vite por esta estructura.
04
Det Fælles Designsystem Configuración del agente de IA del sistema de diseño
Punto de partida para la implementación
La hoja de estilos y las fuentes oficiales funcionan localmente. La aplicación se encarga de ordenar y filtrar; esta tabla estática no necesita una llamada a DKFDS.init.
sh
npm create vite@latest dkfds-table -- --template vanilla
cd dkfds-table
npm install
npm install [email protected]
mkdir -p public/dkfds
cp -R node_modules/dkfds/dist/. public/dkfds/
# Replace index.html, src/main.js and src/denmark.css with the supplied examples.
npm run dev
Una instrucción para tu proyecto
Instrucción para el agente
Crea la comparación de recursos de DKFDS con la distribución real 11.3.0 de Borger.dk y sus fuentes. Implementa la ordenación numérica y por título completa y original, un único encabezado con aria-sort activo, búsqueda enviada, aviso de recuento y restablecimiento que conserve el orden. Mantén la tabla desplazable horizontalmente en su propia región accesible con el teclado.
05
Det Fælles Designsystem Fuentes y alcance del sistema de diseño
Una comparación original de OpenDesign con los estilos y las fuentes de DKFDS 11.3.0 de Borger.dk. La ordenación, la búsqueda y los datos de ejemplo son código original completo de la aplicación, no funciones integradas de tablas de DKFDS.