# perf/modern-image-formats

Raster images are served as AVIF/WebP, not plain JPEG/PNG. Reglen perf/modern-image-formats kører i page-scope med severity 'error' og indgår i performance-domænet sammen med 7 andre kontrakter i frameworket.

## Hvorfor modern-image-formats findes

AVIF compresses 20–40% better than WebP, which in turn beats JPEG/PNG — image weight is usually the largest performance lever on content pages. Gold standard: every raster image is served as AVIF or WebP directly, or via <picture> with an AVIF/WebP <source> and a legacy fallback. Detection is extension/markup-based; images without a recognizable extension are skipped.

## Sådan håndhæves modern-image-formats

Reglen modern-image-formats evalueres på hver enkelt renderet HTML-side for sig, så et fund altid kan føres tilbage til én konkret side og én konkret rettelse i data eller template. Fejler en side, får agenten en finding, hvor fix-instruktionen for modern-image-formats er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på modern-image-formats fejler hele verifikationen med exit-kode 1, så hverken CI eller en agent kan skibe sitet før fundet er rettet.

## Test og fixtures

Som alle kontrakter i frameworket har perf/modern-image-formats en mutant-test, der beviser at reglen fejler, når kravet brydes — en regel uden en fejlende test er ikke en regel. Golden-fixturet beviser omvendt, at en fuldt compliant side består modern-image-formats sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.

## Relaterede regler

- [perf/responsive-images](https://pseo.mikkelkrogsholm.dk/regler/perf/responsive-images/)
- [perf/lazy-loading](https://pseo.mikkelkrogsholm.dk/regler/perf/lazy-loading/)
- [perf/image-weight](https://pseo.mikkelkrogsholm.dk/regler/perf/image-weight/)
