Skip to content

Alt om WordPress, webutvikling — og mer til

💡 18 HTML-tagger du ikke bruker i 2026, men som du burde

💡 18 HTML-tagger du ikke bruker i 2026, men som du burde

Hvor mange HTML-tagger bruker du egentlig? De fleste utviklere har et arsenal på rundt et dusin: div, p, a, img, span, overskrifter og lister. De resterende 100+ taggene fra spesifikasjonen ligger ubrukt, rett og slett fordi folk har glemt dem eller aldri visste om dem.

Det er en feil. Nettlesere har lært å forstå semantikk dypere enn du kanskje tror. Skjermlesere er avhengige av det. Søkemotorer analyserer strukturen. Riktig tagg på riktig sted gir tilgjengelighet, SEO og lesbar kode uten en eneste linje JS.

Vi har valgt ut 18 HTML-tagger som er verdt å legge til i din daglige markup. De er ikke nye i betydningen «akkurat sluppet fra utkast», men de er nye for mange utviklere fordi de har vært urettferdig oversett. Noen kommer fra HTML5, andre har alltid vært i spesifikasjonen. Hver enkelt inkluderer et fungerende eksempel og en forklaring på hvor den faktisk hjelper.

💡 Rask oversikt:

  • Hvilke tagger som løser tilgjengelighets- og semantikkproblemer uten JavaScript
  • Hvor sub/sup, dfn, var og time kommer til nytte for tekstmarkup
  • Hvordan <q>, <blockquote> og <cite> formaterer sitater korrekt
  • Hvorfor <video>, <picture> og <figure> organiserer medieinnhold
  • Hva del/ins, meter, dialog og menu tilfører grensesnitt

1. Semantisk tekstmarkup: sub, sup, dfn, var, time, kbd

Fem tagger som gjør vanlig tekst om til en struktur som er forståelig for både maskiner og mennesker. Ingen JS, bare ren HTML.

<sub>** og **<sup>: senket og hevet skrift. Kjemiske formler, matematiske eksponenter, fotnoter. CSS kan visuelt senke eller heve tekst med vertical-align, men det formidler ikke semantikken. Og det har betydning: en skjermleser vil annonsere «H to O» i stedet for å lese «H to O» som vanlig tekst. Ikke bruk dem til rent dekorative formål; det finnes stiler for det.

1H<sub>2</sub>O
2a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup>

<dfn>: et begrep som defineres. Når du introduserer et nytt konsept og gir definisjonen, pakker du begrepet inn i denne taggen. Nettleseren gjør ikke noe visuelt med den, men søkemotorer og ordbokutvidelser bruker <dfn> til å bygge en sideordliste. id-attributtet lar deg opprette tilbakereferanser når du nevner begrepet igjen.

1<p>
2 <dfn id="semantic">Семантическая разметка</dfn> — HTML, который
3 передаёт смысл содержимого, а не только его внешний вид.
4</p>

<var>: en variabel. I teknisk dokumentasjon, veiledninger, formelbeskrivelser. Nettlesere viser den i kursiv som standard. For fullstendige matematiske uttrykk er MathML bedre, men <var> er praktisk når variabelen er en del av en setning.

1По теореме Пифагора, квадраты сторон
2<var>a</var> и <var>b</var> дают квадрат гипотенузы <var>c</var>.

<time>: en dato eller et klokkeslett. Maskiner sliter med å tolke «2. april» midt i et avsnitt. <time>-taggen isolerer datoen og gir et maskinlesbart format via datetime-attributtet. Kalendere, søkemotorer, hendelsestolkere: alle vil takke deg.

1GenerateJS пройдёт
2<time datetime="2026-04-02">2 апреля 2026</time>.
Eksempel på tastaturinndata med kbd-markering

<kbd>: tastaturinndata. Instruksjoner, hurtigtaster, kommandoer. Vises visuelt i en skrift med fast bredde, og skiller semantisk nøkkelnavn fra omkringliggende tekst. Du kan nøste dem for kombinasjoner.

1Закройте окно клавишей <kbd>Esc</kbd>.
2Сохраните проект: <kbd><kbd>Ctrl</kbd> + <kbd>S</kbd></kbd>.

2. Sitater og kildehenvisninger: q, blockquote, cite

Tre tagger som dekker alle siteringsscenarier, fra en innebygd frase til et lengre bokutdrag.

HTML-kode på en skjerm

<q>: et innebygd sitat i et avsnitt. Nettleseren omslutter automatisk innholdet med anførselstegn som samsvarer med sidens språk. Det valgfrie cite-attributtet angir kilde-URL-en. Brukeren ser den ikke, men det gjør maskiner.

