Kaffe
-45 kr - i går
lmfaole.party / designsystem / komponenter / Strøm
En kontinuerlig rullende strøm av innholdsblokker - f.eks. en transaksjonslogg som laster inn flere elementer etter hvert som brukeren scroller. Implementerer ARIA APG sitt Feed-mønster: role="feed" med role="article"-barn (aria-posinset/aria-setsize satt automatisk), og Page Down/Page Up flytter fokus rett til neste/forrige artikkel i stedet for at Tab må gå gjennom alt fokuserbart innhold underveis.
<ul> er enklere og tilstrekkelig.<lm-data-table>.<script type="module" src="/designsystem/komponenter/innhold/feed/feed.js"></script>
<lm-feed etikett="Transaksjoner">
<article>
<h3>Kaffe</h3>
<p>-45 kr - i går</p>
</article>
<article>
<h3>Lønn</h3>
<p>+32 000 kr - 1. i måneden</p>
</article>
</lm-feed>
Rediger koden under - resultatet oppdateres live.
-45 kr - i går
+32 000 kr - 1. i måneden
| Attributt | Type | Standard | Beskrivelse |
|---|---|---|---|
etikett | string | "Strøm" | Attributt/property. Beskrivende aria-label for hele strømmen (f.eks. "Transaksjoner"). |
laster | boolean | false | Attributt/property. Settes mens flere elementer lastes inn (f.eks. under uendelig scroll) - reflekteres som aria-busy. |
| Slot | Beskrivelse |
|---|---|
| (standard) | Innholdsblokkene i strømmen - hvert direkte barn blir automatisk en role="article"-artikkel. |
| Part | Beskrivelse |
|---|---|
feed | Wrapperen med role="feed". |
Hver part over kan restyles direkte fra et vanlig, ytre stilark - uten å måtte endre selve komponenten eller duplisere den:
lm-feed::part(feed) {
/* egne stiler for "Wrapperen med `role="feed"`." */
}
Wrapperen har role="feed" og en beskrivende aria-label. Hvert direkte barn får role="article", aria-posinset og aria-setsize automatisk. laster reflekteres som aria-busy="true" mens nytt innhold lastes. Page Down/Page Up flytter fokus mellom artiklene; Ctrl+Home/Ctrl+End hopper til første/siste.
role="feed" på wrapperen, role="article" på hvert direkte barn - forbrukeren trenger ikke sette disse selv.aria-posinset/aria-setsize oppdateres automatisk når elementer legges til eller fjernes (via slotchange).IntersectionObserver på et "last mer"-sentinel-element) er konsumentens ansvar - komponenten setter kun laster/aria-busy og feed-semantikken rundt innholdet forbrukeren allerede har lagt til.Se også:
Avhengigheter: Ingen