I Singoli Strani del Browser che Tengono in Piedi il Web (e Perché Contano per Te)
Il Segreto Sporco del Web
Immagina di scoprire che i browser principali modificano il loro comportamento in base al sito che visiti. Non è un errore. Non è un trucco improvvisato. È una funzione deliberata, scritta nel codice.
Su TikTok il tuo browser agisce in modo diverso rispetto al tuo sito personale. Lo stesso vale per Netflix, Instagram, Amazon Prime Video e persino SeatGuru, quel tool per confrontare i posti sugli aerei.
Non sto inventando. Il codice è pubblico. In Safari, l'engine WebKit ha un file Quirks.cpp pieno di righe dedicate a domini specifici. Firefox le mostra tutte in una pagina about:compat, dove puoi attivarle o disattivarle. Chrome fa finta di niente, e questo dice molto sul potere del mercato.
Le Guerre della Compatibilità
Apri Firefox e digita about:compat nella barra degli indirizzi. Vedrai un elenco di siti famosi per i loro problemi. Ogni voce è un rimedio su misura: CSS personalizzati, modifiche JavaScript, spoofing del user agent.
Safari è ancora più aperto. Su GitHub, Quirks.cpp racconta la vera storia del web: non come dovrebbe essere, ma come funziona davvero.
Prendi Facebook, X (ex Twitter) e Reddit. C'è un commento preciso:
"Facebook, X e Reddit fermano i video
<video>usciti dallo viewport, anche in modalità PiP."
Safari intercetta questi domini e adatta il Picture-in-Picture. Aziende giganti con team enormi. Potevano sistemare il loro codice. Invece, Safari ha corretto per due miliardi di utenti.
Un altro su SeatGuru:
"FIXME: Togli questo quirk se SeatGuru aggiorna il sito."
Hanno provato a contattarli, niente risposta. Risultato: fix hardcodato nel browser.
L'Effetto Domino di Chrome
Qui casca l'asino, e fa male agli standard web.
Chrome domina il mercato. Gli sviluppatori puntano su Chrome, dove stanno gli utenti. I siti girano alla grande lì. Se qualcosa si inceppa su Safari o Firefox, la colpa va ai browser. Gli utenti passano a Chrome. Ciclo infinito.
Peggio: le scelte di Chrome diventano standard di fatto. Chrome lancia una feature. Dev la usano per il 65% di market share. Safari e Firefox o la implementano (lavoro extra) o aggiungono quirk per domini specifici.
Nel codice WebKit ci sono override del user agent: Safari si finge Chrome su Amazon Video e vari streaming. Quei siti fiutano il browser e penalizzano i non-Chrome. Invece di far soffrire gli utenti, WebKit mente.
Ecco il codice vero:
auto chromeUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"_s;
Safari con user agent falso da Chrome. Firefox fa lo stesso. Loop micidiale: dev ottimizzano per Chrome, utenti non-Chrome incolpano il browser, dominio rafforzato.
Non Solo Estetica: Cambiamenti Profondi
Non parliamo di ritocchi visivi. I browser alterano scrolling, gestione touch, calcoli viewport, MIME type delle immagini. In base al dominio.
Ultimi commit su Quirks.cpp: immagini Zillow non centrate, TikTok con banner "aggiorna browser", Reels Instagram che ridimensionano male, pulsanti Netflix che chiudono popover, Twitch che pausa PiP sui tab switch, Amazon Prime Video KO su Safari.
Ogni problema? Fix dedicato. Migliaia di righe per coprire errori di siti enormi.
Cosa Cambia per la Tua Startup
Stai sviluppando un'app web? La dura verità: testa su tutti i browser. Non solo per scrupolo, ma perché i browser fanno eccezioni per i concorrenti grossi.
Il web vira dal purismo degli standard al pragmatismo. I browser diventano specifici per app, non solo per sé stessi. Patchano siti rotti invece di aspettare fix.
Buona notizia per team piccoli: è raro finire nei quirk. Ma crescendo, se il tuo codice zoppica su Safari, Firefox o Chrome, potresti ritrovarti nel loro elenco.
Soprattutto, qui vedi perché gli standard contano. Il dominio di Chrome impone le sue regole a tutto l'ecosistema. Influenza cosa buildano i dev, cosa supportano Safari e Firefox, cosa si testa davvero.
La Realtà Nuda e Cruda
Il web non è un campo neutro. Siti grossi hanno trattamenti speciali nei browser. Ma mostra anche la resilienza: i browser fanno di tutto per tenere il web vivo, anche con migliaia di righe domain-specific.
Non è elegante. Non è lo spirito degli standard. È il web che abbiamo. Capire il divario tra ideale e reale è vitale per chi builda.
Prossima volta che un sito vola su Chrome e casca su Firefox, è eredità di questo sistema. Lezione per te: evita browser sniffing, non dare Chrome per universale, testa ossessivamente su browser reali.
Questi quirk nascosti ricordano: costruiamo su una piattaforma tenuta insieme da intenzioni nobili, ingegneria furba e, sempre di più, patch per domini specifici.