Meta theme-color non rispetta lo schema di colori corrente

Ho riesaminato la questione la scorsa settimana e sono riuscito a riprodurre questo bug con i seguenti passaggi:

  1. Configura il tuo sistema operativo per utilizzare la modalità scura (in Windows 11 questo si fa in Impostazioni → Personalizzazione → Colori → Scegli la tua modalità)

  2. Nelle tue preferenze di Discourse, seleziona schemi di colori diversi per le modalità normale e scura e ricarica la pagina

  3. Ora dovresti vedere lo schema di colori che hai selezionato per la modalità scura avere effetto nell’interfaccia utente (come previsto), ma il tag meta theme-color conterrà il valore del colore header_background dello schema di colori che hai selezionato per la modalità chiara, quando in realtà dovrebbe essere quello della modalità scura.

È un po’ complicato da risolvere perché lato server – che è dove vengono renderizzati tutti i tag meta – non abbiamo il contesto per sapere se il client/browser utilizzerà lo schema di colori della modalità chiara o scura. Includiamo semplicemente le definizioni dei colori sia per lo schema chiaro che per quello scuro e poi il client/browser sceglie quello che corrisponde alle preferenze dell’utente secondo la query multimediale prefers-color-scheme.

Tuttavia, sembra che il tag meta theme-color accetti un attributo media, quindi dovremmo essere in grado di includere un altro tag meta theme-color per lo schema scuro con media impostato su (prefers-color-scheme: dark). Cercherò di risolvere la questione questa settimana.

5 Mi Piace