Gå til innholdet

Tag

En merkelapp merker innhold: emneord på en artikkel, valgte filtre over en liste. Sier lappen hvilken tilstand noe er i, som «Innvilget» eller «Forfalt», er Badge riktig i stedet.

import "@fristil/designsystem/tokens.css"
import "@fristil/designsystem/tag.css"
data-variantBrukes til
(utelatt)Omriss. Standardvalget.
filledDempet flate, når lappene ligger på en lys flate

Tre filtre over en liste med saker. «Innvilget» er valgt, de to andre ikke, og det er aria-pressed som sier hvilken som er hvilken:

<div role="group"> med en ledetekst er det som binder de tre sammen. Uten den er det tre løse knapper, og den som hører siden vet ikke at de hører til samme spørsmål.

data-selectable gir hover og fokusmarkering. Elementet må være en <button>, og aria-pressed setter du selv:

<script type="module">
for (const lapp of document.querySelectorAll(".fs-tag[data-selectable]")) {
lapp.addEventListener("click", () => {
const valgt = lapp.getAttribute("aria-pressed") === "true"
lapp.setAttribute("aria-pressed", String(!valgt))
})
}
</script>

aria-pressed er det som gjør at skjermleseren sier «valgt» eller «ikke valgt». Fargen alene sier ingenting.

import { fs } from "@fristil/designsystem"
const lapp = document.createElement("button")
lapp.type = "button"
fs.setAttributes(lapp, fs.tag({ selectable: true }))
lapp.setAttribute("aria-pressed", "false")
KlasseHva det er
.fs-tagMerkelappen. Varianten kommer fra data-variant.
VariabelStandard
--fs-tag-paddingvar(--size-0-5) var(--size-2)
--fs-tag-radiusvar(--size-1)

Se Tilpasning for hvordan variablene og laget virker.

  • En lapp som ikke kan trykkes på skal ikke se ut som om den kan det. Bruk data-selectable bare på ekte knapper.
  • Har du mange filtre, legg dem i en liste med en overskrift som sier hva de filtrerer.
  • Skal lappen kunne fjernes, lag en egen knapp inni med tekst som sier hva som fjernes: «Fjern filteret Innvilget», ikke bare et kryss.