The crazy thing is that people are suggesting things that should simply be added on as a function of the site. It's 2019, Dark mode is here to stay, why not just add it natively instead of having to install yet another plug-in/add-in/extension?
That is an unusual idea, although a lot of that stuff is good idea. Some of my ideas I wrote in a document how to make a better web browser program, some are similar to this, and some aren't, and some of the stuff in this document I can add.
Some things may be a problem when using multiple text colours in a single document (or to do reverse video when the document does not specify its own colours). But I had already thought of a way to work with that, which is to support indexed colours. (You could specify both an indexed and direct colour for the same property, so that the direct colour is normally used, but the indexed colour helps when needed.)
Of course, I would do it now with the existing CSS rather than the format there, although many things would be using "privileged" CSS codes, not available to document writers but are available to the user. There would also be additional unprivileged codes available, usable by both the user and the document author.
I also thought that many things can be done with "data-" attributes and CSS styles for availability by user stylesheets even if the document author does not use them. (I have used them in HTML documents that actually have no CSS at all, for this reason.)
Because I disagree; user preferences should be a function of the client software rather than a function of the site. (This is especially true when the web page does not have its own CSS, or if it is a plain text file; then the user preferences on the client are used to decide the fonts, colours, etc. The web site shouldn't care about this.)
https://darkreader.org/