Not surprising to see no mention of "let the system (and by extension, the user) choose the UI colours if at all possible". It wasn't long ago that you'd set your preferences for colours, fonts, etc. in one place and every application would automatically use them and be consistent. Perfect for colourblind and those who have trouble seeing smaller fonts. UI design has gone backwards.
This is pretty ridiculous. The web is such a hack already, and deprecating this make it even worse at UIs. It seems every decision is optimised for branding (e.g. custom form controls), usability be damned.
System colors are in the CSS Color Level 4 working draft updated less than a week ago. What appears to be (durably) deprecated is just a subset of the system color names, with what sounds like a reasonable reason:
Earlier versions of CSS defined several additional system colors. These color keywords have been deprecated, however, as they are insufficient for their original purpose (making website elements look like their native OS counterparts), represent a security risk by making it easier for a webpage to “spoof” a native OS dialog, and increase fingerprinting surface, compromising user privacy.
That explanation seems to be having it both ways. If it's really a spoofing security risk, do they still intend to provide functionality that is sufficient for the original purpose?
> If it's really a spoofing security risk, do they still intend to provide functionality that is sufficient for the original purpose?
The explanation explictly says that the original functionality was a spoofing security risk, but even so was “insufficient for their original purpose (making website elements look like their native OS counterparts)”. So, no, they've fairly explicitly abandoned the original purpose.
They retained functionality has a more limited purpose, which I would describe as providing a vehicle for the user/browser/OS to provide defaults which pages/apps can reference, which when provided by the OS, minimize aesthetic clash and preserve contrast/accessibility between the page/app features and native UI without disguising the nature of the web page/web app, rather than actually mimicing native system UI.
For Internet webpages it makes sense, but for things like Electron apps, the security argument makes no sense since the whole point is that they should look like the native OS.
How would a global preference for colors even work? You can’t just change one color in a palette and expect the design as a whole to still make sense. Imagine a standard thing like a table where you want borders, subtle zebra stripes, focus/selection states, error states, and maybe color coded text for different types of values. Getting that to work at all requires careful coordination of the entire color palette.