> iside-solutions@0.1.0 verifica:fixture > node scripts/verifica-fixture.mjs Fixture — i 33 guardiani devono rifiutarle tutte (171 in tutto) · ok blocco-non-dichiarato ogni controllo dichiara se ha il diritto di spegnere la pubblicazione 121 bloccanti e 42 non bloccanti su 163. · ok conteggio-alla-deriva i conteggi dichiarati nel registro sono quelli che il comando conta adesso motion — 7 controlli, 7 fixture · ok bundle-oltre-il-budget.js codice 1, controllo budget-js · ok dopo-una-istruzione-at.css codice 1, controllo fuori-allowlist · ok foglio-oltre-il-budget.css codice 1, controllo budget-css · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok listener-sullo-scroll.js codice 1, controllo listener-scroll · ok sparisce-scritto-bene.css codice 1, controllo sparisce-senza-permesso · ok sparisce-senza-permesso.css codice 1, controlli senza-stato-finale, sparisce-senza-permesso insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota budget-js bundle-oltre-il-budget.js JavaScript di tutto il sito entro 4 KB min+gzip budget-css foglio-oltre-il-budget.css CSS della pagina più pesante entro 10 KB min+gzip listener-scroll listener-sullo-scroll.js nessun listener sullo scroll fuori-allowlist dopo-una-istruzione-at.css ogni proprietà animata è nell’allowlist del §6.1 senza-stato-finale sparisce-senza-permesso.css ogni animazione si ferma sul suo stato finale sparisce-senza-permesso sparisce-scritto-bene.css, sparisce-senza-permesso.css sparisce da fermo solo un indicatore di stato dichiarato per nome contrasto — 6 controlli, 8 fixture · ok coppia-su-token-inesistente.mjs codice 1, controllo token-mancante · ok due-token-sulla-stessa-riga.css codice 1, controllo token-scoperto · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok override-in-prefers-contrast.css codice 1, controllo coppia-sotto-soglia · ok token-con-maiuscola.css codice 1, controllo token-scoperto · ok token-in-coppia-e-senza-coppia.mjs codice 1, controllo token-contraddetto · ok valore-solo-nel-commento.css codice 1, controllo coppia-sotto-soglia · ok viola-su-una-nota.css codice 1, controllo viola-come-testo insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota coppia-sotto-soglia override-in-prefers-contrast.css, valore-solo-nel-commento.css ogni coppia dichiarata sta sopra la sua soglia AA token-mancante coppia-su-token-inesistente.mjs ogni token nominato da una coppia esiste in tokens.css token-scoperto due-token-sulla-stessa-riga.css, token-con-maiuscola.css ogni token di colore sta in una coppia o è esentato per nome token-contraddetto token-in-coppia-e-senza-coppia.mjs nessun token è insieme in COPPIE e in SENZA_COPPIA viola-come-testo viola-su-una-nota.css --c-viola in `color` solo su display (≥ --t-2xl, o --t-xl in 700) glifi — 4 controlli, 5 fixture · ok entita-fuori-elenco.html codice 1, controllo entita-sconosciuta · ok freccia-da-entita-nominata.html codice 1, controllo fuori-subset · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok seconda-stringa-di-content.css codice 1, controllo fuori-subset · ok senza-font-face.html codice 1, controllo senza-font-face insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota fuori-subset freccia-da-entita-nominata.html, seconda-stringa-di-content.css nessun carattere fuori dall’unicode-range dichiarato entita-sconosciuta entita-fuori-elenco.html nessuna entità HTML nominata che lo script non sa decodificare senza-font-face senza-font-face.html esiste almeno un @font-face con unicode-range da confrontare budget — 10 controlli, 10 fixture · ok condizione-in-em.html codice 1, controllo oltre-il-master · ok immagine-nuda.build.mjs codice 1, controllo budget-pagina · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok larghezza-con-calc.html codice 1, controllo sizes-illeggibile · ok lcp-oltre-il-tetto.mjs codice 1, controllo lcp-oltre-il-tetto · ok mobile-girata-a-1x.mjs codice 1, controllo mobile-senza-rallentamento · ok permesso-che-non-serve-piu.mjs codice 1, controllo permesso-inutile · ok preload-che-non-combacia.html codice 1, controllo preload-non-combacia · ok senza-og-image.html codice 1, controllo og-mancante · ok sizes-in-difetto.mjs codice 1, controllo sizes-in-difetto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota mobile-senza-rallentamento mobile-girata-a-1x.mjs il profilo mobile ha davvero girato con la CPU 4× più lenta budget-pagina immagine-nuda.build.mjs ogni pagina entro 1 MiB al primo caricamento lcp-oltre-il-tetto lcp-oltre-il-tetto.mjs ogni rotta misurata entro 2.500 ms di LCP oltre-il-master condizione-in-em.html nessuna immagine servita più grande del proprio master (§9.4 a) sizes-in-difetto sizes-in-difetto.mjs nessun sizes dichiara meno dello slot vero (§9.4 b) sizes-illeggibile larghezza-con-calc.html ogni sizes è in una forma che il budget sa risolvere permesso-inutile permesso-che-non-serve-piu.mjs nessun permesso di SENZA_MASTER sopravvive al suo motivo og-mancante senza-og-image.html ogni pagina dichiara una card OG che esiste davvero preload-non-combacia preload-che-non-combacia.html ogni preload di immagine combacia con una della pagina contenuti — 12 controlli, 13 fixture · ok beacon-di-terze-parti.html codice 1, controllo beacon-di-terze-parti · ok coordinate-nel-piede.html codice 1, controllo coordinate-geografiche · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok instagram-incorporato.html codice 1, controllo instagram-incorporato · ok nota-di-servizio.build.mjs codice 1, controllo nota-di-servizio-in-pagina · ok omissione-ricomparsa-nome-e-profili.html codice 1, controllo omissione-ricomparsa · ok omissione-ricomparsa.html codice 1, controllo omissione-ricomparsa · ok righelli-mescolati.html codice 1, controllo righelli-mescolati · ok sentinella-in-pagina.html codice 1, controllo sentinella-viva · ok statistiche-alla-deriva.build.mjs codice 1, controllo statistiche-alla-deriva · ok stima-non-confermata.html codice 1, controllo stima-non-confermata · ok stripe-incorporato.html codice 1, controllo stripe-incorporato · ok todo-in-un-commento.html codice 1, controllo todo-nel-markup insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota sentinella-viva sentinella-in-pagina.html nessun DA_COMPILARE nell’HTML emesso omissione-ricomparsa omissione-ricomparsa-nome-e-profili.html, omissione-ricomparsa.html nessun dato dichiarato non pubblicato è tornato nell’HTML stima-non-confermata stima-non-confermata.html nessun valore proposto è stato pubblicato senza conferma nota-di-servizio-in-pagina nota-di-servizio.build.mjs nessuna nota di servizio nel testo visibile di una pagina pubblica todo-nel-markup todo-in-un-commento.html nessun TODO in un commento che arriva in dist/ statistiche-alla-deriva statistiche-alla-deriva.build.mjs build-stats.json dichiara i numeri del dist/ che c’è davvero beacon-di-terze-parti beacon-di-terze-parti.html nessuna pagina carica una risorsa da un dominio esterno instagram-incorporato instagram-incorporato.html nessuno script o iframe verso instagram.com o cdninstagram.com stripe-incorporato stripe-incorporato.html nessuno script o iframe verso stripe.com o js.stripe.com righelli-mescolati righelli-mescolati.html nessuna riga mette un tempo di PSI accanto a uno del banco coordinate-geografiche coordinate-nel-piede.html nessuna coordinata geografica nell’HTML emesso numeri — 11 controlli, 12 fixture · ok cifra-inventata.html codice 1, controllo cifra-senza-fonte · ok due-righelli.html codice 1, controllo righelli-nella-stessa-riga · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok macchina-non-dichiarata.build.mjs codice 1, controllo macchina-non-dichiarata · ok misura-fantasma.html codice 1, controllo misura-senza-voce · ok misura-ritirata.build.mjs codice 1, controllo misura-ritirata-citata · ok misura-scaduta.build.mjs codice 1, controllo misura-scaduta · ok motivo-vuoto.html codice 1, controllo lista-globale-sfora · ok nei-due-versi.build.mjs codice 1, controllo cifra-senza-fonte · ok prova-inesistente.build.mjs codice 1, controllo prova-inesistente · ok rotta-misure-nascosta.build.mjs codice 1, controllo rotta-misure-indicizzata · ok sorgenti-in-contraddizione.build.mjs codice 1, controllo sorgenti-in-contraddizione insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota misura-senza-voce misura-fantasma.html ogni data-misura in pagina ha una voce intera nel registro prova-inesistente prova-inesistente.build.mjs ogni voce del registro punta a un file di prova che esiste cifra-senza-fonte cifra-inventata.html, nei-due-versi.build.mjs nessuna cifra nel testo visibile senza marcatore o dichiarazione lista-globale-sfora motivo-vuoto.html la lista globale sta sotto il tetto e ogni voce ha un motivo righelli-nella-stessa-riga due-righelli.html nessuna riga o frase mette due strumenti diversi accanto rotta-misure-indicizzata rotta-misure-nascosta.build.mjs la rotta /misure/ è pubblica, indicizzata e nella sitemap misura-scaduta misura-scaduta.build.mjs nessuna misura più vecchia del tetto di giorni dichiarato sorgenti-in-contraddizione sorgenti-in-contraddizione.build.mjs HUD e registro non dicono numeri diversi sullo stesso soggetto misura-ritirata-citata misura-ritirata.build.mjs nessuna pagina cita una misura che il registro ha ritirato macchina-non-dichiarata macchina-non-dichiarata.build.mjs ogni voce misurata al build dichiara la macchina che l’ha misurata redirect — 6 controlli, 6 fixture · ok 410-contati.build.mjs codice 1, controlli deriva-cloudflare, 410-contati · ok catena-di-redirect.csv codice 1, controllo catena-di-redirect · ok deriva-cloudflare.build.mjs codice 1, controllo deriva-cloudflare · ok destinazione-inesistente.csv codice 1, controllo destinazione-inesistente · ok insieme-vuoto.csv codice 1, controllo insieme-vuoto · ok tetto-cloudflare.csv codice 1, controllo tetto-cloudflare insieme-vuoto insieme-vuoto.csv l’insieme controllato è quello atteso, e nessuna pagina è vuota deriva-cloudflare 410-contati.build.mjs, deriva-cloudflare.build.mjs i file di Cloudflare combaciano col censimento, byte per byte 410-contati 410-contati.build.mjs gli URL ritirati si contano dal CSV, non si ricordano destinazione-inesistente destinazione-inesistente.csv ogni 301 arriva su una rotta che il sito emette catena-di-redirect catena-di-redirect.csv nessuna destinazione è a sua volta sorgente tetto-cloudflare tetto-cloudflare.csv le regole stanno sotto i limiti documentati di Pages copertura-redirect — 3 controlli, 3 fixture · ok insieme-vuoto.csv codice 1, controllo insieme-vuoto · ok salto-doppio.csv codice 1, controllo salto-doppio · ok url-scoperto.csv codice 1, controllo url-scoperto insieme-vuoto insieme-vuoto.csv l’insieme controllato è quello atteso, e nessuna pagina è vuota url-scoperto url-scoperto.csv ogni URL noto a Google finisce in 301, in 410, o in un’eccezione motivata salto-doppio salto-doppio.csv ogni 301 arriva a destinazione in un salto solo link — 5 controlli, 5 fixture · ok catena-di-link.build.mjs codice 1, controllo catena-di-link · ok destinazione-inesistente.build.mjs codice 1, controllo destinazione-inesistente · ok href-vuoto.build.mjs codice 1, controllo href-vuoto · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok schema-malformato.build.mjs codice 1, controllo schema-malformato insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota destinazione-inesistente destinazione-inesistente.build.mjs ogni destinazione interna è una rotta emessa o un file che c’è catena-di-link catena-di-link.build.mjs nessun link interno passa da un redirect prima di arrivare href-vuoto href-vuoto.build.mjs nessun href mancante, vuoto o rimasto a "#" schema-malformato schema-malformato.build.mjs mailto: e tel: hanno un indirizzo e un numero veri firefox — 8 controlli, 8 fixture · ok giri-instabili.build.mjs codice 1, controllo giri-instabili · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok marquee-non-fermo.build.mjs codice 1, controllo marquee-non-fermo · ok maschera-griglia.build.mjs codice 1, controllo maschera-griglia · ok opacita-a-zero.build.mjs codice 1, controllo opacita-a-zero · ok quiete-ignorata.build.mjs codice 1, controllo quiete-ignorata · ok sfora-orizzontale.build.mjs codice 1, controllo sfora-orizzontale · ok testo-non-visibile.build.mjs codice 1, controllo testo-non-visibile insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota giri-instabili giri-instabili.build.mjs giri ripetuti sulle stesse pagine danno conteggi identici quiete-ignorata quiete-ignorata.build.mjs il motore applica davvero prefers-reduced-motion opacita-a-zero opacita-a-zero.build.mjs h1 e blocchi data-reveal restano opachi senza animation-timeline maschera-griglia maschera-griglia.build.mjs la maschera della griglia tecnica non ritaglia il proprio riquadro testo-non-visibile testo-non-visibile.build.mjs nessun testo di main è nascosto da opacità, visibilità o maschera sfora-orizzontale sfora-orizzontale.build.mjs nessuna pagina si porta dietro dello scorrimento orizzontale marquee-non-fermo marquee-non-fermo.build.mjs da fermo il marquee non scorre e non taglia nessun nome modulo — 14 controlli, 14 fixture · ok bottone-senza-attesa.build.mjs codice 1, controllo bottone-senza-attesa · ok campi-nascosti-senza-js.build.mjs codice 1, controllo campi-nascosti-senza-js · ok con-js-non-invia.build.mjs codice 1, controllo con-js-non-invia · ok consenso-non-obbligatorio.build.mjs codice 1, controllo consenso-non-obbligatorio · ok corpo-senza-mittente.build.mjs codice 1, controllo corpo-senza-mittente · ok corpo-senza-oggetto.build.mjs codice 1, controllo corpo-senza-oggetto · ok errore-non-legato-al-campo.build.mjs codice 1, controllo errore-non-legato-al-campo · ok esito-non-annunciato.build.mjs codice 1, controllo esito-non-annunciato · ok honeypot-compilato.build.mjs codice 1, controllo honeypot-compilato · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok pagina-abbandonata.build.mjs codice 1, controllo pagina-abbandonata · ok redirect-nel-json.build.mjs codice 1, controllo redirect-nel-json · ok senza-js-non-invia.build.mjs codice 1, controllo senza-js-non-invia · ok senza-js-non-torna.build.mjs codice 1, controllo senza-js-non-torna insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota senza-js-non-invia senza-js-non-invia.build.mjs senza JavaScript parte lo stesso un POST classico a Web3Forms campi-nascosti-senza-js campi-nascosti-senza-js.build.mjs senza JavaScript ogni campo del modulo è visibile e compilabile senza-js-non-torna senza-js-non-torna.build.mjs senza JavaScript il browser atterra sulla pagina di grazie con-js-non-invia con-js-non-invia.build.mjs con JavaScript parte una fetch con corpo JSON redirect-nel-json redirect-nel-json.build.mjs nel corpo JSON non c’è redirect: l’API risponderebbe 302 pagina-abbandonata pagina-abbandonata.build.mjs con JavaScript la pagina di contatto non viene lasciata bottone-senza-attesa bottone-senza-attesa.build.mjs il bottone dichiara di stare lavorando, e poi torna com’era esito-non-annunciato esito-non-annunciato.build.mjs l’esito compare nella regione aria-live del modulo corpo-senza-oggetto corpo-senza-oggetto.build.mjs ciò che parte porta un oggetto: il tipo senza JS, tipo e fascia con JS corpo-senza-mittente corpo-senza-mittente.build.mjs ciò che parte porta l’email di chi scrive: è il reply-to honeypot-compilato honeypot-compilato.build.mjs il campo trappola c’è, non si vede, non si tabula e non viaggia pieno consenso-non-obbligatorio consenso-non-obbligatorio.build.mjs senza consenso non parte niente, e il consenso rimanda a /privacy/ errore-non-legato-al-campo errore-non-legato-al-campo.build.mjs gli errori sono in italiano, legati al campo, e leggibili senza colore chiave-modulo — 5 controlli, 5 fixture · ok chiave-assente.html codice 1, controllo chiave-assente · ok chiave-non-uuid.html codice 1, controllo chiave-non-uuid · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok ritorno-fuori-sede.html codice 1, controllo ritorno-fuori-sede · ok ritorno-scritto-a-mano.build.mjs codice 1, controllo ritorno-scritto-a-mano insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota chiave-assente chiave-assente.html l’HTML costruito porta il campo access_key del modulo chiave-non-uuid chiave-non-uuid.html la chiave nell’HTML costruito ha la forma di un UUID ritorno-fuori-sede ritorno-fuori-sede.html il campo redirect porta l’host dichiarato in sito.url ritorno-scritto-a-mano ritorno-scritto-a-mano.build.mjs il valore di redirect è costruito da sito.url, non battuto testi-da-terzi — 2 controlli, 2 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok testo-da-risposta-di-terzi.build.mjs codice 1, controllo testo-da-risposta-di-terzi insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota testo-da-risposta-di-terzi testo-da-risposta-di-terzi.build.mjs nessun testo mostrato all’utente viene dal corpo di una risposta di rete risorse — 4 controlli, 6 fixture · ok copertina-sotto-la-piega.mjs codice 1, controllo risorsa-sprecata · ok dichiarata-oltre-il-tetto.mjs codice 1, controllo risorsa-sprecata · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok permesso-che-non-serve-piu.mjs codice 1, controllo risorsa-sprecata · ok stessa-url-due-volte.mjs codice 1, controllo richiesta-doppia · ok tetto-totale-sforato.mjs codice 1, controllo tetto-totale-sforato insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota richiesta-doppia stessa-url-due-volte.mjs nessuna URL chiesta più di una volta nello stesso caricamento risorsa-sprecata copertina-sotto-la-piega.mjs, dichiarata-oltre-il-tetto.mjs, permesso-che-non-serve-piu.mjs ogni risorsa non usata nel primo viewport è dichiarata, motivata e sotto il suo tetto tetto-totale-sforato tetto-totale-sforato.mjs la somma di TUTTI gli sprechi dichiarati resta sotto un tetto in byte reale — 13 controlli, 13 fixture · ok anteprima-senza-noindex.build.mjs codice 1, controllo noindex-mancante-fuori-produzione · ok cache-sbagliata.build.mjs codice 1, controllo cache-sbagliata · ok cookie-inatteso.build.mjs codice 1, controllo cookie-inatteso · ok endpoint-incoerente.build.mjs codice 1, controllo endpoint-incoerente · ok host-sinonimo-non-redirige.build.mjs codice 1, controllo host-sinonimo-non-redirige · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok produzione-con-noindex.build.mjs codice 1, controllo noindex-in-produzione · ok quattrocentoquattro-non-nostra.build.mjs codice 1, controllo quattrocentoquattro-non-nostra · ok redirect-non-in-un-salto.build.mjs codice 1, controllo redirect-non-in-un-salto · ok ritirato-non-410.build.mjs codice 1, controllo ritirato-non-410 · ok rotta-non-servita.build.mjs codice 1, controllo rotta-non-servita · ok sitemap-che-nomina-l-host.build.mjs codice 1, controllo dichiarazioni-divergenti · ok sitemap-con-url-morta.build.mjs codice 1, controllo sitemap-con-url-morta insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota rotta-non-servita rotta-non-servita.build.mjs ogni rotta emessa risponde 200 all’URL con cui è linkata redirect-non-in-un-salto redirect-non-in-un-salto.build.mjs ogni 301 arriva a un 200 in un salto solo, non in una catena ritirato-non-410 ritirato-non-410.build.mjs ogni URL ritirato risponde 410 in tutte e due le forme quattrocentoquattro-non-nostra quattrocentoquattro-non-nostra.build.mjs un URL inesistente risponde 404 con la pagina del sito cache-sbagliata cache-sbagliata.build.mjs immutable solo sui file con l’hash nel nome, e su nessun altro endpoint-incoerente endpoint-incoerente.build.mjs sitemap, robots e llms rispondono 200 e contengono ciò che promettono sitemap-con-url-morta sitemap-con-url-morta.build.mjs ogni URL elencata nella sitemap risponde 200 noindex-in-produzione produzione-con-noindex.build.mjs il dominio canonico NON porta X-Robots-Tag: l’header non esiste noindex-mancante-fuori-produzione anteprima-senza-noindex.build.mjs ogni host non canonico porta X-Robots-Tag: noindex, nofollow dichiarazioni-divergenti sitemap-che-nomina-l-host.build.mjs header, robots.txt e sitemap dicono la stessa cosa sull’host che li serve host-sinonimo-non-redirige host-sinonimo-non-redirige.build.mjs ogni host sinonimo dell’apice risponde 301 verso l’apice, in un salto cookie-inatteso cookie-inatteso.build.mjs nessuna risposta imposta un cookie, come dichiara /cookie-policy/ icone — 6 controlli, 6 fixture · ok icone-divergenti.build.mjs codice 1, controllo icone-divergenti · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok marchio-decentrato.build.mjs codice 1, controllo marchio-decentrato · ok marchio-non-riempie.build.mjs codice 1, controllo marchio-non-riempie · ok marchio-sul-bordo.build.mjs codice 1, controllo marchio-sul-bordo · ok non-quadrata.build.mjs codice 1, controllo icona-non-quadrata insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota icona-non-quadrata non-quadrata.build.mjs ogni icona è un quadrato del lato dichiarato marchio-sul-bordo marchio-sul-bordo.build.mjs il marchio non tocca il bordo del quadrato e non ne esce marchio-decentrato marchio-decentrato.build.mjs i due margini opposti sono uguali: il marchio è al centro marchio-non-riempie marchio-non-riempie.build.mjs il marchio dipinge abbastanza quadrato da essere il marchio icone-divergenti icone-divergenti.build.mjs le icone inquadrano lo stesso segno nello stesso modo email — 10 controlli, 10 fixture · ok cella-vuota.build.mjs codice 1, controlli img-non-unica, cella-vuota · ok dominio-nudo.build.mjs codice 1, controllo dominio-nudo · ok href-in-piu.build.mjs codice 1, controllo href-in-piu · ok img-non-unica.build.mjs codice 1, controllo img-non-unica · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok luogo-nel-testo.build.mjs codice 1, controllo luogo-nel-testo · ok registro-divergente.build.mjs codice 1, controllo registro-divergente · ok segnaposto-divergenti.build.mjs codice 1, controllo segnaposto-divergenti · ok src-non-assoluto.build.mjs codice 1, controllo src-non-assoluto · ok trattino-lungo.build.mjs codice 1, controllo trattino-lungo insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota img-non-unica cella-vuota.build.mjs, img-non-unica.build.mjs nella testata c’è esattamente un , né zero né due src-non-assoluto src-non-assoluto.build.mjs l’immagine è chiesta a un URL assoluto https, non a un percorso cella-vuota cella-vuota.build.mjs nessun è vuoto: la cella non esiste senza l’immagine trattino-lungo trattino-lungo.build.mjs nessun trattino lungo, in nessuna delle sue forme href-in-piu href-in-piu.build.mjs un mailto, al più un link a iside.solutions, nient’altro luogo-nel-testo luogo-nel-testo.build.mjs il testo non nomina Castelgomberto segnaposto-divergenti segnaposto-divergenti.build.mjs l’HTML e il testo hanno gli stessi segnaposto, e sono quelli ammessi dominio-nudo dominio-nudo.build.mjs nessun dominio scritto in chiaro fuori da un link registro-divergente registro-divergente.build.mjs il registro dichiara esattamente i segnaposto che il messaggio usa email-online — 7 controlli, 7 fixture · ok immagine-di-taglia-sbagliata.build.mjs codice 1, controllo immagine-di-taglia-sbagliata · ok immagine-non-png.build.mjs codice 1, controllo immagine-non-png · ok immagine-non-servita.build.mjs codice 1, controllo immagine-non-servita · ok immagine-troppo-leggera.build.mjs codice 1, controlli immagine-troppo-leggera, immagine-di-taglia-sbagliata · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok template-non-servito.build.mjs codice 1, controllo template-non-servito · ok template-senza-immagine.build.mjs codice 1, controllo template-senza-immagine insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota immagine-non-servita immagine-non-servita.build.mjs l’URL del marchio risponde 200 immagine-non-png immagine-non-png.build.mjs il marchio arriva con content-type image/png immagine-troppo-leggera immagine-troppo-leggera.build.mjs il marchio pesa più di una risposta di cortesia immagine-di-taglia-sbagliata immagine-di-taglia-sbagliata.build.mjs, immagine-troppo-leggera.build.mjs il marchio è 192×192, letto dall’header PNG template-non-servito template-non-servito.build.mjs l’URL del template risponde 200 template-senza-immagine template-senza-immagine.build.mjs il template pubblicato contiene un albero-pulito — 2 controlli, 3 fixture · ok artefatto-abbandonato.build.mjs codice 1, controllo albero-sporco · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok referto-riscritto.build.mjs codice 1, controllo albero-sporco insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota albero-sporco artefatto-abbandonato.build.mjs, referto-riscritto.build.mjs dopo la suite, git status --porcelain è vuoto ambiente — 4 controlli, 4 fixture · ok engines-esclude-la-versione-dichiarata.build.mjs codice 1, controllo engines-discorde · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok node-diverso-da-quello-dichiarato.build.mjs codice 1, controllo node-diverso · ok node-sotto-il-minimo-anche-nel-build.build.mjs codice 1, controllo node-sotto-il-minimo insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota node-sotto-il-minimo node-sotto-il-minimo-anche-nel-build.build.mjs la versione che gira arriva al minimo dichiarato da engines.node node-diverso node-diverso-da-quello-dichiarato.build.mjs la versione di Node che gira è quella dichiarata in .node-version engines-discorde engines-esclude-la-versione-dichiarata.build.mjs package.json engines.node concorda con .node-version variabili — 5 controlli, 5 fixture · ok consegna-non-dichiarata.build.mjs codice 1, controllo consegna-non-dichiarata · ok esempio-alla-deriva.build.mjs codice 1, controllo esempio-alla-deriva · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok necessaria-assente.build.mjs codice 1, controllo necessaria-assente · ok variabile-di-troppo.build.mjs codice 1, controllo variabile-di-troppo insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota necessaria-assente necessaria-assente.build.mjs ogni variabile necessaria in questo posto c’è ed è valorizzata variabile-di-troppo variabile-di-troppo.build.mjs nessuna variabile dichiarata assente qui è definita qui esempio-alla-deriva esempio-alla-deriva.build.mjs .env.example è esattamente quello che il manifesto genera consegna-non-dichiarata consegna-non-dichiarata.build.mjs ogni variabile che consegna dichiara dove, e quando è stata provata prove — 6 controlli, 6 fixture · ok allegati-nella-sitemap.build.mjs codice 1, controllo prove-nella-sitemap · ok chiave-dentro-alla-prova.build.mjs codice 1, controllo segreto-nella-prova · ok estensione-fuori-dalla-lista.build.mjs codice 1, controllo estensione-non-dichiarata · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto · ok link-di-prova-in-404.build.mjs codice 1, controllo link-di-prova-rotto · ok prova-oltre-il-tetto.build.mjs codice 1, controllo prove-troppo-pesanti insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota estensione-non-dichiarata estensione-fuori-dalla-lista.build.mjs ogni prova ha un’estensione della lista chiusa segreto-nella-prova chiave-dentro-alla-prova.build.mjs nessuna prova contiene qualcosa che somigli a un segreto prove-troppo-pesanti prova-oltre-il-tetto.build.mjs nessuna prova sfora il tetto per file, né l’insieme quello totale link-di-prova-rotto link-di-prova-in-404.build.mjs ogni link di prova in pagina apre un file presente in dist/ prove-nella-sitemap allegati-nella-sitemap.build.mjs la sitemap non elenca nessun allegato di /prove/ pota-build — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota conta-css — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota genera-og — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota provino-og — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota provino-email — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota misura-browser — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota genera-cloudflare — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota genera-statistiche — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota provino-qualita — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota fixture — 3 controlli, 3 fixture · ok blocco-non-dichiarato.build.mjs codice 1, controllo blocco-non-dichiarato · ok conteggio-alla-deriva.build.mjs codice 1, controllo conteggio-alla-deriva · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota conteggio-alla-deriva conteggio-alla-deriva.build.mjs i conteggi dichiarati nel registro sono quelli che il comando conta adesso blocco-non-dichiarato blocco-non-dichiarato.build.mjs ogni controllo dichiara se ha il diritto di spegnere la pubblicazione catena — 1 controlli, 1 fixture · ok insieme-vuoto.build.mjs codice 1, controllo insieme-vuoto insieme-vuoto insieme-vuoto.build.mjs l’insieme controllato è quello atteso, e nessuna pagina è vuota ✓ 171 fixture su 33 guardiani, tutte rifiutate come dichiarano, e ognuno dei 163 controlli ne ha almeno una. Nessuno di loro è stato dato per funzionante.