browserstrangeness / browserstrangeness.github.io

18 stars 2 forks source link

Hide from EdgeHTML 12-18 "prefers-color-scheme" #7

Open WebMechanic opened 4 years ago

WebMechanic commented 4 years ago

EdgeHTML does not handle prefers-color-scheme so it's safe to wrap things to hide from it.

browserstrangeness commented 4 years ago

Notes on this (for use in media queries): https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme

WebMechanic commented 4 years ago

regarding finger printing? That'd be Firefox not EdgeHTML.

browserstrangeness commented 4 years ago

No according to the docs on the page, the fingerprinting note shows a difference in the way this is handled if a specific firefox fingerprinting flag is enabled. "If you have set privacy.resistFingerprinting to true, prefers-color-scheme preference is overridden to light."

Below the stats on the browsers is listed properly, with Edge only showing up with versions 79+ (Chrome-based Edge)

WebMechanic commented 4 years ago

I know, but this is to exclude EdgeHTML - v12-18 that is. No need for a value check so no fingerprinting concerns.

.not-edgy {color:lime} /* everybody */
@media (prefers-color-scheme) { 
  /* not EdgeHTML, but Gecko, Blink ... WebKit? */
  .not-edgy {color:goldenrod} 
}

It's not EdgeHTML specific, which is a bummer. There are many (older) browsers that don't support this either, so there are many ways to skin a cat: @media (color > 1) would only match recent FF and by this exclude EdgeHTML as well as many more.

However @supports not (-ms-ime-align:auto) is more Microsoft specific I guess.