1Как сказал Джереми Кит,
2<q cite="https://adactio.com">HTML — объединяющий язык
3Всемирной паутины</q>.

<blockquote>: et blokksitat. For lengre utdrag: et avsnitt fra en artikkel, en anmeldelse, et utdrag fra en spesifikasjon. Støtter også cite. Nettleseren legger til et innrykk som standard, og du kan style det akkurat som du vil.

1<blockquote cite="https://html.spec.whatwg.org/multipage/">
2 <p>HTML — это язык разметки, используемый для создания
3 структурированных документов для Всемирной паутины.</p>
4</blockquote>

<cite>: tittelen på det siterte verket. Kun tittelen: en bok, artikkel, film, spill. Ikke forfatterens navn, ikke datoen, bare tittelen. Nettlesere viser det i kursiv som standard. Ofte forvekslet med cite-attributtet på <q>/<blockquote>, men de er forskjellige ting: attributtet lagrer en URL, mens <cite>-taggen viser tittelen til brukeren.

1<p>Почитать подробнее можно в
2<cite>HTML Living Standard</cite>.</p>

3. Dokumentstruktur: address og dl/dt/dd

Arbeid med HTML-kode

<address>: kontaktinformasjon. Ikke en bedrifts postadresse (det håndterer Schema-mikrodata), men kontaktdetaljene til forfatteren av siden eller artikkelen. Når den plasseres inne i <article>, refererer den til artikkelforfatteren; når den er i <body>, til nettstedseieren. Søkemotorer bruker denne blokken til å bygge Knowledge Graph.

1<address>
2 <a href="mailto:[email protected]">[email protected]</a>
3</address>

<dl>**, <dt>, **<dd>: en beskrivelsesliste. Ikke bare en «ordliste», men enhver «nøkkel/verdi»-struktur: produktspesifikasjoner, metadata, FAQ. Ett begrep (<dt>) kan ha flere beskrivelser (<dd>), og omvendt. Rekkefølgen har betydning: begrepet kommer først, deretter beskrivelsen.

1<dl>
2 <dt>Элемент</dt>
3 <dd>Конструкция из открывающего тега, содержимого и закрывающего тега.</dd>
4 <dt>Атрибут</dt>
5 <dd>Пара внутри открывающего тега, задающая свойства элемента.</dd>
6</dl>

4. Medieinnhold: video, picture og figure/figcaption

Tre kraftfulle verktøy for arbeid med visuelt og multimediainnhold. Hvert av dem dekker sitt eget spekter av oppgaver.

<video>: innebygd video uten tredjepartsavspillere. Du kan angi én enkelt src eller flere <source>-elementer; nettleseren velger det første støttede formatet. Nyttig detalj: autopictureinpicture-attributtet krymper automatisk videoen til et flytende vindu når du bytter fane, mens disablepictureinpicture forhindrer det. På samme måte styrer disableremoteplayback overføring til Chromecast og Apple TV.

HTML-markering for videoinnhold
1<video controls autopictureinpicture>
2 <source src="video.webm" type="video/webm">
3 <source src="video.mp4" type="video/mp4">
4</video>

<picture>: responsive bilder med full kontroll. I motsetning til srcset<img>, der nettleseren velger kilde, lar <picture> deg spesifisere strenge media queries. Ulike formater (WebP for Chromium, JPEG for andre), ulike beskjæringer for mobil, en mørk versjon for mørk modus, alt uten en eneste linje JS.

1<picture>
2 <source srcset="hero-dark.webp" media="(prefers-color-scheme: dark)">
3 <source srcset="hero.webp" type="image/webp">
4 <img src="hero.jpg" alt="Главный баннер с заголовком статьи">
5</picture>

<figure>** og **<figcaption>: selvstendig innhold med en bildetekst. En illustrasjon, et diagram, en kodelisting, en tabell, alt som kan fjernes fra hovedflyten uten at meningen går tapt. <figcaption> knytter bildeteksten semantisk til innholdet: en skjermleser leser dem sammen, ikke som separate elementer. Hvis innholdet bare er perifert relatert til teksten (for eksempel et sitat i en sidestolpe), bruk <aside> i stedet.

1<figure>
2 <img src="framework-usage.png" alt="Рост React-проектов с 2022 по 2026">
3 <figcaption>Динамика использования JavaScript-фреймворков, 2022–2026</figcaption>
4</figure>

5. Navigasjonskart: map og area

