Isn't that what the accept header is for? Telling the server what content types you're willing to accept, including relevant parameters. Something like:
Accept: text/css; color-blind=trichromatic
Of course no server would recognize this today, since afaik the CSS media type doesn't define any parameters other than perhaps `charset`, but the mechanism is there at least. Also any self respecting web server would just ignore the parameter so it shouldn't break anything, just cost a few more bytes of bandwidth I guess. No need to invent a new header I don't think.