Bandometro — Esiti della selezione (pagina offline) =================================================== Pagina statica, autonoma, senza build e senza backend. Apri index.html in un browser recente (Firefox, Chrome, Safari). Funziona offline: i dati di esempio sono inclusi nella pagina stessa. Distribuzione ------------- Copia l'intera cartella `esiti/` su una chiavetta USB / SD / archivio decompresso, poi fai doppio clic su index.html. Nessun installer, nessun server. (A differenza del resto del sito in `public/`, che usa fetch() e richiede un server HTTP, questa pagina inlinea i dati e gira anche da file://.) Cosa fa ------- - Mostra gli indicatori chiave (concorsi, candidature, idonei, vincitori, tasso di ammissione, tasso di successo) calcolati dal dataset attivo. - Grafico a barre delle candidature per ente (SVG, nessuna libreria). - Tabella dettaglio ordinabile (clic sull'intestazione di colonna) con filtri per ente, profilo, ambito (macro-aree / regioni) e ricerca testuale. - Importa JSON: carica un dataset locale tramite FileReader (offline, senza rete). Vedi `examples/esiti-esempio.json` per il formato. - Esporta JSON / CSV delle righe attualmente visibili (filtri applicati). Formato dati ------------ Stesso schema di public/data/statistiche-concorsi.json, quindi i due file sono interscambiabili: { "fonte": "...", "licenza": "...", "aggiornamento": "AAAA-MM-GG", "dati": [ { "cod": "...", "profilo": "...", "ente": "...", "area": "...", "cand": 0, "scr": 0, "fin": 0, "data": "GG/MM/AAAA" } ] } cand = candidature, scr = idonei, fin = vincitori. Il tasso di ammissione è calcolato come idonei / candidature. Accessibilità ------------- HTML semantico, intestazioni di tabella ordinabili con aria-sort, regione di stato con aria-live, focus visibile su ogni controllo, contrasto conforme a WCAG 2.2 AA. Il grafico è decorativo (aria-hidden): i dati restano leggibili nella tabella, che è la rappresentazione accessibile. Tema chiaro / scuro ------------------- Questa pagina è in tema scuro per impostazione predefinita, in linea con la richiesta. Il pulsante "Tema chiaro / scuro" nella barra superiore commuta il tema e la scelta viene ricordata (localStorage, chiave `bandometro-theme`, condivisa con il resto del sito). Avvertenza ---------- Dati illustrativi, non ufficiali. Mockup a supporto della change request CR_2026_005. Nessun dato personale è trattato. Prova rapida (console devtools) ------------------------------- EsitiBandometro.parseDataset('{"dati":[{"profilo":"x","cand":10,"scr":2,"fin":1}]}') EsitiBandometro.tasso({cand:100, scr:12}) // -> 0.12