Gammelt, men ikke avleggs. Bildekart gjør enkeltområder i et bilde til klikkbare lenker. Der tekst kommer til kort (et interaktivt T-banekart, en plantegning over en bygning, et anatomisk diagram), fungerer <map> med <area> uten JS.

Skjerm som viser HTML-markering
1<map name="london">
2 <area shape="circle" coords="200,75,50" href="westminster.html" alt="Вестминстер">
3 <area shape="rect" coords="300,120,380,180" href="city.html" alt="Сити">
4</map>
5<img usemap="#london" src="london-map.jpg" alt="Карта центра Лондона">

Attributtet shape godtar circle, rect, poly og default. Koordinater oppgis i piksler fra øverste venstre hjørne. For komplekse konturer, bruk poly med en liste med punkter. Til tross for alderen (taggen er godt over tjue år gammel), har den stabil støtte i alle nettlesere.

6. Tekstredigering: del og ins

Visuell fremstilling av slettet og innsatt tekst

Når du viser redigeringer, dokumentendringer, artikkeloppdateringer eller lovdifferanser, gir <del> og <ins> en semantisk korrekt representasjon. <del> markerer fjernet innhold (nettlesere gjennomstreker det), <ins> markerer tilføyd innhold (nettlesere understreker det).

Begge støtter cite (hvorfor det ble endret) og datetime (når). Søkemotorer ser sidens revisjonshistorikk i stedet for bare overskrevet tekst.

1<p>
2 Несмотря на негатив в прессе,
3 <del datetime="2026-01-15">covfefe</del>
4 <ins cite="#editorial-note">coverage</ins>.
5</p>

Ikke bruk <del> og <ins> for rent dekorativ gjennomstreking; text-decoration: line-through finnes for det. Disse taggene handler spesifikt om innholdsversjonering.

7. Neste generasjons inndatafelt

Ulike HTML-inndatafeltyper

<input>-elementet har utviklet seg langt forbi rene tekststrenger. Moderne nettlesere støtter dusinvis av typer, hver med innebygd validering, et mobiltilpasset tastatur og native widgets uten en eneste linje JavaScript.

Nøkkeltyper mange prosjekter fortsatt overser:

  • type="color": en fargepalett. En native fargevelger uten å dra inn et spektrumbibliotek.
  • type="range": en glidebryter mellom min og max. Volum, pris, vurdering, alt uten å kode en slider.
  • type="date": en lokalisert kalender. Nettleseren viser en datovelger med formatering tilpasset brukerens region.
  • type="datetime-local": dato og klokkeslett uten tidssone. For bookinger, tidsfrister, planleggingsverktøy.

Attributtet pattern aksepterer et regulært uttrykk: verdien slipper ikke gjennom valideringen før den matcher mønsteret.

1<input type="color" value="#FF0657">
2<input type="range" min="0" max="100" value="75">
3<input type="date" value="2026-06-13">
4<input name="username" pattern="[a-z]{5,10}"
5 title="От 5 до 10 строчных латинских букв">

8. Numeriske indikatorer

Visuell målerverdiindikator i nettleseren

Ikke forveksle det med <progress>: <meter> er for en statisk verdi innenfor et kjent intervall (diskbruk, poengsum, vurdering), mens <progress> er for fullføringsgrad av en oppgave (nedlasting, trinnvis prosess).

Nettleseren fargelegger <meter> automatisk basert på hvor verdien ligger i forhold til low, high og optimum. Grønn sone: verdi nær optimum; gul: akseptabel; rød: utenfor normalområdet. Fargelogikken kan tilpasses via CSS, men den grunnleggende semantikken fungerer rett ut av boksen.

1<meter value="6.4" min="0" max="10" low="4" high="9" optimum="7.5">
2 6.4 из 10
3</meter>

9. Interaktive elementer: dialog og meny

To tagger for interaksjoner som tidligere krevde JS-biblioteker eller bygging fra bunnen av.

Programkode på skjerm

<dialog>: et native modalt vindu. Elementet er skjult av seg selv. Legg til attributtet open, så viser nettleseren det over siden i top layer. JavaScript-metoden showModal() gir også pseudo-elementet ::backdrop for å dimme bakgrunnen. Popup, bekreftelse av handling, varsel, alt uten en eneste linje CSS-posisjonering.

Støtte: Chrome, Edge, Firefox, Safari (siden 2022). For eldre nettlesere rendres dialogen rett og slett som en vanlig blokkbeholder; polyfills er tilgjengelige.

1<dialog id="confirm">
2 <p>Удалить этот элемент?</p>
3 <button onclick="this.closest('dialog').close()">Отмена</button>
4 <button onclick="this.closest('dialog').close('confirmed')">Удалить</button>
5</dialog>

<menu>: en liste over interaktive handlinger. Ikke navigasjon (bruk <nav> til det), men spesifikt en verktøylinje: pensler i et grafikkredigeringsprogram, formateringsknapper, objekthandlinger. Den semantiske ekvivalenten til <ul>, men for knapper og kommandoer. Den har ingen standard stil, kun mening.

Attributtet type="toolbar" (det eneste som er igjen i spesifikasjonen) setter eksplisitt verktøylinjerollen. Konteksttypen er fjernet fra standarden, så <menu> er i dag utelukkende for synlige sett med handlinger på skjermen.

1<menu type="toolbar">
2 <li><button>Круглая</button></li>
3 <li><button>Плоская</button></li>
4 <li><button>Веерная</button></li>
5</menu>

Hvis HTML-markering er nytt for deg, her er en utmerket introduksjon fra Traversy; Traversy Media er en av de beste frontend-kanalene på YouTube:


⁉️🤔 Ofte stilte spørsmål

Hvorfor bruke semantiske tagger når du kan bygge alt med <div> og <span>?

Skjermlesere er avhengige av tagger for å bygge sidestruktur for blinde brukere; div er usynlig for dem. Søkemotorer trekker ut semantikk for rike utdrag: vurderinger fra <meter>, FAQ fra <dl>, kontaktinformasjon fra <address>. I tillegg dokumenterer koden seg selv: <article> sier umiddelbart «dette er en artikkel», mens <div class="article"> ikke gjør det.

Hvilke tagger fra listen er allerede trygge å bruke i produksjon?

Alle atten. <dialog> fikk støtte på tvers av nettlesere med Safari 15.4 (2022), <menu> fungerer de facto som en semantisk innpakning overalt. <picture> og <video> med <source> har vært modne siden 2016. <meter>, <time>, <kbd>, <dfn> kommer fra HTMLs dype arv med universell støtte. Det eneste forbeholdet: <input type="date"> og type="color" kan gjengis forskjellig på tvers av operativsystemer, men det ødelegger ikke funksjonaliteten.

Er <b> og <i> døde?

Nei, men rollen deres har endret seg. <b> brukes nå for å trekke oppmerksomhet uten å formidle viktighet (nøkkelord i en CV), <i> brukes for idiomatiske uttrykk, termer på et annet språk, skipsnavn. For å understreke viktighet, bruk <strong>; for trykksterk betoning, <em>. Stilistisk fet/kursiv er kun CSS.

Kan jeg bruke <meter> for en fremdriftsindikator for lasting?

Nei. <meter> er for en statisk verdi innenfor et kjent område (diskbruk, poengsum, vurdering). For fremdrift over tid, bruk <progress> utelukkende. Nettlesere animerer <progress> når value endres, mens <meter> forblir statisk. De forveksles stadig, men semantikken er forskjellig og skjermlesere annonserer dem ulikt.

Hva bør jeg gjøre hvis en nettleser ikke støtter <dialog>?

Elementet gjengis ganske enkelt som en blokkbeholder og vil ikke ødelegge noe. Legg til en polyfill: dialog-polyfill fra Google Chrome-teamet (400 linjer, ingen avhengigheter) dekker showModal(), close() og ::backdrop for eldre nettlesere.

Hvilken tagg bør du ta i bruk først?

{iframe} og <picture> er to tagger som gir maksimal nytte med minimal innsats. {iframe} vil erstatte enhver tredjeparts videospiller med et eget vindu med bilde-i-bilde. <picture> eliminerer manuelt bytte av WebP/AVIF-format; nettleseren velger det den forstår.

Derfra kan du skalere opp: <input> med moderne typer (color, date, range) vil kutte bort kilobyte med JS-widgets. <dialog> fjerner avhengigheten av modale biblioteker. <del>/<ins> bringer orden i innholdsversjonering.

Du trenger ikke å implementere alle 18 i en enkelt sprint. Start med én tagg per uke. I løpet av seks måneder vil markeringen din være semantisk rik og koden din selvdokumenterende, uten en eneste linje JavaScript der det ikke trengs.

Hvis du ikke vet hvor du skal begynne, åpne ditt nåværende prosjekt, finn den nærmeste <div class="..."> uten klar semantikk, og erstatt den med en passende tagg fra listen. Forskjellen i kodelesbarhet vil være umiddelbart merkbar.